This guide provides detailed design and implementation information for deployment of Easy VPN in client mode with the Cisco® Virtual Office.
Please refer to the Cisco Virtual Office overview (http://www.cisco.com/go/cvo) for more information about the solution, its architecture, and all of its components.
Introduction
This document describes deployment of Cisco Virtual Office with Easy VPN in client mode using firewall, Network Address Translation (NAT), Quality of Service (QoS), and IEEE 802.1x.
With Cisco Easy VPN in client mode configuration, the entire LAN behind the Easy VPN client undergoes NAT translation to the IP address that is pushed down by the Easy VPN server. In this mode, there is no need to manage the IP address space in the local LAN behind the remote-access router-the same local IP Dynamic Host Configuration Protocol (DHCP) server pool can be configured on all routers. When Easy VPN runs in client mode, after the IP Security (IPsec) tunnel is established, a loopback interface is dynamically configured on the spoke and assigned an IP address defined in the Easy VPN server's pool. This pool must be routable to the corporate network.
Optionally, you can enable split tunneling on the Easy VPN server, meaning that all noncorporate traffic is sent directly to the Internet. In this case only corporate traffic is routed through the tunnel, thereby lightening the load for the VPN headend.
Platforms and Images
This document provides configuration samples corresponding to the following platforms and images:
• Easy VPN server: Cisco 3845 Integrated Services Router with a VPN encryption module (AIM-VPN/SSL-3)
• Cisco IOS® Software Release 12.4(20)T or higher
Configuration of the Remote-Access Cisco 881W Integrated Services Router
The Easy VPN client configuration provided in this guide is a sample configuration and should be customized to your correct corporate servers.
QoS is necessary to provide a good end-user experience, because it guarantees quality for voice and video while simultaneously sending and receiving email messages, sharing applications, and browsing the web.
Dynamic Virtual Tunnel Interface
Cisco Enhanced Easy VPN is a new method for configuring Easy VPN using Dynamic Virtual Tunnel Interface (DVTI) instead of a cryptography map, which is used by traditional Easy VPN. You can use DVTI on both the Easy VPN server and Easy VPN remote routers. DVTI relies on the virtual tunnel interface to create a virtual access interface for every new Easy VPN tunnel. The configuration of the virtual access interface is cloned from a virtual template configuration. The cloned configuration includes the IPsec configuration and any Cisco IOS Software feature configured on the virtual template interface, such as QoS, NAT, stateful firewall, NetFlow, or access control lists (ACLs).
Using DVTI simplifies the VPN configuration and supports per-session features; in addition, you can apply tunnel-specific features with this protocol, so the deployment and management of the solution is simple.
Please note the following regarding configuration of Easy VPN on the Cisco 881W Cisco Integrated Services Router:
• To add wireless support to the Cisco 881W, refer to the Cisco Virtual Office─Secure Wireless.
• The four Cisco 881W switch ports-FastEthernet0 through FastEthernet3-are configured such that hosts with an 802.1x supplicant (client) gain corporate network access only if they provide proper credentials. Cisco IP phones are automatically detected; they bypass the 802.1x authentication and are put in the voice VLAN. You can use the MAC bypass feature to manually bypass other IP phones. Other devices, with no 802.1x supplicant for guests or spouse and kids, are put in the guest VLAN; these devices have only Internet connectivity.
• For QoS, replace the end-user Internet service provider (ISP) uplink speed in the corresponding configuration line. (You can determine the ISP uplink speed by running a public Internet speed testing tool.)
• The client is configured with a default peer and a backup peer. If the default peer goes down, the backup peer becomes the active one. When the default peer comes back up, it becomes the active server again. If you do not use the default keyword, the backup peer will remain the active server.
!!! Create VLANs
Vlan 20
Vlan 30
!
no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime localtime show-timezone
service timestamps log datetime msec localtime show-timezone
service password-encryption
service linenumber
service sequence-numbers
!
!!!! **** Encrypt the easyvpn passwords and keys with AES for extra security
description *** Corporate-access Data Vlan Interface ***
ip address 192.168.20.1 255.255.255.0
no ip redirects
no ip unreachables
ip pim sparse-dense-mode
ip nat inside
ip inspect firewall in
ip virtual-reassembly
ip tcp adjust-mss 1360
no autostate
crypto ipsec client ezvpn vpnserver inside
service-policy input mark_incoming_traffic
!
interface Vlan30
description *** Guest/Family Vlan Interface ***
ip address 192.168.30.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip inspect firewall in
ip virtual-reassembly
!
interface Virtual-Template1 type tunnel
no ip address
tunnel mode ipsec ipv4
service-policy output shaper
!
no ip http server
no ip http secure-server
!
ip nat inside source list nat_acl interface FastEthernet4 overload
!
ip access-list extended allow_skinny_acl
permit udp any any eq bootps
permit udp any any range bootps bootpc
permit udp any host <corporate-tftpserver-for-callManager> eq tftp
permit udp any host <corporate-tftpserver-backup> eq tftp
permit udp any host <corporate-dns-server> eq domain
permit tcp any any eq 2000
permit udp any any range 24576 24656
permit udp any any eq 5445
permit udp any any range 2326 2373
permit tcp any host <directory-services-server> eq www
permit tcp any host <phone-services-server> eq www
deny ip any any
!
ip access-list extended control_acl
permit udp any eq isakmp any eq isakmp
!
ip access-list extended firewall_acl
permit esp any any
permit udp any any eq isakmp
permit udp any eq isakmp any
permit udp any eq non500-isakmp any
permit udp any any eq bootpc
deny ip any any
!
ip access-list extended nat_acl
permit ip 192.168.1.0 0.0.0.255 any
permit ip 192.168.20.0 0.0.0.255 any
permit ip 192.168.30.0 0.0.0.255 any
!
End
Configuration of the Server
The Easy VPN server configuration using DVTI follows. The example shows Easy VPN configured with split tunneling. The ezvpn_split_tunnel ACL gets pushed to the client when it establishes a tunnel, allowing only corporate traffic through the tunnel, while other traffic goes directly to the internet.
Following is a sample configuration, so you must customize it to your correct corporate servers.
ip local pool easyvpn-pool 10.10.10.130 10.10.10.254
!
ip access-list extended ezvpn_split_tunnel
permit ip 10.0.0.0 0.255.255.255 any
permit ip <corporate-network> 0.255.255.255 any
Deployment Enhancements Recommendations
This section describes the recommended enhancements to the existing configuration.
Public Key Infrastructure
Easy VPN secure tunnel access to the corporate network can be provided using preshared keys (PSKs) as well as a public key infrastructure (PKI) setup. We recommend PKI because it is more secure and provides enhanced device management capabilities.
Use the following configuration to implement PKI on the server side:
crypto isakmp client configuration group easyvpn-group
key <ezvpn-preshared-key>
dns <dns-server>
wins <wins-server>
domain cisco.com
pool easyvpn-pool
acl ezvpn_split_tunnel
save-password
!
crypto isakmp profile easyvpn-group
description PSK group
match identity group easyvpn-group
client authentication list easyVPN
isakmp authorization list easyVPN
client configuration address respond
virtual-template 1
to this:
crypto isakmp client configuration group easyvpn-group
dns <dns-server>
wins <wins-server>
domain cisco.com
pool easyvpn-pool
acl ezvpn_split_tunnel
save-password
!
crypto isakmp profile easyvpn-group
description PKI group
ca trust-point <ezvpn-certificate-server>
match identity group easyvpn-group
client authentication list easyVPN
isakmp authorization list easyVPN
client configuration address respond
virtual-template 1
This change removes the configured preshared key from the client configuration group, and adds the Certificate Authority trustpoint and certificate matching statements in the profile.
You must also configure a PKI trustpoint, as well as a certificate map:
crypto pki trustpoint ezvpn-certificate-server
enrollment mode ra
enrollment url http://ezvpn-certificate-server:80
serial-number
ip-address none
password 7 1107160B
revocation-check none
!
The crypto isakmp policy must be modified to allow authentication other than preshare:
crypto isakmp policy 2
encr 3des
group 2
On the client side, remove the "group <easyvpn-group> key <EzVPNkey>" line from the crypto ipsec client configuration:
crypto ipsec client EasyVPN vpnserver
connect auto
group <easyvpn-group> key <EzVPNkey>
mode client
peer <enter-you-easyvpn-server-ip-here>
username <EzVPNuser> password <EzVPNpassword>
xauth userid mode local
and add an RSA digital certificate where the OU field of the subject name matches the Easy VPN server certificate map:
crypto pki trustpoint ezvpn-certificate-server
enrollment url http://ezvpn-certificate-server:80
serial-number
!!! The OU field MUST be set to the same ezvpn group name.
subject-name OU=easyvpn-group
revocation-check crl
Then all you need to do is enroll the Easy VPN client with the same PKI server as the Easy VPN server.
Management Tunnel
We recommend that you dedicate one tunnel specifically for management, which should be completely separate from the corporate data access tunnels (Figure 1). The main objective is to always have a secure link to the remote device for policy update, image management, and device and user authentication-this setup also prevents the situation where connectivity is lost if policies are changed over the data channel.
Figure 1. Management Network
You need to have DVTI configured instead of traditional Easy VPN-because only DVTI can provide dual-tunnel configuration.
You can establish the management tunnel by adding the following configuration, with preshared keys. You can introduce the same modifications discussed earlier to use PKI instead.
crypto ipsec client ezvpn smg-psk
connect auto
group <group> key <key>
mode client
peer <easyvpn management server>
virtual-interface 1
username <ezvpn-user> password <ezyvpn-password>
xauth userid mode local
Wireless Access
Wireless access greatly enhances the end-user experience by providing freedom of mobility while maintaining the same performance as a wired connection. Extensible Authentication Protocol (EAP) provides a secure two-way centralized authentication between the client and the Cisco Secure Access Control Server (ACS). EAP-Protected EAP (EAP-PEAP) is the recommended, widely used EAP authentication method.
To configure wireless access on the Cisco 881W, refer to the Cisco Virtual Office─Secure Wireless.
Authentication Proxy
Cisco IOS Firewall Authentication Proxy (AuthProxy) is a powerful way to provide an extra level of security by doing a layer 3 end-user authentication. It is useful in many situations such as:
• If a home PC has saved 802.1x credentials, anyone who uses that PC will be able to connect. If AuthProxy is enabled, the end user needs to enter an authorization, authorization, and accounting (AAA) username and password to access corporate servers. By default an ACL is configured on the LAN side interface that blocks all corporate traffic.
• If the router or PC is stolen, then the AuthProxy provides an extra level of authentication.
• If the home network is extended with a switch or hub, all PCs need to authenticate separately, so AuthProxy is effective in this situation.
Troubleshooting
For Easy VPN, use the following commands to verify the connection or configuration:
• debug crypto isakmp: Displays errors during phase 1
• debug crypto ipsec: Displays errors during phase 2
• debug crypto engine: Displays information from the cryptography engine