Cisco AnyConnect VPN is a remote access software to replacement the old Cisco VPN client which it can be downloaded from ASA firewall via web browser. It is a best VPN solution providing the remote access user to use the AnyConnect VPN client to connect to the Cisco ASA firewall and will receive an IP address from a remote access VPN pool, then allowing full access to the internal network.
In this article will show how to configure Cisco AnyConnect remote access VPN on Cisco ASA firewalls IOS version 9.x to allow remote access user connect to internal network remotely.
In this article of configuring Cisco AnyConnect remote access software, it is assumed that:
a. You already have Cisco ASAv on GNS3 VM up and running. In case that you don’t, please follow this link. Configuring Cisco ASAv QCOW2 with GNS3 VM
b. You have already downloaded Cisco AnyConnect remote access software (anyconnect-win-4.3.05017-k9.pkg) PKG file from the Cisco website. Cisco service contract is needed to be able to download it.
3. Lab Scenario Set up
To demonstrate configuring Cisco AnyConnect remote access VPN on Cisco ASA firewalls IOS version 9.x, we will set up a GNS3 lab as the following diagram.
There is a Cisco ASAv firewall virtual server and there is one Cisco router act as client in the internal network connected to ASAv firewall virtual server interface inside. Another ASAv firewall virtual server interface is outside interface connect to the real physical computer via GNS3 Cloud. So, we use the real physical computer as the remote access client connect to router in the local network. Also, the Lab will use IP subnet 172.16.0.0/24 for assign for remote access clients. The following is the IP configuration of each device.
On Cisco ASAv firewall virtual server
# int g0/0 no sh ip add 10.0.0.1 255.255.255.0 security-level 100 nameif inside # int g0/1 no sh ip add 192.168.229.131 255.255.255.0 security-level 0 nameif outside # policy-map global_policy class inspection_default inspect icmp inspect icmp error
On Cisco router
# int f0/0 no sh ip add 100.100.100.2 255.255.255.252 # ip route 0.0.0.0 0.0.0.0 10.0.0.1
4. Enable AnyConnect SSL Connections
The first thing to do of configuring Cisco AnyConnect remote access vpn is to copy AnyConnect client package into the firewall via TFTP server.
# copy tftp://192.168.229.1/anyconnect-win-4.3.05017-k9.pkg flash # show flash:
After the Cisco AnyConnect remote access software has been copied into ASAv firewall virtual server, we need to enable the WebVPN on on the outside interface of ASAv firewall virtual server and specify the AnyConnect image to be downloaded via web browser by remote access users.
# webvpn enable outside anyconnect image disk0:/anyconnect-win-4.3.05017-k9.pkg anyconnect enable tunnel-group-list enable # http redirect outside 80
5. Create a Group Policy
We need to configure a pool with IP addresses for ASAv firewall virtual server to assign IP addresses to all remote access users that connect with Cisco AnyConnect remote access VPN client.
ip local pool Pool-RemoteAcessVPN 172.16.0.0-172.16.0.10 mask 255.255.255.0
By default after remote access user is connected successfully, all traffic will be sent through the tunnel and they cannot access to any internet websites. To allow remote access users to access the Internet while they are connected with Cisco AnyConnect remote access software, we need to configure split tunneling. We need to create an access-list that specifies what networks we want to reach through the tunnel as the following.
# access-list ACL-RemoteAcessVPN standard permit 10.0.0.0 255.255.255.0
Cisco AnyConnect remote access vpn need a Group Policies to specify the parameters that are applied to clients when they connect. In our case now, we’ll create a group policy named “GP-RemoteAcessVPN”.
# group-policy GP-RemoteAcessVPN internal # group-policy GP-RemoteAcessVPN attributes wins-server none dns-server value 10.0.0.2 10.0.0.3 vpn-idle-timeout 86400 vpn-session-timeout 86400 vpn-tunnel-protocol ssl-client ssl-clientless split-tunnel-policy tunnelspecified split-tunnel-network-list value ACL-RemoteAcessVPN default-domain value techspacekh.com webvpn anyconnect mtu 1300 anyconnect ssl keepalive 20 anyconnect ask enable default anyconnect
6. Create Tunnel Group and Connection Profile
A connection profile which is also known as a tunnel group is needed when the remote access vpn clients connect to the ASAv firewall virtual server. This tunnel group is used to define the specific connection parameters we want our remote access VPN clients to use.
The remote access clients will need to be assigned an IP address during login, so we’ll also set up a DHCP pool for them.
# tunnel-group TechSpaceKH type remote-access # tunnel-group TechSpaceKH general-attributes address-pool Pool-RemoteAcessVPN default-group-policy GP-RemoteAcessVPN # tunnel-group TechSpaceKH webvpn-attributes group-alias TechSpaceKH enable
7. Create User Accounts and Testing
We need to create the remote access vpn user account on ASAv firewall virtual server to allow them access to the internal network. Below user will can only use AnyConnect remote access VPN and cannot login the ASAv firewall virtual server.
# username netadmin password P@ssw0rd01 privilege 15 # username netadmin attributes vpn-simultaneous-logins 1 service-type remote-access # wr
All the configuration for Cisco AnyConnect remote access VPN is now in ready on the ASAv firewall virtual server. Now we can start testing by accessing to IP address of the outside interface on ASAv firewall virtual server which is our case now is 192.168.229.131 and download install the Cisco AnyConnect remote access software to install on the client computer.
After finished installing the Cisco AnyConnect remote access software on the client computer, we can start the application and enter the IP address of the ASAv firewall virtual server, the click “Connect”.
Enter the username and password of the Cisco AnyConnect remote access VPN account that we create in the above step, then click “OK” to connect.
The remote access VPN client now should be able to successfully connected to the ASAv firewall virtual server.
We can verify if the remote access VPN client cannot access to the internet network or not by test ping to the router IP address with is “10.0.0.2” and we should get the successful ping result as the below.
C:\Users\techspacekh>ping 10.0.0.2 Pinging 10.0.0.2 with 32 bytes of data: Reply from 10.0.0.2: bytes=32 time=22ms TTL=255 Reply from 10.0.0.2: bytes=32 time=11ms TTL=255 Reply from 10.0.0.2: bytes=32 time=22ms TTL=255 Reply from 10.0.0.2: bytes=32 time=23ms TTL=255
8. Cisco AnyConnect Remote Access VPN With Dynamic NAT
Normal, Dynamic NAT is configured on Cisco ASA firewall appliance to provide internet access to all computers within a specific subnet in the Local Area Network (LAN). In this case, we need to configure NAT Exemption to exclude the remote access VPN subnet of Cisco AnyConnect remote access software from Dynamic NAT, otherwise the remote access VPN client cannot access to the resource within the internal network.
# object-group network Obj-RemoteAcessVPN network-object 172.16.0.0 255.255.255.0 # nat (inside,outside) 1 source static any any destination static Obj-RemoteAcessVPN Obj-RemoteAcessVPN no-proxy-arp route-lookup # nat (inside,outside) 2 source dynamic any interface
Now you should be able to configure Cisco AnyConnect Remote Access VPN on Cisco ASA firewall appliance with IOS version 9.x. It is recommended that you try it by your own self using GNS3 MV to verify your understanding. If you have any questions or suggestions you can always leave your comments below. I will try all of my best to review and reply them.