PermitANY
Cisco ASAConfig987 downloads

Cisco ASA AnyConnect SSL VPN

Configure Cisco AnyConnect SSL VPN on an ASA for remote user access — the most common remote access VPN solution in enterprise environments.

↓ example.txt

What is it?

Cisco AnyConnect is the industry-standard SSL VPN client for remote access. Users install the AnyConnect client on their laptop/phone, connect to the ASA's public IP, authenticate, and get a virtual IP from the VPN pool — giving them access to internal corporate resources as if they were physically in the office. AnyConnect uses SSL/TLS (port 443), which means it works through almost any firewall or hotel/airport network without needing special UDP ports open.

When to use

  • ·Employees working from home or traveling who need access to internal resources
  • ·Contractors or vendors who need temporary, controlled access to specific systems
  • ·When you need per-user authentication with LDAP/AD integration
  • ·When users are behind restrictive firewalls that block IPsec — AnyConnect uses HTTPS (443)

When NOT to use

  • ·Office-to-office connectivity — use site-to-site IPsec instead
  • ·When all users are already on premises — unnecessary overhead
  • ·Large scale (500+ users) on older ASA hardware — check the platform's connection limit

How it compares

vs Site-to-Site IPsecSite-to-site connects entire networks permanently. AnyConnect connects individual users on demand. Use both: site-to-site for branch offices, AnyConnect for remote workers.
vs Full tunnel vs Split tunnelFull tunnel: all user internet traffic goes through the ASA (you can inspect and filter it, but it increases ASA load). Split tunnel: only corporate traffic uses VPN, internet goes direct (better performance, less ASA load, but you lose visibility on user internet traffic).
vs IKEv2 IPsec (native client)Windows/Mac have built-in IKEv2 clients — no software to install. AnyConnect requires client software but provides better features (DART diagnostics, posture checking, split DNS). Most enterprises use AnyConnect for its manageability.

Prerequisites

  • →AnyConnect license on the ASA (Essentials or Premium — check 'show version')
  • →AnyConnect image (.pkg file) uploaded to the ASA flash: 'show flash' to verify
  • →SSL certificate on the outside interface — self-signed works but users will see a certificate warning; use a trusted cert in production
  • →NAT exemption configured so VPN client traffic is not NATted when going to internal resources
  • →Authentication server ready (LDAP/AD for production, local users for testing)

Config Generator

Full tunnel: all user traffic goes through VPN. Split tunnel: only corporate traffic uses VPN.

Corporate networks to tunnel — only needed if split tunnel is enabled

Local user for testing — in production use LDAP/RADIUS

Filename of the .pkg already uploaded to ASA flash — run 'show flash' to find it. Required for AnyConnect to work.

Verification commands

show vpn-sessiondb anyconnect

Show all active AnyConnect sessions with user, IP, bytes transferred

ExpectedLists connected users with their assigned VPN IP, duration, and data stats

show webvpn anyconnect

Verify AnyConnect is enabled and the correct image is loaded

ExpectedShows enabled interfaces and the AnyConnect package version

show ip local pool

Verify the IP pool and how many addresses are in use

ExpectedShows pool range, available addresses, and how many are currently assigned

Debug commands

debug webvpn anyconnect 255

Debug AnyConnect connection attempts — shows authentication and tunnel setup

WarningVerbose. Use only briefly and run 'no debug all' immediately after.

Common mistakes & fixes

SymptomAnyConnect client cannot connect — 'Unable to contact server'
CauseSSL VPN not enabled on outside interface, certificate error, or port 443 blocked by ISP
FixVerify 'webvpn enable outside' is configured. Check the SSL certificate. Try connecting to the ASA IP directly in a browser — you should see the AnyConnect web page.
SymptomAuthentication fails
CauseWrong tunnel group selected, AAA server unreachable, or local user doesn't have VPN attributes
FixVerify the tunnel group name matches what the client is using. Check 'show aaa-server' if using LDAP. For local users, verify 'service-type remote-access' is set.
SymptomConnected but cannot reach internal resources
CauseNAT exemption missing, split tunnel ACL too narrow, or routing issue on internal servers
FixCheck 'show nat' — VPN pool should have a NAT exemption. Verify the VPN client's assigned IP can reach the destination. Check internal routing to the VPN pool subnet.
SymptomVPN connects but internet doesn't work (full tunnel mode)
CauseASA is not NATting VPN client traffic going to the internet, or DNS not resolving
FixAdd a PAT rule for VPN clients: 'nat (inside,outside) after-auto source dynamic VPN_POOL interface'. Verify DNS servers are reachable from the VPN client.

Further learning

Recommended books to go deeper on this topic.

Cisco ASA: All-in-One Next-Gen Firewall, IPS, and VPN Services

Jazib Frahim, Omar Santos, Andrew Ossipov · Cisco Press · AnyConnect SSL VPN — tunnel groups, group policies, client profiles

Related configs