This document describes how to set up a Cisco IOS® router to perform Secure Sockets Layer (SSL) VPN on a stick with Cisco AnyConnect VPN client using Cisco Configuration Professional (CCP). This setup applies to a specific case where AnyConnect on the Router is configured with split tunneling, and it allows the client secure access to corporate resources and also provides unsecured access to the Internet.
SSL VPN or WebVPN technology is supported on most router platforms such as the Integrated Services Router (ISR) Generation 1, Generation 2 (Refer ISR Products for the list of ISR products). Customers are advised to refer the feature navigator guide in order to obtain a complete list of Cisco IOS platforms that support the AnyConnect VPN (SSL) client (or any other feature/ technology for that matter). This information is available in the Feature Navigator.
CCP is a GUI-based device management tool that allows you to configure Cisco IOS-based access routers. CCP is installed on a PC and simplifies router, security, unified communications, wireless, WAN, and basic LAN configurations through GUI-based, easy-to-use wizards.
Ensure that you meet these requirements before you attempt this configuration:
Web Browser with SUN JRE Version 1.4 or later or an ActiveX controlled browser
Local administrative privileges on the client
Cisco IOS Router with Advanced Security image -12.4(20)T or later
Cisco Configuration Professional Version 1.3 or later
If the Cisco Configuration Professional is not already loaded on your computer, you can obtain a free copy of the software and install the .exe (cisco-config-pro-k9-pkg-2_8-en.zip) file from Software Download. For detailed information on the installation and configuration of CCP, refer to Cisco Configuration Professional Quick Start Guide.
The information in this document is based on these software and hardware versions:
Cisco IOS Series CISCO2811 Router with Software Version 15.1(4)M8
CCP Version 2.8
Cisco AnyConnect SSL VPN Client Version for Windows 3.1.05160
The information in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Download a copy of the Anyconnect VPN .pkg file to your management PC.
In this section, you are presented with the steps necessary in order to configure the features described in this document. This example configuration uses the CCP Wizard in order to enable the operation of the Anyconnect VPN on the IOS router.
Complete these steps in order to configure Anyconnect VPN on the Cisco IOS router:
Set up the CCP and discover the Cisco IOS router.
Install and enable the Anyconnect VPN Software on the Cisco IOS Router.
Configure a SSL VPN Context and SSL VPN Gateway with the CCP Wizard.
Configure the User Database for Anyconnect VPN Users.
Configure the AnyConnect Full Tunnel.
Each of these steps is described in more detail in the next sections of this document.
Step 1: Set up the CCP and Discover the Cisco IOS Router
Click Router Status on the CCP window in order to view the router device information.
Click Configure in order to begin the configuration.
Step 2: Install and Enable the Anyconnect VPN Software on the IOS Router
Complete these steps in order to install and enable the Anyconnect VPN software on the IOS router:
Open the CCP application, navigate to Configure > Security, and then click VPN.
Expand SSLVPN, and choose Packages.
Ensure that the SSL VPN Feature license is installed on the device, otherwise you might get the warning shown in the previous image. Refer Feature License link in order to view the Ordering Information section.
In the Cisco SSLVPN client software, click Browse.
The Select SVC location dialog box appears.
Specify the location of the Cisco Anyconnect VPN client image (choose either of the two options available).
If the Cisco Anyconnect VPN client image is in the router flash, click the Router File System radio button dialog box, and click Browse.
If the Cisco Anyconnect VPN client image is not in the router flash, click the My Computer radio dialog box, and click Browse.
Select the client image that you want to install and click OK.
Once you specify the location of the client image, click Install.
Click Yes and then click OK.
Once the client image is successfully installed, you receive the success message. Click OK in order to continue.
Once installed, view the installed package details under Security > VPN > SSL VPN > Packages.
Step 3: Configure a SSLVPN Context and SSLVPN Gateway with the CCP Wizard
Complete these steps in order to configure a SSL VPN context and the SSL VPN gateway:
Go to Configure > Security > VPN, and then click SSL VPN.
Click the SSL VPN Manager and then click the Create SSL VPN tab.
Follow the prompts in order to enable Authentication, Authorization, and Accounting (AAA) if it is not already enabled.
Check the Create a New SSL VPN radio button and then click Launch the selected task.
The SSL VPN Wizard dialog box appears.
Note: If the SSL VPN is configured under the interface through which Cisco CP is invoked, it might cause Cisco CP to disconnet from the router. As a better practice, you can access the Cisco IOS router via CCP from the internal interface (in this example, 10.106.44.141) or any other interface, while the SSL VPN is configured under the external interface FastEthernet0/0 (in this example, 10.105.130.149).
Enter the IP address of the new SSL VPN gateway and enter a unique name for this SSL VPN context.
You can create different SSL VPN contexts for the same IP address (SSL VPN gateway), but each name must be unique. This example uses this IP address: https://10.105.130.149/
Click Next, and continue to the next section.
Step 4: Configure the User Database for Anyconnect VPN Users
For authentication, you can use an AAA Server, local users, or both. This configuration example uses locally-created users for authentication.
Complete these steps in order to configure the user database for Anyconnect VPN users:
After you complete Step 3, click the Locally on this router radio button located in the SSL VPN Wizard User Authentication dialog box.
This dialog box allows you to add users to the local database.
Click Add and enter user information.
Click OK and add additional users as necessary.
After you add the necessary users, click Next, and continue to the next section.
Step 5. Configure the Anyconnect Tunnel
Complete these steps in order to configure the Anyconnect tunnel and pool of IP addresses for the users:
Because Anyconnect provides the direct access to corporate intranet resources, the URL list is not needed in order to configure. Click the Next button located in the Configure Intranet Websites dialog box.
Verify that the Enable Full Tunnel check box is checked.
Create a pool of IP addresses that clients of this SSL VPN context can use.
The pool of addresses must correspond to addresses available and routable on your intranet.
Click the ellipses (...) next to the IP Address Pool field, and choose Create a new IP Pool.
In the Add IP Local Pool dialog box, enter a namefor the pool (for example, new), and click Add.
In the Add IP address range dialog box, enter the address pool range for the Anyconnect VPN clients and click OK.
Note: Before Version12.4(20)T, the IP address pool should be in a range of an interface directly connected to the router. If you want to use a different pool range, you can create a loopback address associated with your new pool in order to satisfy this requirement.
Configure advanced tunnel options, such as split tunneling, split DNS, browser proxy settings, and Domain Name System (DNS) and Windows Internet Name Service (WINS) servers.
Note: Cisco recommends that you configure at least DNS and WINS servers.
Complete these steps in order to configure advanced tunnel options, such as split tunneling:
Click the Advanced Tunnel Options button.
Click the DNS and WINS Servers tab and enter the primary IP addresses for the DNS and WINS servers.
Click the Split Tunneling tab in order to configure split tunneling.
The ability to transmit both secured and unsecured traffic on the same interface is known as split tunneling. Split tunneling requires that you specify exactly which traffic is secured and what the destination of that traffic is, so that only the specified traffic enters the tunnel while the rest is transmitted unencrypted across the public network (Internet).
In the example, split tunnel is configured in order to include traffic.
After you configure the necessary options, click Next. Choose the appropriate SSL VPN Tunnel Interface option and click Next.
Customize the SSL VPN Portal Page or select the default values.
The Customize SSL VPN Portal Page allows you to customize how the SSL VPN Portal Page appears to your customers.
After you customize the SSL VPN portal page, click Next.
Click Deliver in order to save your configuration and then click OK.
The SSL VPN Wizard submits your commands to the router.
Basically these are the commands that are delivered from CCP to the router:
aaa new-model aaa authorization exec default local aaa authentication login default local line vty 0 4 login authentication default authorization exec default exit
aaa authentication login ciscocp_vpn_xauth_ml_1 local ip local pool IP_Pool 192.168.1.10 192.168.1.15 interface Virtual-Template1 exit default interface Virtual-Template1 interface Virtual-Template1 no shutdown ip unnumbered FastEthernet0/0 exit webvpn gateway gateway_1 ip address 10.105.130.149 port 443 http-redirect port 80 inservice ssl trustpoint TP-self-signed-1878971148 exit webvpn context Test aaa authentication list ciscocp_vpn_xauth_ml_1 gateway gateway_1 virtual-template 1 max-users 1000 inservice secondary-color white title-color #FF9900 text-color black policy group policy_1 svc split include 10.106.44.0 255.255.255.0 svc keep-client-installed functions svc-enabled svc address-pool IP_Pool netmask 255.255.255.255 svc default-domain cisco.com svc dns-server primary 10.106.44.10 svc wins-server primary 10.106.44.12 exit default-group-policy policy_1 exit ! IP address / user account command username user1 privilege 1 secret 0 *********
Note: If you receive an error message, the SSL VPN license might be incorrect.
Complete these steps in order to correct a license issue:
Go to Configure > Security > VPN, and then click SSL VPN.
Click SSL VPN Manager and then click the Edit SSL VPN tab in the right-hand side.
Highlight your newly created context and click the Edit button.
In the Maximum Number of Users field, enter the correct number of users for your license.
Click OK, and then click Deliver.
The commands are written to the configuration file.
CCP creates these command-line configurations:
Router#show running-config Building configuration...
Current configuration : 3590 bytes ! ! Last configuration change at 06:30:34 UTC Sat Nov 29 2014 version 15.1 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname Router ! boot-start-marker boot-end-marker ! ! ! aaa new-model ! ! aaa authentication login default local aaa authentication login ciscocp_vpn_xauth_ml_1 local aaa authorization exec default local ! ! ! ! ! aaa session-id common ! ! dot11 syslog ip source-route ! ! ip cef ! ! ! ! multilink bundle-name authenticated ! ! crypto pki token default removal timeout 0 ! crypto pki trustpoint TP-self-signed-1878971148 enrollment selfsigned subject-name cn=IOS-Self-Signed-Certificate-1878971148 revocation-check none rsakeypair TP-self-signed-1878971148 ! ! crypto pki certificate chain TP-self-signed-1878971148 certificate self-signed 01 3082022B 30820194 A0030201 02020101 300D0609 2A864886 F70D0101 05050030 31312F30 2D060355 04031326 494F532D 53656C66 2D536967 6E65642D 43657274 69666963 6174652D 31383738 39373131 3438301E 170D3134 31313239 30353537 32355A17 0D323030 31303130 30303030 305A3031 312F302D 06035504 03132649 4F532D53 656C662D 5369676E 65642D43 65727469 66696361 74652D31 38373839 37313134 3830819F 300D0609 2A864886 F70D0101 01050003 818D0030 81890281 8100C77D F135BBCA 8A84DE7D A3330085 3694EC3B 9BAE2F94 AF19CAEC 89A4AA6A DC098301 AC996CA7 BE1C6AB2 BF4745F4 911E9812 97BC1A1F 15D1AFD0 384878C6 8781D8A7 3BFCFCFF 5626EF1A BCF73C78 B07E4587 710B6F18 B4E0017F 807606EA 03E398B0 A2DE06B6 2D39B122 32D82E1B 7AE55554 63D8BDD6 222CF884 C9D5570D 74BD0203 010001A3 53305130 0F060355 1D130101 FF040530 030101FF 301F0603 551D2304 18301680 1455F1A2 00753895 04EB04BE 13273EEF D48D86C6 84301D06 03551D0E 04160414 55F1A200 75389504 EB04BE13 273EEFD4 8D86C684 300D0609 2A864886 F70D0101 05050003 81810013 B72A05AE E7816FB7 377FC3B3 8EE7D2AC 9211B78D 8B6A604A DA7D571F 6E083B78 279F0EB1 95B5ADC8 79572616 53B52B90 1BF1A39B 46F8C88C 3335F498 E2CF5ABC 5D942A23 7DE35239 04D509EF 88E60201 8B111BD6 FE82E159 67E05A62 03BFBCA6 E99EA1CE DA52F66A 8CE502C1 B9FAA488 8A5B022A 3003F718 E8E1C6CC 2EB03C quit ! ! license udi pid CISCO2811 sn FHK1404F3X2 username username privilege 15 secret 5 $1$hPnV$zwQ6MMwLA7HUC/NJRCMyt1 username user1 secret 5 $1$X3Vu$h5/xHipon7Fym16G2SCrz1 ! redundancy ! ! ! ! ! ! ! ! ! interface FastEthernet0/0 ip address dhcp duplex auto speed auto ! interface FastEthernet0/1 ip address dhcp duplex auto speed auto ! interface Virtual-Template1 ip unnumbered FastEthernet0/0 ! ip local pool IP_Pool 192.168.1.10 192.168.1.15 ip forward-protocol nd ip http server ip http authentication local ip http secure-server ! ! ! ! ! ! ! ! ! ! control-plane ! ! ! line con 0 line aux 0 line vty 0 4 transport input all ! scheduler allocate 20000 1000 ! webvpn gateway gateway_1 ip address 10.105.130.149 port 443 http-redirect port 80 ssl trustpoint TP-self-signed-1878971148 inservice ! webvpn install svc flash:/webvpn/anyconnect-win-3.1.05160-k9.pkg sequence 1 ! webvpn context Test secondary-color white title-color #FF9900 text-color black ssl authenticate verify all ! ! policy group policy_1 functions svc-enabled svc address-pool "IP_Pool" netmask 255.255.255.255 svc default-domain "cisco.com" svc keep-client-installed svc split include 10.106.44.0 255.255.255.0 svc dns-server primary 10.106.44.10 svc wins-server primary 10.106.44.12 virtual-template 1 default-group-policy policy_1 aaa authentication list ciscocp_vpn_xauth_ml_1 gateway gateway_1 inservice ! end
Router#sh run int Virtual-Access2 Building configuration...
Current configuration : 104 bytes ! interface Virtual-Access2 description ***Internally created by SSLVPN context Test*** mtu 1406 end
Establish the AnyConnect VPN Client Connection
Complete these steps in order to establish an AnyConnect VPN connection with the router.
Enter the URL or IP address of the router WebVPN interface in your web browser in the format as shown.
https://<IP address of the Router WebVPN interface>
Enter your user name and password.
Click Start in order to initiate the Anyconnect VPN Tunnel Connection.
This window appears before the SSL VPN connection is established.
Note: ActiveX software must be installed on your computer before you download the Anyconnect VPN.
Once the connection is successfully established, click the Statistics tab.
The Statistics tab displays information about the SSL connection.
The Statistics Details dialog box displays detailed connection statistical information, which includes the tunnel state and mode, the duration of the connection, the number of bytes and frames sent and received, address information, transport information, and the Cisco Secure Desktop posture assessment status. The Reset button on this tab resets the transmission statistics. The Export Stats button allows you to export the current statistics, interface, and routing table to a text file. The AnyConnect client prompts you for a name and location for the text file. The default name is AnyConnect-ExportedStats.txt and the default location is on the desktop.
Check the route details (based on split tunnel configuration) under the Route Details tab.
In the Cisco AnyConnect VPN Client dialog box, click the About tab in order to display the Cisco AnyConnect VPN Client Version information.
Use this section in order to confirm that your configuration works properly.
Several show commands are associated with WebVPN. You can execute these commands at the CLI in order to show statistics and other information. For detailed information about show commands, refer to Verifying WebVPN Configuration.
show webvnp session context all
Router#show webvpn session context all WebVPN context name: Test Client_Login_Name Client_IP_Address No_of_Connections Created Last_Used user1 10.106.42.10 1 00:01:22 00:00:01
show webvpn session user user1 context Test
Router#show webvpn session user user1 context Test detail Session Type : Full Tunnel Client User-Agent : AnyConnect Windows 3.1.05160
Username : user1 Num Connection : 1 Public IP : 10.106.42.10 VRF Name : None Context : Test Policy Group : policy_1 Last-Used : 00:00:00 Created : *06:33:24.505 UTC Sat Nov 29 2014 Session Timeout : Disabled Idle Timeout : 2100 DNS primary serve : 10.106.44.10 WINS primary s : 10.106.44.12 DPD GW Timeout : 300 DPD CL Timeout : 300 Address Pool : IP_Pool MTU Size : 1199 Rekey Time : 3600 Rekey Method : Lease Duration : 43200 Tunnel IP : 192.168.1.10 Netmask : 255.255.255.255 Rx IP Packets : 0 Tx IP Packets : 617 CSTP Started : 00:01:22 Last-Received : 00:00:00 CSTP DPD-Req sent : 0 Virtual Access : 2 Msie-ProxyServer : None Msie-PxyPolicy : Disabled Msie-Exception : Split Include : 10.106.44.0 255.255.255.0 Client Ports : 60304
Detail Session Statistics for User:: user1 ----------------------------------
Router#show webvpn stats User session statistics: Active user sessions : 1 AAA pending reqs : 0 Peak user sessions : 1 Peak time : 00:02:29 Active user TCP conns : 1 Terminated user sessions : 0 Session alloc failures : 0 Authentication failures : 0 VPN session timeout : 0 VPN idle timeout : 0 User cleared VPN sessions: 0 Exceeded ctx user limit : 0 Exceeded total user limit: 0 Client process rcvd pkts : 57 Server process rcvd pkts : 0 Client process sent pkts : 8134 Server process sent pkts : 0 Client CEF received pkts : 664 Server CEF received pkts : 0 Client CEF rcv punt pkts : 29 Server CEF rcv punt pkts : 0 Client CEF sent pkts : 0 Server CEF sent pkts : 0 Client CEF sent punt pkts: 0 Server CEF sent punt pkts: 0
SSLVPN appl bufs inuse : 0 SSLVPN eng bufs inuse : 0 Active server TCP conns : 0
Server Client Packets in : 0 0 Packets out : 0 0 Bytes in : 0 0 Bytes out : 0 0
ACL statistics: Permit web request : 0 Deny web request : 0 Permit cifs request : 0 Deny cifs request : 0 Permit without ACL : 0 Deny without match ACL : 0 Permit with match ACL : 0 Deny with match ACL : 0
Tunnel Statistics: Active connections : 1 Peak connections : 1 Peak time : 00:01:44 Connect succeed : 2 Connect failed : 0 Reconnect succeed : 1 Reconnect failed : 0 DPD timeout : 0 Client in CSTP frames : 671 in CSTP control : 1 in CSTP data : 670 in CSTP bytes : 50002 out CSTP frames : 0 out CSTP control : 0 out CSTP data : 0 out CSTP bytes : 0 in CDTP frames : 0 in CDTP control : 0 in CDTP data : 0 in CDTP bytes : 0 out CDTP frames : 0 out CDTP control : 0 out CDTP data : 0 out CDTP bytes : 0 cef in CSTP data frames : 0 cef in CSTP data bytes : 0 cef out CSTP data frames : 0 cef out CSTP data bytes : 0 cef in CDTP data frames : 0 cef in CDTP data bytes : 0 cef out CDTP data frames : 0 cef out CDTP data bytes : 0 Server In IP pkts : 0 In IP bytes : 0 Out IP pkts : 670 Out IP bytes : 44587
In CCP, choose Monitoring > Security > VPN Status > SSL VPN (All Contexts) in order to view the current SSL VPN user lists in the router.
This section provides information you can use in order to troubleshoot your configuration.
Several clear commands are associated with WebVPN. For detailed information about these commands, refer to Using WebVPN Clear Commands.
Several debug commands are associated with WebVPN. For detailed information about these commands, refer to Using WebVPN Debug Commands.