此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍 IPsec VPN 问题最常见的解决方案。
此处描述的解决方案直接来自思科技术支持已解决的服务请求。
其中许多解决方案是在对IPsec VPN连接进行深入故障排除之前实施的。
本文档提供了在开始排除连接故障之前需要尝试的常见步骤的摘要。
虽然本文档中的配置示例适用于路由器和安全设备,但几乎所有这些概念也适用于VPN 3000 。
有关用于排除Cisco IOS®软件和IPsec问题的常见debug命令的说明,请参阅IP安全故障排除 — 了解和使用debug。
注意:ASA不会通过IPsec VPN隧道传递组播流量。
警告:本文档中介绍的许多解决方案都可能导致设备上的所有IPsec VPN连接暂时丢失。
建议根据更改控制策略小心实施这些解决方案。
思科建议了解以下思科设备上的IPsec VPN配置:
Cisco PIX 5500 系列安全设备
思科IOS®路由器
本文档中的信息基于以下软件和硬件版本:
Cisco PIX 5500 系列安全设备
思科IOS®
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅思科技术提示规则。
最近配置或修改的 IPSec VPN 解决方案不起作用。
当前 IPSec VPN 配置不再起作用。
本部分包含最常见 IPSec VPN 问题的解决方案。
尽管这些解决方案未按任何特定顺序列出,但可以用作项目核对表,在您进行深入补救之前进行验证或尝试。
所有这些解决方案都直接来自TAC服务请求,并且已经解决了许多问题。
注意:出于空间方面的考虑,这些部分中的某些命令已移至第二行。
NAT穿越(或NAT-T)允许VPN流量通过NAT或PAT设备,例如Linksys SOHO路由器。
如果NAT-T未启用,VPN客户端用户通常似乎可以正常连接到ASA,但他们无法访问安全设备背后的内部网络。
如果未在NAT/PAT设备中启用NAT-T,则在ASA中可能会收到protocol 50 src inside:10.0.1.26 dst outside:10.9.69.4的常规转换创建失败错误消息。
同样,如果无法从同一IP地址同时登录,则安全VPN连接由客户端在本地终止。Reason 412:远程对等体不再响应。出现错误消息。
在前端 VPN 设备中启用 NAT-T,以解决此错误。
注:在Cisco IOS®软件版本12.2(13)T及更高版本中,Cisco IOS®中默认启用NAT-T。
以下是用于在 Cisco 安全设备上启用 NAT-T 的命令。本示例中的二十(20)是保持连接时间(默认)。
ASA
securityappliance(config)#crypto isakmp nat-traversal 20
要使命令正常工作,还需要修改客户端。
在Cisco VPN Client中,导航到Connection Entries,然后单击Modify。这将打开一个新窗口,您必须在其中选择“运输”(Transporttab)。
在此选项卡下,单击Enable Transparent Tunnelingand theIPSec over UDP(NAT / PAT)单选按钮。然后单击“保存”并测试连接。
通过配置ACL来允许用于NAT-T、UDP 500和ESP端口的UDP 4500非常重要,因为ASA充当NAT设备。
有关详细信息,请参阅使用NAT配置通过防火墙的IPsec隧道,以了解有关ASA中ACL配置的详细信息。
理想情况下,从执行加密的终端设备后面的设备测试VPN连接,但许多用户在执行加密的设备上使用ping命令测试VPN连接。
虽然ping操作通常适用于此目的,但重要的是从正确的接口发出ping命令。
如果ping的来源不正确,则可能显示VPN连接在实际工作时失败。下面是一个示例:
路由器 A 加密 ACL
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255
路由器 B 加密 ACL
access-list 110 permit ip 192.168.200.0 0.0.0.255 192.168.100.0 0.0.0.255
在这种情况下,apinging必须源自任一路由器后面的内部网络。这是因为加密 ACL 仅配置为加密具有那些源地址的流量。
源自任一路由器的外部接口的呼叫不加密。在特权EXEC模式下使用ping命令的扩展选项,从路由器的内部接口发出ping命令:
routerA#ping Protocol [ip]: Target IP address: 192.168.200.10 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 192.168.100.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.1, timeout is 2 seconds: Packet sent with a source address of 192.168.100.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = ½/4 ms
假设此图中的路由器已被ASA安全设备替换。用于测试连接性的ping也可通过带有insidekeyword的内部接口发出:
securityappliance#ping inside 192.168.200.10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
建议不要使用ping来锁定安全设备的内部接口。
如果必须使用ping来锁定内部接口,则必须在该接口上启用management-access,否则设备不会应答。
securityappliance(config)#management-access inside
当连接存在问题时,即使是VPN的第一阶段(1)也不起作用。
在ASA上,如果连接失败,则SA输出类似于以下示例,指示可能存在不正确的加密对等体配置和/或不正确的ISAKMP建议配置:
Router#show crypto isakmp sa 1 IKE Peer: XX.XX.XX.XX Type : L2L Role : initiator Rekey : no State : MM_WAIT_MSG2
状态可以是MM_WAIT_MSG2到MM_WAIT_MSG5,这表示主模式(MM)中相关状态交换失败。
当阶段 1 启动时,加密 SA 输出与以下示例类似:
Router#show crypto isakmp sa 1 IKE Peer: XX.XX.XX.XX Type : L2L Role : initiator Rekey : no State : MM_ACTIVE
如果没有指示IPsec VPN隧道正常工作,则可能是ISAKMP尚未启用。请确保已在设备上启用了 ISAKMP。
使用以下命令之一可在您的设备上启用 ISAKMP:
思科IOS®
router(config)#crypto isakmp enable
Cisco ASA(用您所需的接口替换外部)
securityappliance(config)#crypto isakmp enable outside
在外部接口上启用 ISAKMP 时,也可能会出现以下错误:
UDP: ERROR - socket <unknown> 62465 in used ERROR: IkeReceiverInit, unable to bind to port
错误的原因可能是,在接口上启用isakmp之前,ASA后面的客户端会获得PAT到udp端口500。删除 PAT 转换 (clear xlate) 之后,就可以启用 isakmp。
验证已保留UDP 500和4500端口号用于与对等体协商ISAKMP连接。
如果未在接口上启用 ISAKMP,VPN Client 会显示与以下消息类似的错误消息:
Secure VPN connection terminated locally by client. Reason 412: The remote peer is no longer responding
为了解决此错误,请在 VPN 网关的加密接口上启用 ISAKMP。
在 IPsec 协商中,完全转发保密 (PFS) 可确保每个新的加密密钥与任何先前密钥不相关。
在两个隧道对等体上启用或禁用 PFS;否则,ASA/Cisco IOS®路由器中不会建立LAN到LAN(L2L)IPsec隧道。
完全转发保密 (PFS) 是 Cisco 专有技术,在第三方设备上不支持。
ASA :
默认情况下 PFS 处于禁用状态。要启用PFS,请在组策略配置模式下使用带有enable关键字的pfscommand。要禁用 PFS,请输入 disable 关键字。
hostname(config-group-policy)#pfs {enable | disable}
要从配置中删除PFS属性,请输入此命令的no形式。
一个组策略可以从另一个组策略继承 PFS 的值。输入此命令的no形式以防止值传输。
hostname(config-group-policy)#no pfs
Cisco IOS®路由器:
要指定在为此加密映射条目请求新的安全关联时IPsec必须请求PFS,请在加密映射配置模式下使用set pfscommand。
要指定IPsec在收到新的安全关联请求时需要PFS,请在加密映射配置模式下使用set pfscommand。
要指定 IPsec 不可以请求 PFS,请使用此命令的 no 形式。默认情况下,不会请求 PFS。如果使用此命令时未指定任何组,则 group1 会用作默认值。
set pfs [group1 | group2] no set pfs
对于 set pfs 命令:
group1 — 指定在执行新的Diffie-Hellman交换时,IPsec必须使用768位Diffie-Hellman主模数组。
group2 — 指定在执行新的Diffie-Hellman交换时,IPsec必须使用1024位Diffie-Hellman主模数组。
示例:
Router(config)#crypto map map 10 ipsec-isakmp Router(config-crypto-map)#set pfs group2
如果Cisco IOS®®路由器中出现此错误消息,则问题在于SA已过期或已清除。
远程隧道终端设备不知道它使用了已过期的 SA 来发送数据包(并非 SA 建立数据包)。
建立新的 SA 后,通信将恢复,因此请启动隧道间的相关流量来创建新的 SA 并重新建立隧道。
%CRYPTO-4-IKMP_NO_SA: IKE message from x.x.x.x has no SA
如果您清除 ISAKMP(阶段 I)和 IPsec(阶段 II)安全关联 (SA),这是解决 IPsec VPN 问题的最简单而且通常也是最佳的解决方案。
如果清除 SA,通常可以解决各种错误消息和奇怪行为问题,而无需进行故障排除。
虽然此方法可以在任何情况下轻松使用,但是在更改当前 IPSec VPN 配置或对其进行添加之后,几乎都需要清除 SA。
而且,虽然可以仅清除特定的安全关联,但是在设备上全局清除 SA 时好处最多。
清除安全关联后,可能必须在隧道中发送流量以重新建立安全关联。
警告:除非您指定要清除的安全关联,否则此处列出的命令可以清除设备上的所有安全关联。如果其他 IPSec VPN 隧道处于使用中,请小心执行操作。
在清除安全关联之前,请查看它们
Cisco Cisco IOS®
router#show crypto isakmp sa router#show crypto ipsec sa
Cisco ASA安全设备
securityappliance#show crypto isakmp sa securityappliance#show crypto ipsec sa
清除安全关联。可以如粗体所示输入每个命令或同时输入与命令一起显示的选项。
思科IOS®
ISAKMP(阶段 I)
router#clear crypto isakmp ? <0 - 32766> connection id of SA <cr>
IPsec(阶段 II)
router#clear crypto sa ? counters Reset the SA counters map Clear all SAs for a given crypto map peer Clear all SAs for a given crypto peer spi Clear SA by SPI <cr>
Cisco ASA安全设备
ISAKMP(阶段 I)
securityappliance#clear crypto isakmp sa
IPsec(阶段 II)
security appliance#clear crypto ipsec sa ? counters Clear IPsec SA counters entry Clear IPsec SAs by entry map Clear IPsec SAs by map peer Clear IPsec SA by peer <cr>
如果用户在 L2L 隧道中频繁地断开连接,则问题可能是在 ISAKMP SA 中配置了较短的生存时间。
如果在ISAKMP生存期内出现任何差异,您可以收到%ASA-5-713092:Group = x.x.x.x, IP = x.x.x.x, Failure during phase 1 rekey attempt due to collisionerror message in /ASA.
默认值为 86,400 秒(24 小时)。通常,较短的生存时间可提供更安全的 ISAKMP 协商(在某种程度上),但是,由于生存时间较短,安全设备建立未来的 IPSec SA 也更快。
当来自两个对等体的两个策略包含相同的加密、散列、身份验证和 Diffie-Hellman 参数值,并且远程对等体的策略指定的生存时间小于或等于对比策略中的生存时间时,即视为策略匹配。
如果生存时间不同,将使用较短的生存时间(来自远程对等体的策略)。如果找不到可接受的匹配,IKE 将拒绝协商,并且无法建立 IKE SA。
指定 SA 生存时间。以下示例设置的生存时间为 4 小时(14400 秒)。 默认值为 86400 秒(24 小时)。
ASA
hostname(config)#isakmp policy 2 lifetime 14400
Cisco IOS®路由器
R2(config)#crypto isakmp policy 10 R2(config-isakmp)#lifetime 86400
如果超出配置的最大生存时间,在终止 VPN 连接时您会收到以下错误消息:
Secure VPN Connection terminated locally by the Client.Reason 426:Maximum Configured Lifetime Exceeded.
要解决此错误消息,请将thelifetimevalue设置为0(0),以将IKE安全关联的生存期设置为无限。VPN始终处于连接状态且不会终止。
hostname(config)#isakmp policy 2 lifetime 0
您还可以在group-policyin中禁用re-xauth以解决此问题。
如果配置 ISAKMP Keepalive,则它有助于防止 LAN 到 LAN 或远程访问 VPN 偶尔被丢弃,这包括 VPN Client、隧道和一段非活动时间之后丢弃的隧道。
此功能使隧道端点可以监控远程对等体的持续存在状态,以及向该对等体报告其自己的存在状态。
如果对等体没有响应,则端点会删除连接。
要使 ISAKMP keepalive 起作用,两个 VPN 端点必须支持它们。
使用以下命令在Cisco IOS®中配置ISAKMP keepalive:
router(config)#crypto isakmp keepalive 15
使用以下命令在ASA安全设备上配置ISAKMP保活:
用于名为10.165.205.222的隧道组的Cisco ASA
securityappliance(config)#tunnel-group 10.165.205.222 ipsec-attributes securityappliance(config-tunnel-ipsec)#isakmp keepalive threshold 15 retry 10
在某些情况下,必须禁用此功能以便解决问题,例如,如果 VPN Client 位于阻止 DPD 数据包的防火墙之后。
Cisco ASA,用于名为10.165.205.222的隧道组
禁用IKE保活处理(默认情况下启用)。
securityappliance(config)#tunnel-group 10.165.205.222 ipsec-attributes securityappliance(config-tunnel-ipsec)#isakmp keepalive disable
禁用 Cisco VPN Client 4.x 的 Keepalive
在遇到问题的客户端PC上导航到%System Root% > Program Files > Cisco Systems > VPN Client > Profiles,以禁用IKE keepalive,并在适用时编辑连接的PCF文件。
将theForceKeepAlives=0(默认)更改为ForceKeepAlives=1。
Keepalive 是 Cisco 专有技术,在第三方设备上不支持。
在许多情况下,当IPsec VPN隧道不起作用时,可以归咎于简单的排版错误。例如,在安全设备上,预共享密钥在输入后即变为隐藏状态。
这种模糊方法使得无法了解密钥是否正确。请确保已在每个 VPN 端点上正确输入了任何预共享密钥。
重新输入密钥以确保其正确;这是可以帮助避免深入排除故障的简单解决方案。
在远程访问 VPN 中,请检查 Cisco VPN Client 中是否输入了有效的组名称和预共享密钥。
如果VPN客户端和头端设备之间的组名或预共享密钥不匹配,则可能会遇到此错误。
1 12:41:51.900 02/18/06 Sev=Warning/3 IKE/0xE3000056 The received HASH payload cannot be verified 2 12:41:51.900 02/18/06 Sev=Warning/2 IKE/0xE300007D Hash verification failed 3 14:37:50.562 10/05/06 Sev=Warning/2 IKE/0xE3000099 Failed to authenticate peer (Navigator:904) 4 14:37:50.593 10/05/06 Sev=Warning/2 IKE/0xE30000A5 Unexpected SW error occurred while processing Aggressive Mode negotiator:(Navigator:2202) 5 14:44:15.937 10/05/06 Sev=Warning/2 IKE/0xA3000067 Received Unexpected InitialContact Notify (PLMgrNotify:888) 6 14:44:36.578 10/05/06 Sev=Warning/3 IKE/0xE3000056 The received HASH payload cannot be verified 7 14:44:36.593 10/05/06 Sev=Warning/2 IKE/0xE300007D Hash verification failed... possibly be configured with invalid group password. 8 14:44:36.609 10/05/06 Sev=Warning/2 IKE/0xE3000099 Failed to authenticate peer (Navigator:904) 9 14:44:36.640 10/05/06 Sev=Warning/2 IKE/0xE30000A5 Unexpected SW error occurred while processing Aggressive Mode negotiator:(Navigator:2202)
警告:如果删除与加密相关的命令,则可能会关闭一个或所有VPN隧道。在删除与加密相关的命令之前,请谨慎使用这些命令,并参阅组织的更改控制策略。
使用以下命令删除并重新输入对等体10.0.0.1或grouppngroupin Cisco IOS®的pre-shared-keysecretkeyin:
Cisco LAN 到 LAN VPN
router(config)#no crypto isakmp key secretkey address 10.0.0.1 router(config)#crypto isakmp key secretkey address 10.0.0.1
Cisco 远程访问 VPN
router(config)#crypto isakmp client configuration group vpngroup router(config-isakmp-group)#no key secretkey router(config-isakmp-group)#key secretkey
使用以下命令删除并重新输入/ASA安全设备上的对等体10.0.0.1的pre-shared-keysecretkeyfor 10.0.1:
思科6.x
(config)#no isakmp key secretkey address 10.0.0.1 (config)#isakmp key secretkey address 10.0.0.1
Cisco /ASA 7.x及更高版本
securityappliance(config)#tunnel-group 10.0.0.1 ipsec-attributes securityappliance(config-tunnel-ipsec)#no ikev1 pre-shared-key securityappliance(config-tunnel-ipsec)# ikev1 pre-shared-key secretkey
启动 VPN 隧道操作的连接断开。出现此问题的原因是在阶段I协商期间预共享密钥不匹配。
show crypto isakmp sacommand中的MM_WAIT_MSG_6消息表示预共享密钥不匹配,如下例所示:
ASA#show crypto isakmp sa Active SA: 1 Rekey SA: 0 (A tunnel reports 1 Active and 1 Rekey SA during rekey) Total IKE SA: 1 1 IKE Peer: 10.7.13.20 Type : L2L Role : initiator Rekey : no State : MM_WAIT_MSG_6
要解决此问题,请在两个设备上重新输入预共享密钥;预共享密钥必须唯一并且相匹配。有关详细信息,请参阅重新输入或恢复预共享密钥。
当清除安全关联并且它无法解决IPsec VPN问题时,请删除并重新应用相关加密映射以解决各种问题,包括VPN隧道间歇性中断和某些VPN站点无法启动。
警告:如果从接口删除加密映射,则itdefinitelydown与该加密映射关联的任何IPsec隧道。请谨慎执行这些步骤,并在继续之前考虑组织的更改控制策略。
使用以下命令删除并替换Cisco IOS®中的加密映射:
首先从接口中删除加密映射。使用crypto mapcommand的no形式。
router(config-if)#no crypto map mymap
继续使用enoform删除整个加密映射。
router(config)#no crypto map mymap 10
替换对等体10.0.0.1的接口Ethernet0/0上的加密映射。此示例显示所需的最低加密映射配置:
router(config)#crypto map mymap 10 ipsec-isakmp router(config-crypto-map)#match address 101 router(config-crypto-map)#set transform-set mySET router(config-crypto-map)#set peer 10.0.0.1 router(config-crypto-map)#exit router(config)#interface ethernet0/0 router(config-if)#crypto map mymap
使用以下命令删除和替换ASA上的加密映射:
首先从接口中删除加密映射。使用crypto mapcommand的no形式。
securityappliance(config)#no crypto map mymap interface outside
继续使用enoform删除其他加密映射命令。
securityappliance(config)#no crypto map mymap 10 match address 101 securityappliance(config)#no crypto map mymap set transform-set mySET securityappliance(config)#no crypto map mymap set peer 10.0.0.1
替换对等体10.0.0.1的加密映射。此示例显示所需的最低加密映射配置:
securityappliance(config)#crypto map mymap 10 ipsec-isakmp securityappliance(config)#crypto map mymap 10 match address 101 securityappliance(config)#crypto map mymap 10 set transform-set mySET securityappliance(config)#crypto map mymap 10 set peer 10.0.0.1 securityappliance(config)#crypto map mymap interface outside
如果删除并且重新应用加密映射,并且如果前端的 IP 地址已经更改,这也会解决连接问题。
命令sysopt connection permit-ipsecandsysopt connection permit-vpnallow packets from an IPsec tunnel and its payload to bypass interface ACLs on the security appliance。
如果未启用其中的一个命令,则安全设备上终止的 IPSec 隧道可能会失败。
在安全设备软件版本7.0及更低版本中,适用于此情况的相关sysopt命令issysopt connection permit-ipsec。
在安全设备软件版本7.1(1)及更高版本中,适用于此情况的相关sysopt命令issysopt connection permit-vpn。
在6.x中,默认情况下禁用此功能。使用/ASA 7.0(1)及更高版本时,默认情况下启用此功能。使用以下show命令确定您的设备上是否启用了relevantsysoptcommand:
Cisco ASA
securityappliance# show running-config all sysopt no sysopt connection timewait sysopt connection tcpmss 1380 sysopt connection tcpmss minimum 0 no sysopt nodnsalias inbound no sysopt nodnsalias outbound no sysopt radius ignore-secret sysopt connection permit-vpn !--- sysopt connection permit-vpn is enabled !--- This device is running 7.2(2)
请使用以下命令为您的设备启用correctsysoptcommand:
Cisco ASA
securityappliance(config)#sysopt connection permit-vpn
如果不希望使用sysopt connectioncommand,请明确允许从源到目标的所需相关流量。
例如,在外部ACL中,从远程设备的远程到本地LAN,以及远程设备的外部接口的“UDP端口500”到本地设备的外部接口。
如果IPsec VPN隧道在IKE协商中失败,则失败可能是因为其对等体识别其对等体的身份或无法识别其对等体的身份。
当两个对等体使用 IKE 建立 IPSec 安全关联时,每个对等体会将其 ISAKMP 身份发送到远程对等体。
对等体发送的是其 IP 地址还是主机名,取决于每个对等体自身设置的 ISAKMP 身份。
默认情况下,防火墙设备的ISAKMP身份设置为IP地址。
通常,请以相同的方式设置安全设备及其对等体的身份,以避免 IKE 协商失败。
要设置要发送到对等体的阶段2 ID,请在全局配置模式下使用isakmp identitycommand。
crypto isakmp identity address !--- If the RA or L2L (site-to-site) VPN tunnels connect !--- with pre-shared key as authentication type
或者
crypto isakmp identity auto !--- If the RA or L2L (site-to-site) VPN tunnels connect !--- with ISAKMP negotiation by connection type; IP address for !--- preshared key or cert DN for certificate authentication.
或者
crypto isakmp identity hostname !--- Uses the fully-qualified domain name of !--- the host exchange ISAKMP identity information (default). !--- This name comprises the hostname and the domain name.
使用ASA配置迁移工具将配置从转移到ASA后,VPN隧道无法启动;日志中出现以下消息:
[IKEv1]:Group = x.x.x.x, IP = x.x.x.x, Stale PeerTblEntry found, removing!
[IKEv1]:Group = x.x.x.x, IP = x.x.x.x, Removing peer from correlator table failed, no match!
[IKEv1]:Group = x.x.x.x, IP = x.x.x.x, construct_ipsec_delete():No SPI to identify Phase 2 SA!
[IKEv1]:Group = x.x.x.x, IP = x.x.x.x, Removing peer from correlator table failed, no match!
如果空闲超时设置为 30 分钟(默认值),则意味着如果超过 30 分钟没有流量通过隧道,则将丢弃该隧道。
无论空闲超时参数如何,VPN客户端都会在30分钟后断开连接,并遇到PEER_DELETE-IKE_DELETE_UNSPECIFIED错误。
配置idle timeoutandsession timeoutasnonein使隧道alwaysup,这样,即使使用第三方设备,隧道也不会被丢弃。
ASA
在group-policy配置模式或username配置模式下输入vpn-idle-timeoutcommand,以配置用户超时时间:
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-idle-timeout none
在组策略配置模式或用户名配置模式下使用vpn-session-timeoutcommand为VPN连接配置最大时间:
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-session-timeout none
当您配置了tunnel-all时,不需要配置reidle-timeout,因为即使配置了VPN-idle timeout,它也不会工作,因为所有流量都会通过隧道(因为已配置了tunnel-all)。
因此,相关流量(甚至PC生成的流量)是有趣的,不会让空闲超时生效。
Cisco IOS®路由器
在全局配置模式或加密映射配置模式下使用crypto ipsec security-association idle-timecommand以配置IPsec SA空闲计时器。
默认情况下,IPsec SA 空闲计时器处于禁用状态。
crypto ipsec security-association idle-time seconds
时间是以秒为单位的,空闲计时器允许非活动对等体维护SA。seconds 参数的有效值范围是 60 到 86400。
典型的 IPSec VPN 配置中会使用两个访问列表。一个访问列表用于免除从 NAT 进程发送至 VPN 隧道的流量。
另一个访问列表用于定义要加密的流量;这包括 LAN 到 LAN 设置中的加密 ACL 或远程访问配置中的分割隧道 ACL。
当这些ACL配置不正确或丢失时,流量可能沿一个方向流经VPN隧道,或者根本不在隧道中发送。
确保在全局配置模式下使用crypto map match address命令将加密ACL与加密映射绑定。
请确保已配置了完成 IPSec VPN 配置所需的所有访问列表,且这些访问列表定义了正确的流量。
此列表包含在您怀疑 ACL 是导致 IPSec VPN 出现问题的原因时要检查的简单项目。
请确保 NAT 免除和加密 ACL 指定了正确的流量。
如果有多个 VPN 隧道和多个加密 ACL,请确保这些 ACL 不会重叠。
请确保您的设备已配置为使用 NAT 免除 ACL。在路由器上,这意味着您使用theroute-mapcommand。
在ASA上,这意味着您使用thenat(0)命令。LAN 到 LAN 配置和远程访问配置都需要使用 NAT 免除 ACL。
此处,Cisco IOS®路由器配置为免除在192.168.100.0 /24和192.168.200.0 /24或192.168.1.0 /24之间发送的流量。发送至其他任何位置的流量受 NAT 过载影响:
access-list 110 deny ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255 access-list 110 deny ip 192.168.100.0 0.0.0.255 192.168.1.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 any route-map nonat permit 10 match ip address 110 ip nat inside source route-map nonat interface FastEthernet0/0 overload
NAT 免除 ACL 仅适用于 IP 地址或 IP 网络(如上述示例 (access-list noNAT)),并且必须与加密映射 ACL 相同。
NAT免除ACL不适用于端口号(例如,23、25、...)。
在VOIP环境中,网络之间的语音呼叫是通过VPN进行通信的,如果没有正确配置NAT 0 ACL,语音呼叫将无法工作。
在排除故障之前,建议检查VPN连接状态,因为问题可能出在NAT免除ACL配置错误。
如果 NAT 免除 (nat 0) ACL 中存在配置错误,则会收到如下所示的错误消息。
%ASA-3-305005: No translation group found for udp src Outside:x.x.x.x/p dst Inside:y.y.y.y/p
不正确示例:
access-list noNAT extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0 eq 25
如果NAT免除(nat 0)不起作用,则尝试将其删除并发出NAT 0命令使其起作用。
请确保您的 ACL 不是落后的,并且类型正确。
必须从配置 ACL 的设备的角度编写 LAN 到 LAN 配置的加密 ACL 和 NAT 免除 ACL。
这意味着ACL必须到达其他。在本示例中,在192.168.100.0 /24和192.168.200.0 /24之间设置LAN到LAN隧道。
路由器 A 加密 ACL
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255
路由器 B 加密 ACL
access-list 110 permit ip 192.168.200.0 0.0.0.255 192.168.100.0 0.0.0.255
虽然此处未作说明,但此概念同样适用于ASA安全设备。
在ASA中,远程访问配置的分割隧道ACL必须作为允许流量进入VPN客户端需要访问的网络的标准访问列表。
Cisco IOS®路由器可以对拆分隧道使用扩展ACL。在扩展访问列表中,在拆分隧道ACL的源中使用“any”与禁用拆分隧道类似。
对于拆分隧道,仅使用扩展ACL中的源网络。
正确示例:
access-list 140 permit ip 10.1.0.0 0.0.255.255 10.18.0.0 0.0.255.255
不正确示例:
access-list 140 permit ip any 10.18.0.0 0.0.255.255
思科IOS®
router(config)#access-list 10 permit ip 192.168.100.0 router(config)#crypto isakmp client configuration group MYGROUP router(config-isakmp-group)#acl 10
Cisco ASA
securityappliance(config)#access-list 10 standard permit 192.168.100.0 255.255.255.0 securityappliance(config)#group-policy MYPOLICY internal securityappliance(config)#group-policy MYPOLICY attributes securityappliance(config-group-policy)#split-tunnel-policy tunnelspecified securityappliance(config-group-policy)#split-tunnel-network-list value 10
站点到站点 VPN 隧道的 ASA 版本 8.3 中的 NAT 免除配置:
必须使用版本8.3的两个ASA在HOASA和BOASA之间建立站点到站点VPN。HOASA上的NAT免除配置如下所示:
object network obj-local subnet 192.168.100.0 255.255.255.0 object network obj-remote subnet 192.168.200.0 255.255.255.0 nat (inside,outside) 1 source static obj-local obj-local destination static obj-remote objremote
如果 IPSec 隧道未启动,请检查 ISAKMP 策略是否与远程对等体匹配。此 ISAKMP 策略适用于站点到站点 (L2L) 和远程访问 IPSec VPN。
如果Cisco VPN客户端或站点到站点VPN无法与远程终端设备建立隧道,请检查两个对等体是否包含相同的加密、哈希、身份验证和Diffie-Hellman参数值。
验证远程对等体策略指定的生存期何时小于或等于发起方发送的策略中的生存期。
如果生存时间不相同,则安全设备会使用较短的生存时间。如果不存在可接受的匹配,则 ISAKMP 将拒绝协商,并且无法建立 SA。
"Error: Unable to remove Peer TblEntry, Removing peer from peer table failed, no match!"
以下是详细日志消息:
4|Mar 24 2010 10:21:50|713903: IP = X.X.X.X, Error: Unable to remove PeerTblEntry 3|Mar 24 2010 10:21:50|713902: IP = X.X.X.X, Removing peer from peer table failed, no match! 3|Mar 24 2010 10:21:50|713048: IP = X.X.X.X, Error processing payload: Payload ID: 1 4|Mar 24 2010 10:21:49|713903: IP = X.X.X.X, Information Exchange processing failed 5|Mar 24 2010 10:21:49|713904: IP = X.X.X.X, Received an un-encrypted NO_PROPOSAL_CHOSEN notify message, drop
此消息通常由ISAKMP策略不匹配或遗漏的NAT 0语句引起。
此外,系统还会显示以下消息:
Error Message %ASA-6-713219: Queueing KEY-ACQUIRE messages to be processed when P1 SA is complete.
此消息表示第1阶段完成后,第2阶段消息在队列中。此错误消息是由以下原因之一导致的:
任何对等体上的阶段不匹配
ACL阻止对等体完成第1阶段
此消息通常在Removing peer from peer table failed, no match!错误消息后出现。
如果 Cisco VPN Client 无法连接前端设备,则问题可能是 ISAKMP 策略不匹配。头端设备必须与Cisco VPN客户端的一个IKE建议匹配。
对于ASA上使用的ISAKMP策略和IPsec转换集,Cisco VPN客户端不能使用包含DES和SHA的组合的策略。
如果您使用 DES,则需要使用 MD5 散列算法,也可以使用其他组合,如 3DES 和 SHA 以及 3DES 和 MD5。
请确保您的加密设备(例如路由器和ASA安全设备)具有正确的路由信息,以便通过VPN隧道发送流量。
如果网关设备后面还有其他路由器,请确保这些路由器知道如何到达隧道以及另一端有哪些网络。
VPN 部署中的路由的一个关键组件是反向路由注入 (RRI)。
RRI 会在 VPN 网关的路由表中放置远程网络或 VPN Client 的动态条目。
这些路由对安装路由的设备以及网络中的其他设备非常有用,这是因为 RRI 安装的路由可以通过路由协议(如 EIGRP 或 OSPF)进行再分配。
在 LAN 到 LAN 配置中,每个端点包含的路由所指向的网络应对流量进行加密,这一点非常重要。
在本示例中,路由器A必须具有通过10.89.129.2到路由器B后面的网络的路由。路由器B必须具有通向192.168.100.0 /24的类似路由:
确保每个路由器知道相应路由的第一种方法是为每个目标网络配置静态路由。例如,路由器 A 可以配置如下路由语句:
ip route 0.0.0.0 0.0.0.0 172.22.1.1 ip route 192.168.200.0 255.255.255.0 10.89.129.2 ip route 192.168.210.0 255.255.255.0 10.89.129.2 ip route 192.168.220.0 255.255.255.0 10.89.129.2 ip route 192.168.230.0 255.255.255.0 10.89.129.2
如果路由器A已替换为ASA,则配置可能如下所示:
route outside 0.0.0.0 0.0.0.0 172.22.1.1 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2 route outside 192.168.200.0 255.255.255.0 10.89.129.2
如果每个端点之后存在大量网络,则静态路由的配置将变得难以维护。
建议您依照所述使用反向路由注入。RRI 会将加密 ACL 中列出的所有远程网络的路由放置在路由表中。
例如,路由器 A 的加密 ACL 和加密映射看起来与以下内容相似:
access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.200.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.210.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.220.0 0.0.0.255 access-list 110 permit ip 192.168.100.0 0.0.0.255 192.168.230.0 0.0.0.255 crypto map myMAP 10 ipsec-isakmp set peer 10.89.129.2 reverse-route set transform-set mySET match address 110
如果路由器A被ah ASA替换,则配置可能如下所示:
access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.210.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.220.0 255.255.255.0 access-list cryptoACL extended permit ip 192.168.100.0 255.255.255.0 192.168.230.0 255.255.255.0 crypto map myMAP 10 match address cryptoACL crypto map myMAP 10 set peer 10.89.129.2 crypto map myMAP 10 set transform-set mySET crypto map mymap 10 set reverse-route
在远程访问配置中,路由更改并非始终必要。
然而,如果在 VPN 网关路由器或安全设备之后存在其他路由器,这些路由器需要以某种方式识别出 VPN Client 的路径。
在本示例中,假设VPN客户端在连接时的地址范围为10.0.0.0 /24。
如果网关和其他路由器之间当前没有使用任何路由协议,则路由器(如路由器 2)上可以使用静态路由:
ip route 10.0.0.0 255.255.255.0 192.168.100.1
如果网关和其他路由器之间正在使用某种路由协议(EIGRP 或 OSPF),则建议依照所述使用反向路由注入。
RRI 会自动将 VPN Client 的路由添加到网关的路由表中。然后,这些路由可以分发到网络中的其他路由器。
Cisco IOS®路由器:
crypto dynamic-map dynMAP 10 set transform-set mySET reverse-route crypto map myMAP 60000 ipsec-isakmp dynamic dynMAP
Cisco ASA安全设备:
crypto dynamic-map dynMAP 10 set transform-set mySET crypto dynamic-map dynMAP 10 set reverse-route crypto map myMAP 60000 ipsec-isakmp dynamic dynMAP
如果为 VPN Client 分配的 IP 地址池与前端设备的内部网络重叠,则会发生路由问题。有关详细信息,请参阅重叠专用网络部分。
确保两个端点上的转换集所要使用的 IPsec 加密和散列算法是相同的。
有关详细信息,请参阅Cisco安全设备配置指南的命令参考部分。
对于ASA上使用的ISAKMP策略和IPsec转换集,Cisco VPN客户端不能使用包含DES和SHA的组合的策略。
如果您使用 DES,则需要使用 MD5 散列算法,也可以使用其他组合,如 3DES 和 SHA 以及 3DES 和 MD5。
如果在同一加密映射中配置了静态和动态对等体,则加密映射条目的顺序非常重要。
动态加密映射条目的序列号必须高于所有其他静态加密映射条目。
如果静态条目的编号高于动态条目,则与这些对等体的连接会失败,并会发生如下所示的调试。
IKEv1]: Group = x.x.x.x, IP = x.x.x.x, QM FSM error (P2 struct &0x49ba5a0, mess id 0xcd600011)! [IKEv1]: Group = x.x.x.x, IP = x.x.x.x, Removing peer from correlator table failed, no match!
安全设备中的每个接口仅允许一个动态加密映射。
以下是一个正确编号的加密映射示例,其中包含一个静态条目和一个动态条目。请注意,动态条目具有最高的序列号,并且已留下空间以便添加其他静态条目:
crypto dynamic-map cisco 20 set transform-set myset crypto map mymap 10 match address 100 crypto map mymap 10 set peer 172.16.77.10 crypto map mymap 10 set transform-set myset crypto map mymap interface outside crypto map mymap 60000 ipsec-isakmp dynamic ciscothe
加密映射名称区分大小写。
当动态加密人序列不正确导致对等体命中错误的加密映射时,也会出现此错误消息。
这也由定义相关流量的加密访问列表不匹配导致:%ASA-3-713042:IKE Initiator unable to find policy:
在要在同一接口中终止多个VPN隧道的场景中,创建具有相同名称(每个接口只允许一个加密映射)但序列号不同的加密映射。
对于路由器和ASA,情况也是如此。
同样,请参阅ASA:向现有L2L VPN添加新隧道或远程访问 — Cisco,了解有关L2L和远程访问VPN方案的加密映射配置的详细信息。
创建和管理IPsec的连接特定记录的数据库。
对于ASA安全设备LAN到LAN(L2L)IPsec VPN配置,请在tunnel-group <name> type ipsec-l2lcommand中将隧道组的<name>指定为Remote peer IP Address(remote tunnel end)。
对等体IP地址必须与intunnel group name和Crypto map set addresscommands匹配。
使用 ASDM 配置 VPN 时,将使用正确的对等体 IP 地址自动生成隧道组名称。
如果对等IP地址配置不正确,日志可能会包含此消息,这可以通过正确配置对等IP地址来解决。
[IKEv1]: Group = DefaultL2LGroup, IP = x.x.x.x, ERROR, had problems decrypting packet, probably due to mismatched pre-shared key. Aborting
当对等体IP地址在ASA加密配置上配置不正确时,ASA无法建立VPN隧道并仅在MM_WAIT_MSG4阶段中挂起。
为了解决此问题,请更正配置中的对等体 IP 地址。
以下是VPN隧道在MM_WAIT_MSG4状态下挂起时how crypto isakmp命令的输出。
hostname#show crypto isakmp sa 1 IKE Peer: XX.XX.XX.XX Type : L2L Role : initiator Rekey : no State : MM_WAIT_MSG4
%ASA-3-713206: Tunnel Rejected: Conflicting protocols specified by tunnel-group and group-policy
当由于组策略中指定的允许隧道与隧道组配置中的允许隧道不同而丢弃隧道时,会显示此消息。
group-policy hf_group_policy attributes vpn-tunnel-protocol l2tp-ipsec username hfremote attributes vpn-tunnel-protocol l2tp-ipsec Both lines read: vpn-tunnel-protocol ipsec l2tp-ipsec
针对“默认组中现有的协议策略”启用“默认组中的 IPSec”策略。
group-policy DfltGrpPolicy attributes vpn-tunnel-protocol L2TP-IPSec IPSec webvpn
如果在同一加密映射上配置了LAN到LAN隧道和远程访问VPN隧道,则会提示LAN到LAN对等体提供XAUTH信息,并且show crypto isakmp saccommand的输出中显示“CONF_XAUTH”时,LAN到LAN隧道将失败。
以下是 SA 输出的示例:
Router#show crypto isakmp sa IPv4 Crypto ISAKMP SA dst src state conn-id slot status X.X.X.X Y.Y.Y.Y CONF_XAUTH 10223 0 ACTIVE X.X.X.X Z.Z.Z.Z CONF_XAUTH 10197 0 ACTIVE
此问题仅适用于Cisco IOS®,而ASA不会受到此问题的影响,因为它使用隧道组。
输入isakmp密钥时,请使用no-xauthkeyword,因此设备不会提示对等体提供XAUTH信息(用户名和密码)。
此关键字会禁用静态 IPSec 对等体的 XAUTH。在同一个加密映射中配置了 L2L 和 RA VPN 的设备上输入与以下类似的命令:
router(config)#crypto isakmp key cisco123 address 172.22.1.164 no-xauth
在ASA充当Easy VPN服务器的场景中,Easy VPN客户端由于Xauth问题无法连接到头端。
在ASA中禁用用户身份验证以解决问题,如下所示:
ASA(config)#tunnel-group example-group type ipsec-ra ASA(config)#tunnel-group example-group ipsec-attributes ASA(config-tunnel-ipsec)#isakmp ikev1-user-authentication none
有关isakmp ikev1-user-authenticationcommand的详细信息,请参阅本文档的Miscellaneoussection部分。
当分配给 VPN 池的 IP 地址范围不足时,可通过两种方法扩大 IP 地址的供给:
取消现有范围,然后定义新范围。例如:
CiscoASA(config)#no ip local pool testvpnpool 10.76.41.1-10.76.41.254 CiscoASA(config)#ip local pool testvpnpool 10.76.41.1-10.76.42.254
当不连续子网添加到 VPN 池时,您可以定义两个独立的 VPN 池,然后按照“隧道组属性”下的顺序进行指定。 例如:
CiscoASA(config)#ip local pool testvpnpoolAB 10.76.41.1-10.76.42.254 CiscoASA(config)#ip local pool testvpnpoolCD 10.76.45.1-10.76.45.254 CiscoASA(config)#tunnel-group test type remote-access CiscoASA(config)#tunnel-group test general-attributes CiscoASA(config-tunnel-general)#address-pool (inside) testvpnpoolAB testvpnpoolCD CiscoASA(config-tunnel-general)#exit
您指定池所遵循的顺序非常重要,因为 ASA 按照池在此命令中的出现顺序从这些池中分配地址。
在组政策地址池命令中的地址池设置始终会覆盖隧道组地址池命令中的本地池设置。
当VPN连接出现延迟问题时,请验证以下条件以解决此问题:
验证数据包的 MSS 是否可以进一步减小。
如果使用IPsec/tcp而不是IPsec/udp,则配置represerve-vpn-flow。
重新载入 Cisco ASA。
当 X-authX 与 RADIUS 服务器一起使用时,Cisco VPN Client 无法进行身份验证。
问题可能是 xauth 超时。增加 AAA 服务器的超时值以解决此问题。
例如:
Hostname(config)#aaa-server test protocol radius hostname(config-aaa-server-group)#aaa-server test host 10.2.3.4 hostname(config-aaa-server-host)#timeout 10
当 X-authX 与 RADIUS 服务器一起使用时,Cisco VPN Client 无法进行身份验证。
首先,请确保身份验证正常工作。要缩小问题的范围,请先验证 ASA 本地数据库的身份验证。
tunnel-group tggroup general-attributes authentication-server-group none authentication-server-group LOCAL exit
如果正常工作,则问题与Radius服务器配置有关。
验证 Radius 服务器与 ASA 的连接。如果 ping 正常工作,未出任何问题,则请检查 ASA 的 Radius 相关配置和 Radius 服务器上的数据库配置。
您可以使用debug radius命令排除与radius相关的问题。有关sampledebug radiusoutput的信息,请参阅此示例输出。
在ASA上使用debugcommand之前,请参阅以下文档:警告消息。
Cisco VPN客户端用户在尝试与头端VPN设备连接时收到此错误。
VPN客户端在第一次尝试时经常断开连接
安全VPN连接由对等项终止。Reason 433.
安全VPN连接由对等项原因终止433:(对等项未指定原因)
尝试分配网络或广播IP地址,从池中删除(x.x.x.x)
问题可能在于通过ASA、Radius服务器、DHCP服务器或通过充当DHCP服务器的Radius服务器分配IP池。
使用debug加密命令验证网络掩码和IP地址是否正确。同时,请确认 IP 池不包括网络地址和广播地址。
Radius 服务器必须可以将正确的 IP 地址分配到客户端。
如果扩展身份验证失败,也会发生此问题。您必须检查 AAA 服务器以对此错误进行故障排除。
检查服务器和客户端上的服务器身份验证密码。重新加载AAA服务器可以解决此问题。
此问题的另一种解决方法是禁用威胁检测功能。
当针对不同不完整安全关联(SA)进行多次重新传输时,启用威胁检测功能的ASA会认为发生了扫描攻击,并且VPN端口被标记为主要威胁。
尝试禁用威胁检测功能,因为此功能会对 ASA 的处理造成大量开销。使用以下命令禁用威胁检测:
no threat-detection basic-threat no threat-detection scanning-threat shun no threat-detection statistics no threat-detection rate
这可当作一种解决方法,用于验证是否解决实际问题。
确保在Cisco ASA上禁用威胁检测实际上会损害若干安全功能,例如缓解扫描尝试、DoS with Invalid SPI、数据包未通过Application Inspection和Incomplete Sessions。
未正确配置转换集时,也会出现此问题。正确配置转换集可解决问题。
远程访问用户连接到 VPN 后,将无法连接到 Internet。
远程访问用户无法访问位于同一个设备上其他 VPN 之后的资源。
远程访问用户仅可访问本地网络。
尝试以下解决方案,以便解决此问题:
VPN客户端与VPN前端设备(ASA/Cisco IOS®路由器)建立IPsec隧道后,VPN客户端用户可以访问INSIDE网络(10.10.10.0/24)资源,但他们无法访问DMZ网络(10.1.1.0/24)。
图解
检查分割隧道,在前端设备中添加 NO NAT 配置,以访问 DMZ 网络中的资源。
示例:
ASA 配置:
此配置显示如何配置 DMZ 网络的 NAT 免除,以便让 VPN 用户可访问 DMZ 网络:
object network obj-dmz subnet 10.1.1.0 255.255.255.0 object network obj-vpnpool subnet 192.168.1.0 255.255.255.0 nat (inside,dmz) 1 source static obj-dmz obj-dmz destination static obj-vpnpool obj-vpnpool
在添加对应 NAT 配置的新条目之后,请清除 Nat 转换。
Clear xlate Clear local
验证:
如果隧道已建立,请转到Cisco VPN客户端,然后选择Status > Route以检查DMZ和INSIDE网络的安全路由是否已显示。
请参阅ASA:向现有L2L VPN添加新隧道或远程访问 — Cisco有关将新VPN隧道或远程访问VPN添加到已存在的L2L VPN配置所需的步骤。
请参阅ASA:在ASA上允许VPN客户端分割隧道配置示例,了解有关如何允许VPN客户端在通过隧道连接到Cisco 5500系列自适应安全设备(ASA)时访问互联网的分步说明。
建立隧道后,如果VPN客户端无法解析DNS,问题可能是头端设备(ASA)中的DNS服务器配置。
此外,请检查 VPN Client 和 DNS 服务器之间的连接。DNS 服务器配置必须在组策略下配置,并在隧道组常规属性中的组策略下应用;例如:
!--- Create the group policy named vpn3000 and !--- specify the DNS server IP address(172.16.1.1) !--- and the domain name(cisco.com) in the group policy. group-policy vpn3000 internal group-policy vpn3000 attributes dns-server value 172.16.1.1 default-domain value cisco.com !--- Associate the group policy(vpn3000) to the tunnel group !--- with the default-group-policy. tunnel-group vpn3000 general-attributes default-group-policy vpn3000
VPN Client 无法根据名称连接内部服务器
VPN Client 无法根据名称对远程端或前端内部网络的主机或服务器执行 ping 操作。您需要启用 ASA 上的 split-dns 配置以解决此问题。
分割隧道允许远程访问IPsec客户端有条件地以加密形式通过IPsec隧道将数据包转发到网络接口,或以明文形式解密数据包,然后将其路由到最终目的地。
默认情况下禁用拆分隧道,用于监控流量。
split-tunnel-policy {tunnelall | tunnelspecified | excludespecified}
只有思科VPN客户端(而不是EZVPN客户端)支持选项excludespecified。
ciscoasa(config-group-policy)#split-tunnel-policy excludespecified
有关拆分隧道的详细配置示例,请参阅以下文档:
对于进入某接口然后又从同一接口路由出去的 VPN 流量,此功能非常有用。
例如,在集中星型VPN网络中,安全设备是中心,远程VPN网络是分支,分支到分支的通信流量必须进入安全设备,然后再次传出到其他分支。
使用same-security-trafficconfiguration以允许流量进入和退出同一接口。
securityappliance(config)#same-security-traffic permit intra-interface
远程访问用户连接到 VPN 并且仅能连接到本地网络。
有关更详细的配置示例,请参阅ASA:允许 VPN Client 的本地 LAN 访问。
问题
如果无法在建立隧道之后访问内部网络,请检查分配给 VPN Client 的 IP 地址是否与前端设备之后的内部网络重叠。
解决方案
验证要为VPN客户端、前端设备的内部网络和VPN客户端内部网络分配的池中的IP地址位于不同的网络中。
您可以分配具有不同子网的同一个主网络,但是有时会发生路由问题。
有关更多示例,请参阅无法访问DMZ中的服务器部分的DiagramandExampleof。
只有三个VPN客户端可以连接到ASA/;连接第四个客户端时将失败。失败时,将显示以下错误消息:
Secure VPN Connection terminated locally by the client. Reason 413: User Authentication failed.
tunnel rejected; the maximum tunnel count has been reached
在大多数情况下,此问题与组策略中的同时登录设置以及最大会话限制相关。
尝试以下解决方案,以便解决此问题:
如果选中ASDM中的Inheritcheck复选框,则用户仅允许默认同时登录数。同时登录的默认值为三(3)。
要解决此问题,请增加同时登录数的值。
启动ASDM,然后导航到Configuration > VPN > Group Policy。
选择适当的组,然后点击“编辑”按钮。
进入Generaltab后,撤消连接设置下Simultaneous Logins的Inheritcheck框。在字段中选择相应的值。
此字段的最小值为零(0),这会禁用登录并阻止用户访问。
当您从不同PC使用同一用户帐户登录时,当前会话(从使用同一用户帐户的另一台PC建立的连接)将终止,并且新会话将建立。
这是默认行为,且不受 VPN 同时登录数影响。
完成以下步骤以配置所需数量的同时登录。在本示例中,选择二十(20)作为期望值。
ciscoasa(config)#group-policy Bryan attributes ciscoasa(config-group-policy)#vpn-simultaneous-logins 20
要了解有关此命令的详细信息,请参阅思科安全设备命令参考。
在全局配置模式下使用vpn-sessiondb max-session-limitcommand,以将VPN会话限制为低于安全设备允许的值。
使用此命令的覆盖删除会话限制。重新使用命令,以覆盖当前设置。
vpn-sessiondb max-session-limit {session-limit}
本示例显示如何将 VPN 最大会话限制数设置为 450:
hostname#vpn-sessiondb max-session-limit 450
错误消息
20932 10/26/2007 14:37:45.430 SEV=3 AUTH/5 RPT=1863 10.19.187.229 Authentication rejected: Reason = Simultaneous logins exceeded for user handle = 623, server = (none), user = 10.19.187.229, domain = <not specified>
解决方案
完成以下步骤,以便配置所需的同时登录数。针对此 SA,您也可以尝试将 Simultaneous Logins 设置为 5:
选择Configuration > User Management > Groups > Modify 10.19.187.229 > General > Simultaneous Logins,并将登录次数更改为5。
建立 IPSec 隧道后,应用程序或会话不能在隧道中启动。
使用ping命令检查网络或查找是否可从网络访问应用服务器。
对于流经路由器或/ASA设备的临时数据包,尤其是设置了SYN位的TCP数据段,这可能是最大数据段大小(MSS)的问题。
运行以下命令,以更改路由器的外部接口(隧道末端接口)中的 MSS 值:
Router>enable Router#configure terminal Router(config)#interface ethernet0/1 Router(config-if)#ip tcp adjust-mss 1300 Router(config-if)#end
以下消息显示了 TCP MSS 的调试输出:
Router#debug ip tcp transactions Sep 5 18:42:46.247: TCP0: state was LISTEN -> SYNRCVD [23 -> 10.0.1.1(38437)] Sep 5 18:42:46.247: TCP: tcb 32290C0 connection to 10.0.1.1:38437, peer MSS 1300, MSS is 1300 Sep 5 18:42:46.247: TCP: sending SYN, seq 580539401, ack 6015751 Sep 5 18:42:46.247: TCP0: Connection to 10.0.1.1:38437, advertising MSS 1300 Sep 5 18:42:46.251: TCP0: state was SYNRCVD -> ESTAB [23 -> 10.0.1.1(38437)]
MMS 按照配置在路由器上调整到 1300。
有关详细信息,请参阅ASA和Cisco IOS®:VPN 分段。
由于产生 MTU 大小错误消息和 MSS 问题,因此无法正确访问 Internet 或者通过隧道的传输缓慢。
要解决此问题,请参阅以下文档:
您无法从ASA接口启动VPN隧道,并且在建立隧道后,远程终端/VPN客户端无法对VPN隧道上的ASA内部接口执行ping操作。
例如,vpn客户端无法通过VPN隧道启动到ASA内部接口的SSH或HTTP连接。
除非在全局配置模式下配置management-accesscommand,否则无法从隧道的另一端对的内部接口执行ping操作。
ASA-02(config)#management-access inside ASA-02(config)#show management-access management-access inside
此命令还有助于通过VPN隧道向ASA内部接口发起SSH或HTTP连接。
此信息也适用于 DMZ 接口。例如,如果要ping /ASA的DMZ接口或要从DMZ接口启动隧道,则需要management-access DMZ命令。
ASA-02(config)#management-access DMZ
如果VPN客户端无法连接,请确保ESP和UDP端口已打开。
但是,如果这些端口未打开,请尝试通过VPN客户端连接条目下选择此端口在TCP 10000上进行连接。
右键单击Modify > Transport选项卡> IPsec over TCP。
您无法通过 VPN 隧道传递流量。
当ESP数据包被阻止时,也会发生此问题。要解决此问题,请重新配置VPN隧道。
当数据未加密,但仅通过VPN隧道解密时,可能会出现此问题,如以下输出所示:
ASA# sh crypto ipsec sa peer x.x.x.x peer address: y.y.y.y Crypto map tag: IPSec_map, seq num: 37, local addr: x.x.x.x access-list test permit ip host xx.xx.xx.xx host yy.yy.yy.yy local ident (addr/mask/prot/port): (xx.xx.xx.xx/255.255.255.255/0/0) remote ident (addr/mask/prot/port): (yy.yy.yy.yy/255.255.255.255/0/0) current_peer: y.y.y.y #pkts encaps: 0, #pkts encrypt: 0, #pkts digest: 0 #pkts decaps: 393, #pkts decrypt: 393, #pkts verify: 393 #pkts compressed: 0, #pkts decompressed: 0 #pkts not compressed: 0, #pkts comp failed: 0, #pkts decomp failed: 0 #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0 #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0 #send errors: 0, #recv errors: 0
要解决此问题,请检查以下条件:
如果加密访问列表与远程站点匹配,且 NAT 0 访问列表正确。
如果路由正确,并且流量确实到达了通过内部的外接口。示例输出显示解密完成,但是未发生加密。
如果在ASA上配置了sopt permit connection-vpn命令。如果未配置,请配置此命令,因为它允许ASA将加密/VPN流量从接口ACL检查中排除。
您可能想要为单个 VPN 隧道使用多个备用对等体。
配置多个对等体相当于提供回退列表。对于每个隧道,安全设备会尝试与列表中的第一个对等体协商。
如果该对等体不响应,则安全设备会按照顺序与列表中的下一个对等体协商,直到对等体做出响应或在列表中不再有对等体。
ASA已将加密映射配置为主要对等体。辅助对等体可添加在主对等体之后。
此示例配置将主对等体显示为 X.X.X.X,备用对等体为 Y.Y.Y.Y:
ASA(config)#crypto map mymap 10 set peer X.X.X.X Y.Y.Y.Y
为了暂时禁用 VPN 隧道并重新启动服务,请完成此部分所述的程序。
在全局配置模式下使用crypto map接口命令可删除之前定义的接口加密映射集。
使用此命令的enoform可从接口中删除加密映射集。
hostname(config)#no crypto map map-name interface interface-name
此命令可删除任何活动安全设备接口的加密映射集,并且使 IPsec VPN 隧道在该接口上保持不活动状态。
要重新启动接口上的 IPsec 隧道,在该接口可提供 IPsec 服务之前,您必须将加密映射集分配到接口。
hostname(config)#crypto map map-name interface interface-name
当 VPN 网关上配置了大量隧道时,一些隧道不传递流量。ASA 不会收到那些隧道的加密数据包。
由于 ASA 未能通过隧道传递加密数据包,因此出现此问题。在 ASP 表中创建了重复的加密规则。
显示 %ASA-5-713904:Group = DefaultRAGroup, IP = 192.0.2.0,...不支持的事务模式v2版本。Tunnel terminatedererror消息出现。
Transaction Mode v2错误消息的原因是ASA仅支持IKE模式配置V6,而不支持旧的V2模式版本。
请使用 IKE 模式配置 V6 版本来解决此错误。
%ASA-6-722036:Group < client-group > User < xxxx > IP < x.x.x.x> Transmitting large packet 1220 (threshold 1206) 错误消息显示在 ASA 的日志中。
此日志意味着什么?如何解决该问题?
此日志消息说明已向客户端发送了一个大型数据包。数据包的源不能识别客户端的 MTU。
这也可能是由于对不可压缩的数据进行了压缩所致。解决方法是使用svc compression nonecommand关闭SVC压缩,这样可以解决此问题。
如果在VPN隧道的一端启用了QoS,则会收到以下错误消息:
IPSEC: Received an ESP packet (SPI= 0xDB6E5A60, sequence number= 0x7F9F) from 10.18.7.11 (user= ghufhi) to 172.16.29.23 that failed anti-replay check
此消息通常在隧道的一端执行QoS时产生。当检测到数据包顺序混乱时,会发生这种情况。
您可以禁用 QoS 以停止此错误,但是只要流量可以通过隧道就可以忽略此错误。
运行crypto map mymap 20 ipsec-isakmpcommand时,可能会收到以下错误:
警告:加密映射条目不完整
例如:
ciscoasa(config)#crypto map mymap 20 ipsec-isakmp WARNING: crypto map entry incomplete
在定义新的加密映射时,这是通常的警报;提醒:访问列表(匹配地址)、转换集和对等地址等参数必须配置后才能正常工作。
此外,如果配置中未显示您键入的用于定义加密映射的第一行代码,这也属于正常现象。
无法通过 vpn 隧道传递大型 ping 数据包。当我们尝试传递大型 ping 数据包时,会收到错误 %ASA-4-400024:IDS:2151 Large ICMP packet from to on interface outside.
禁用签名2150和2151以解决此问题。禁用签名后,ping操作将正常工作。
请使用以下命令禁用签名:
ASA(config)#ip audit signature 2151 disable
ASA(config)#ip audit signature 2150 disable
我在 ASA 的日志消息中收到了以下错误:
错误:- %|ASA-4-402119:IPSEC:从remote_IP(用户名)到local_IP收到了一个未能通过反重播检查的协议数据包(SPI=spi,序列号= seq_num)。
要解决此错误,请使用crypto ipsec security-association replay window-sizecommand更改窗口大小。
hostname(config)#crypto ipsec security-association replay window-size 1024
Cisco 建议您使用 1024 完整窗口大小以消除任何防重播问题。
少数主机无法连接到互联网,且此错误消息显示在系统日志中:
错误消息 - %ASA-4-407001:拒绝本地主机接口名称:inside_address的流量,已超过许可证数量限制
当用户数量超过所用许可证的用户限制时会收到此错误消息。可以通过将许可证升级到更多用户来解决此错误。
根据需要,用户许可证可以包括 50、100 或无限用户数。
错误消息 — %VPN_HW-4-PACKET_ERROR:错误消息表示路由器收到的ESP数据包与HMAC不匹配。此错误可能由以下问题引起:
有缺陷的 VPN H/W 模块
损坏的 ESP 数据包
为了解决此错误消息:
除非出现流量中断,否则请忽略该错误消息。
如果出现流量中断,请替换模块。
当您尝试在交换机的中继端口上添加允许的VLAN时,会显示以下错误消息:命令拒绝:delete crypto connection between VLAN XXXX and VLAN XXXX, first..
无法修改 WAN 边缘中继以允许附加 VLAN。也就是说,您无法在IPSEC VPN SPA中继中添加VLAN。
此命令被拒绝,因为它会导致属于允许VLAN列表的加密连接接口VLAN,从而可能导致IPSec安全漏洞。
请注意,此行为适用于所有中继端口。
使用switchport trunk allowed vlan nonecommand或switchport trunk allowed vlan remove(vlanlist)"命令代替no switchport trunk allowed vlan(vlanlist)命令。
当您尝试从 VPN 隧道远端的设备远程登录时,或者当您尝试从路由器本身远程登录时,会出现此错误:
错误消息 - % FW-3-RESPONDER_WND_SCALE_INI_NO_SCALE:丢弃的数据包 — 会话x.x.x.x:27331到x.x.x.x:23的无效窗口缩放选项[Initiator(flag 0,factor 0)Responder(flag 1, factor 2)]
根据需要,用户许可证可以包括 50、100 或无限用户数。添加了窗口缩放功能,以便在长距离网络(LFN)上快速传输数据。
这些典型连接具有非常高的带宽,同时具有高延迟。
卫星连接网络是 LFN 的一个示例,因为卫星链路始终具有高传播延迟,但通常具有高带宽。
要启用窗口缩放功能以支持LFN,TCP窗口大小必须大于65,535。如果将TCP窗口大小增加到大于65,535,则可以解决此错误消息。
VPN 隧道启动后,会显示以下错误消息:
%ASA-5-305013:为转发和反向匹配的非对称NAT规则。请更新此问题流程
要解决此问题,在不与使用NAT的主机位于同一接口时,请使用映射地址而不是实际地址连接到主机。
此外,如果应用嵌入IP地址,请启用inspectcommand。
如果 VPN 隧道未能启动,会显示以下错误消息:
%ASA-5-713068:Received non-routine Notify message:notify_type
由于错误配置(即,当对等体上的策略或 ACL 未配置为相同时)而导致出现此消息。
策略和 ACL 匹配后,隧道会启动,不出现任何问题。
当您尝试升级思科自适应安全设备 (ASA) 时,会显示以下错误消息之一:
%ASA-5-720012:(VPN辅助)无法更新备用设备上的IPSec故障转移运行时数据。
%ASA-6-720012:(VPN单元)无法更新备用单元上的IPsec故障转移运行时数据。
这些错误消息是告知性错误。这些消息不影响 ASA 或 VPN 的功能。
当VPN故障切换子系统由于已在备用设备上删除相关IPsec隧道而无法更新与IPsec相关的运行时数据时,会显示这些消息。
要解决这些问题,请在主用设备上发出wr standbycommand。
%ASA-3-713063:IKE Peer address not configured for destination 0.0.0.0错误消息出现,并且隧道无法启动。
当未为 L2L 隧道配置 IKE 对等地址时,会显示此消息。
如果更改加密映射的序列号,然后删除并重新应用加密映射,则可以解决此错误。
“%ASA-3-752006:隧道管理器无法调度KEY_ACQUIRE消息。加密映射或隧道组可能配置错误。"错误消息记录在Cisco ASA上。
此错误消息由于加密映射或隧道组的错误配置而造成。确保两者均正确配置。有关此错误消息的详细信息,请参阅错误752006。
以下是一些纠正措施:
删除加密 ACL(例如,关联到动态映射)。
删除未使用的 IKEv2 相关配置(如有)。
验证加密 ACL 是否正确匹配。
删除重复的访问列表条目(如有)。
在 LAN 到 LAN VPN 隧道设置中,在 ASA 的一端会收到以下错误消息:
解封的内部数据包与SA中协商的策略不匹配。
数据包将目的地址指定为10.32.77.67,将源地址指定为10.105.30.1,将协议指定为icmp。
SA将其本地代理指定为10.32.77.67/255.255.255.255/ip/0,将其remote_proxy指定为10.105.42.192/255.255.255.224/ip/0。
您需要验证在 VPN 隧道的两端定义的相关流量访问列表。两者必须完全匹配为镜像映像。
当AnyConnect无法连接时,会收到Failed to launch 64-bit VA installer to enable the virtual adapter due to error 0 xfffffflog消息。
要解决此问题,请执行以下步骤:
转至System > Internet Communication Management > Internet Communication设置,并确保Turn Off Automatic Root Certificates 已禁用。
如果禁用它,则禁用分配给受影响计算机的GPO的整个管理模板部分,然后重新测试。
有关详细信息,请参阅关闭自动根证书更新。
在 Windows 7 中 Cisco VPN Client 无法与数据卡一起使用。
安装在 Windows 7 上的 Cisco VPN Client 无法与 3G 连接一起使用,因为在 Windows 7 中安装的 Cisco VPN Client 上不支持数据卡。
在尝试在ASA的外部接口上启用isakmp期间,会收到以下警报消息:
ASA(config)# crypto isakmp enable outside WARNING, system is running low on memory. Performance may start to degrade. VPN functionality may not work at all.
此时,通过 ssh 访问 ASA。HTTPS 停止,且其他 SSL 客户端也受影响。
此问题归结于不同模块(例如,记录器和加密)的内存要求不同。
确保您没有logging queue 0命令。它使队列大小设置为8192,并且内存分配增加。
在ASA5505和ASA5510等平台中,这种内存分配往往导致其他模块内存不足。
会收到以下错误消息:
%ASA-3-402130: CRYPTO: Received an ESP packet (SPI = 0xXXXXXXX, sequence number= 0xXXXX) from x.x.x.x (user= user) to y.y.y.y with incorrect IPsec padding
发生此问题的原因是IPSec VPN不使用哈希算法进行协商。数据包散列可确保ESP信道的完整性检查。
因此,如果没有哈希值,Cisco ASA不会检测到格式错误的数据包,它会尝试解密这些数据包。
但是,由于这些数据包的格式不正确,ASA会在数据包解密过程中发现缺陷。这样会导致出现填充错误消息。
建议在 VPN 的转换集中包括散列算法并确保尽量减少对等体之间链路的畸形数据包。
即使生存时间设置为 24 小时,VPN 隧道也会在每 18 个小时之后断开。
生存期是SA可用于重新生成密钥的最长时间。您在配置中输入作为生存时间的值不同于 SA 的密钥更新时间。
因此,必须在当前 SA 到期之前协商一个新的 SA(或在 IPsec 情况下为 SA 对)。
密钥更新时间必须始终短于生存时间,以便在第一次密钥更新尝试失败的情况下允许多次尝试。
RFC 未指定如何计算密钥更新时间。这留给实施者自行裁量。
因此,时间因平台而异。有些实施可使用随机因子来计算密钥更新计时器。
例如,如果ASA启动隧道,则通常在64800秒= 75%的时间重新生成密86400。
如果路由器启动,则 ASA 可等待更长时间,以便为对等体留出更多时间来启动密钥更新。
因此,正常来说,VPN 会话会每 18 个小时断开以使用另一个密钥进行 VPN 协商。这样做时不得导致任何 VPN 丢弃或问题。
LAN 到 LAN 隧道重新协商之后无法维持通信流量。
ASA会监控通过它的每个连接,并根据应用检查功能在其状态表中维护一个条目。
通过 VPN 的加密流量细节以安全关联 (SA) 数据库的形式进行维护。对于 LAN 到 LAN VPN 连接,它维护两种不同的通信流量。
一个是 VPN 网关之间的加密流量。另一个是 VPN 网关背后的网络资源和另一端后面的终端用户之间的通信流量。
当 VPN 终止时,删除此特殊 SA 的流量详细信息。
但是,此 TCP 连接的 ASA 维护的状态表条目由于无活动而变得过时,进而妨碍下载。
这意味着,在用户应用终止时,ASA仍保留该特定流的TCP连接。
但是,在TCP空闲计时器过期后,TCP连接会成为杂散连接,并最终超时。
通过引入名为持久IPSec隧道流量的功能解决了此问题。
Cisco ASA 集成了一条新命令 sysopt connection preserve-vpn-flows,以便在 VPN 隧道重新协商时保留状态表信息。
默认情况下禁用该命令。为此,当L2L VPN从中断中恢复并重新建立隧道时,Cisco ASA会维护TCP状态表信息。
2900 系列路由器上会收到以下错误消息:
Error:Mar 20 10:51:29:%CERM-4-TX_BW_LIMIT:对于带有securityk9技术包许可证的加密功能,已达到最大Tx带宽限制85000 Kbps。
这是已知问题,它是由于美国政府签发严格的指南而导致。
因此,securityk9许可证仅允许速率接近90Mbps的负载加密,并限制到设备的加密隧道/TLS会话数量。
有关加密导出限制的详细信息,请参阅Cisco ISR G2 SEC和HSEC许可。
如果是思科设备,它派生出小于 85Mbps 的单向流量进出 ISR G2 路由器,双向总计为 170 Mbps。
此要求适用于思科 1900、2900 和 3900 ISR G2 平台。此命令有助于查看以下限制:
Router#show platform cerm-information Crypto Export Restrictions Manager(CERM) Information: CERM functionality: ENABLED ---------------------------------------------------------------- Resource Maximum Limit Available ---------------------------------------------------------------- Tx Bandwidth(in kbps) 85000 85000 Rx Bandwidth(in kbps) 85000 85000 Number of tunnels 225 225 Number of TLS sessions 1000 1000 ---Output truncated----
为避免此问题,请购买HSECK9许可证。“hseck9”功能许可证提供增强的负载加密功能,增加 VPN 隧道计数和安全语音会话。
有关Cisco ISR路由器许可的详细信息,请参阅软件激活。
在多次密钥更新但未清除触发条件之后,会在 IPsec 连接上发现到此问题。
如果检查show asp dropcommand的输出并验证发送的每个出站数据包的Expired VPN情景计数器是否增加,则可以确定存在此问题。
如果隧道未启动,show crypto isakmp sacommand和indexbugoutput的输出中也会显示AG_INIT_EXCHmessage。
原因可能是isakmp策略不匹配,或者端口udp 500在途中受到阻塞。
此消息是告知性消息,与 VPN 隧道的断开没有任何关系。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
31-Mar-2014 |
初始版本 |