- A+
下面将了解如何使用anyconnect客户端进行远程访问VPN。Anyconnect是旧Cisco VPN客户端的替代品,支持SSL和IKEv2 IPsec。在SSL方面,ASA提供两种SSL VPN模式:
- 无客户端WebVPN
- AnyConnect VPN
在无客户端WEBVPN被安装在用户的计算机上的方法不需要VPN客户端。您只需打开Web浏览器,输入ASA的IP地址,即可通过Web门户访问。您只能访问许多应用程序,例如:
- 内部网站(HTTP和HTTPS)
- Web应用程序
- Windows文件共享
- 电子邮件服务器(POP3,IMAP,SMTP)
- Microsoft Outlook Web Access
有没有完整的网络访问,当您使用无客户端WEBVPN。
Anyconnect VPN提供完全的网络访问。远程用户将使用anyconnect客户端连接到ASA,并将从VPN池接收IP地址,从而允许完全访问网络。
在本课中,我们将仅使用无客户端WebVPN来安装anyconnect VPN客户端。远程用户将打开Web浏览器,输入ASA的IP地址,然后它将自动下载anyconnect VPN客户端并建立连接。这是我们将使用的拓扑:

上面我们有ASA防火墙,有两个安全区域:内部和外部。远程用户位于外部某处,希望使用Anyconnect VPN客户端进行远程访问。仅使用左侧的R1,以便我们可以测试远程用户是否可以访问网络。我们来看看配置吧!
ASA配置
远程用户将能够从ASA下载anyconnect VPN客户端,因此我们需要将其存储在某处。每个操作系统都有一个不同的安装文件,我们需要将它们放在ASA的闪存中:
ASA1# show flash:
--#-- --length-- -----date/time------ path
10 8192 Dec 02 2014 19:09:34 log
18 8192 Dec 02 2014 19:09:44 crypto_archive
106 25088760 Aug 04 2014 13:59:20 asdm-731.bin
109 27113472 Aug 25 2014 13:10:56 asa915-k8.bin
112 31522773 Aug 09 2014 15:01:52 anyconnect-win-3.1.03103-k9.pkg
113 9993060 Aug 09 2014 15:06:50 anyconnect-linux-3.1.03103-k9.pkg
114 11293375 Aug 09 2014 15:08:34 anyconnect-macosx-i386-3.1.03103-k9.pkg
255426560 bytes total (149487616 bytes free)
每个操作系统都有一个不同的PKG文件。上面你可以看到我有一个用于Windows,Linux和Mac OS X.如果你还没有,请确保将它们复制到ASA的闪存中。
我们的下一步是启用无客户端WebVPN:
ASA1(config)# webvpn
现在我们指定要使用的anyconnect PKG文件:
ASA1(config-webvpn)# anyconnect image flash:/anyconnect-win-3.1.03103-k9.pkg
我只是为Windows指定了anyconnect客户端,但如果您想支持Linux或Mac OS X用户,请务必在此处添加它们。现在我们可以在外部接口上启用客户端WebVPN:
ASA1(config-webvpn)# enable outside
INFO: WebVPN and DTLS are enabled on 'OUTSIDE'.
这样可以在外部接口上启用WebVPN。我们还需要启用anyconnect:
ASA1(config-webvpn)# anyconnect enable
当您在外部接口上有入站访问列表时,来自SSL WebVPN的所有解密流量必须与入站访问列表匹配。您可以为解密的流量创建一些permit语句,也可以告诉ASA让此流量绕过访问列表:
ASA1(config)# sysopt connection permit-vpn
当远程用户连接到我们的WebVPN时,他们必须使用HTTPS。以下选项不是必需的,但有用的是,只要有人通过HTTP访问ASA,它们就会被重定向到HTTPS:
ASA1(config)# http redirect OUTSIDE 80
ASA将为连接anyconnect VPN客户端的所有远程用户分配IP地址。我们将为此配置一个具有IP地址的池:
ASA1(config)# ip local pool VPN_POOL 192.168.10.100-192.168.10.200 mask 255.255.255.0
远程用户将从上面的池中获取IP地址,我们将使用IP地址范围192.168.10.100 - 200。
默认情况下,一旦远程用户连接,所有流量都将通过隧道发送。如果要在远程用户连接后允许远程用户访问Internet,则需要配置拆分隧道。我们将配置一个访问列表,指定我们希望通过隧道访问哪些网络:
ASA1(config)# access-list SPLIT_TUNNEL standard permit 192.168.1.0 255.255.255.0
这意味着SSL VPN隧道仅用于到达192.168.1.0 / 24网络。现在我们可以配置anyconnect组策略:
ASA1(config)# group-policy ANYCONNECT_POLICY internal
ASA1(config)# group-policy ANYCONNECT_POLICY attributes
ASA1(config-group-policy)# vpn-tunnel-protocol ssl-client ssl-clientless
ASA1(config-group-policy)# split-tunnel-policy tunnelspecified
ASA1(config-group-policy)# split-tunnel-network-list value SPLIT_TUNNEL
ASA1(config-group-policy)# dns-server value 8.8.8.8
ASA1(config-group-policy)# webvpn
ASA1(config-group-webvpn)# anyconnect keep-installer installed
ASA1(config-group-webvpn)# anyconnect ask none default anyconnect
ASA1(config-group-webvpn)# anyconnect dpd-interval client 30
在组策略配置之后,我们必须创建一个隧道组,它将组策略和VPN池绑定在一起:
ASA1(config)# tunnel-group MY_TUNNEL type remote-access
ASA1(config)# tunnel-group MY_TUNNEL general-attributes
ASA1(config-tunnel-general)# default-group-policy ANYCONNECT_POLICY
ASA1(config-tunnel-general)# address-pool VPN_POOL
ASA1(config-tunnel-general)# exit
当远程用户连接时,ASA将向远程用户显示组名,我们可以像这样指定组名:
ASA1(config)# tunnel-group MY_TUNNEL webvpn-attributes
ASA1(config-tunnel-webvpn)# group-alias SSL_USERS enable
您将看到,当远程用户连接时,ASA将显示组名“SSL_USERS”。如果您有多个隧道组,则远程用户应该能够选择某个隧道组:
ASA1(config)# webvpn
ASA1(config-webvpn)# tunnel-group-list enable
现在我们可以创建一个用户帐户:
ASA1(config)# username SSL_USER password MY_PASSWORD
我们需要告诉ASA该用户帐户是否可以访问网络:
ASA1(config)# username SSL_USER attributes
ASA1(config-username)# service-type remote-access
现在ASA上已经有了一切。我们可以使用客户端连接到ASA并安装anyconnect客户端。
客户端配置
我将使用带有Internet Explorer的Windows 7客户端。启动浏览器并输入ASA的IP地址作为URL。如果您使用HTTP,您将被重定向到HTTPS:

ASA正在使用浏览器无法识别的自签名证书,因此您就会看到此错误。单击继续,您将看到以下屏幕:

现在您可以验证自己。输入我们之前创建的用户名和密码。组名是我们创建的组别名。一旦通过身份验证,您将看到:

客户端尝试自动下载Anyconnect,这是因为我们使用了anyconnect ask none default anyconnect命令。由于我们使用自签名证书,您将收到以下错误消息:

您需要单击“更改设置”按钮,您将看到:

单击“应用更改”按钮,您将看到:

单击重试连接链接,您将看到:

我们再收到一条警告,证明无法验证证书。单击Connect Anyway,最终将开始下载:

一旦完成,您将看到:

已安装Anyconnect客户端并已建立连接。如果你查看Windows任务栏,那么你会发现一个小图标:

单击它,它将打开Anyconnect客户端,这是它的样子:

它是连接的,如果你想看到一些细节你需要点击小“齿轮”图标,它会给你一个很好的连接概述:

这将显示客户端已收到的IP地址以及有关发送/接收的字节数的一些统计信息。这看起来不错,但在结束本课之前验证一些事情很重要......我们收到了很多关于不受信任的自签名证书的消息。对于此示例并不重要,但在生产网络中,解决此问题可能是个好主意。在另一课中,我将向您展示如何使用用户浏览器信任的证书。
验证
客户验证
首先,我们将在客户端上生成一些流量,看看它是否可以到达内部网络上的R1:
C:UsersVPN>ping 192.168.1.1
Pinging 192.168.1.1 with 32 bytes of data:
Reply from 192.168.1.1: bytes=32 time=2ms TTL=255
Reply from 192.168.1.1: bytes=32 time=2ms TTL=255
Reply from 192.168.1.1: bytes=32 time=2ms TTL=255
Reply from 192.168.1.1: bytes=32 time=2ms TTL=255
Ping statistics for 192.168.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 2ms, Average = 2ms
这看起来不错,让我们使用ipconfig查看收到的IP地址:
C:UsersVPN>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : VPN-PC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Local Area Connection 3:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
Physical Address. . . . . . . . . : 00-05-9A-3C-7A-00
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.10.100(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 8.8.8.8
NetBIOS over Tcpip. . . . . . . . : Enabled
您可以看到PC收到的IP地址为192.168.10.100(VPN池中的第一个IP地址)。Anyconnect创建了一个额外的接口,就像传统的Cisco VPN客户端一样。
ASA验证
客户端上的一切看起来都很好,在ASA上也有一个有用的命令来验证我们的工作:
ASA1# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : SSL_USER Index : 6
Assigned IP : 192.168.10.100 Public IP : 10.10.10.2
Protocol : Clientless SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : Clientless: (1)RC4 SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : Clientless: (1)SHA1 SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 6252805 Bytes Rx : 133830
Group Policy : ANYCONNECT_POLICY Tunnel Group : MY_TUNNEL
Login Time : 16:30:35 UTC Tue Dec 9 2014
Duration : 0h:11m:28s
Inactivity : 0h:00m:00s
NAC Result : Unknown
VLAN Mapping : N/A VLAN : none
- 我的微信
- 欢迎大家,与我交流,非诚勿扰谢谢
-
- 奕知伴解 微信公众号
- 扫一扫关注,从此不迷路。
-