本文档包含 IPSec VPN 问题的最常见解决方案。这些解决方案直接来自 Cisco 技术支持已解决的服务请求。其中许多解决方案可以在对 IPSec VPN 连接进行深入故障排除之前实施。因此,在您开始排除连接故障和致电思科技术支持之前,本文档可为您提供通用程序的检查表进行尝试。
如果需要站点到站点 VPN 和远程访问 VPN 的配置示例文档,请参阅配置示例和技术说明的远程访问VPN、使用 PIX 的站点到站点 VPN (L2L)、使用 IOS 的站点到站点 VPN (L2L) </i>
注意:尽管本文档中的配置示例用于路由器和安全设备,但几乎所有这些概念也适用于VPN 3000集中器。
注:请参阅IP安全故障排除 — 了解和使用debug命令,以解释用于对Cisco IOS®软件和PIX上的IPsec问题进行故障排除的常用debug命令。
注意:ASA/PIX不会通过IPsec VPN隧道传递组播流量。
注意:您可以使用命令查找工具(仅限注册客户)查找本文档中使用的命令。
警告:本文档中介绍的许多解决方案都可能导致设备上所有IPsec VPN连接暂时中断。建议根据更改控制策略小心实施这些解决方案。
思科建议您了解以下思科设备上的 IPsec VPN 配置:
Cisco PIX 500 系列安全设备
Cisco PIX 5500 系列安全设备
Cisco IOS 路由器
Cisco VPN 3000 系列集中器(可选)
本文档中的信息基于以下软件和硬件版本:
Cisco PIX 5500 系列安全设备
Cisco PIX 500 系列安全设备
Cisco IOS
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
最近配置或修改的 IPSec VPN 解决方案不起作用。
当前 IPSec VPN 配置不再起作用。
本部分包含最常见 IPSec VPN 问题的解决方案。虽然这些解决方案未以任何特定顺序列出,但在您进行深入故障排除以及致电 TAC 之前,可以将它们用作验证或尝试的项目清单。所有这些解决方案都直接来自 TAC 服务请求,并且已解决众多的用户问题。
注意:由于空间考虑,这些部分中的某些命令已降到第二行。
通过 NAT 穿透 (NAT-T),VPN 流量可以通过 NAT 或 PAT 设备,例如 Linksys SOHO 路由器。如果未启用 NAT-T,通常 VPN Client 用户似乎可以连接到 PIX 或 ASA 而不会出现问题,但是他们无法访问安全设备之后的内部网络。
如果您未在 NAT/PAT 设备中启用 NAT-T,则会在 PIX/ASA 中收到错误消息 regular translation creation failed for protocol 50 src inside:10.0.1.26 dst outside:10.9.69.4。
同样,如果无法从同一 IP 地址同时登录,则会显示 Secure VPN connection terminated locally by client. Reason 412:The remote peer is no longer responding错误消息。在前端 VPN 设备中启用 NAT-T,以解决此错误。
注意:在Cisco IOS软件版本12.2(13)T及更高版本中,NAT-T在Cisco IOS中默认启用。
以下是用于在 Cisco 安全设备上启用 NAT-T 的命令。以下示例中的 20 是 keepalive 时间(默认值)。
PIX/ASA 7.1 及更低版本
pix(config)#isakmp nat-traversal 20
PIX/ASA 7.2(1) 及更高版本
securityappliance(config)#crypto isakmp nat-traversal 20
要使命令正常工作,还需要修改客户端。
在 Cisco VPN Client 中,选择 Connection Entries 并单击 Modify。此时将打开一个新窗口,您必须在其中选择 Transport 选项卡。在该选项卡下,选中 Enable Transparent Tunneling 和 IPSec over UDP ( NAT/PAT) 单选按钮。然后,单击 Save 并测试连接。
注意:此命令对PIX 6.x和PIX/ASA 7.x都相同。
注意:通过配置ACL允许NAT-T、UDP 500和ESP端口的UDP 4500非常重要,因为PIX/ASA充当NAT设备。要了解有关 PIX/ASA 中 ACL 配置的详细信息,请参阅配置一条通过防火墙(执行 NAT)的 IPSec 隧道。
VPN 集中器
选择 Configuration > Tunneling and Security >IPSEC >NAT Transparency > Enable: IPsec over NAT-T 以在 VPN 集中器上启用 NAT-T。
注意: NAT-T 也让多个 VPN Client 可通过 PAT 设备同时连接到任意前端,而不管它是 PIX、路由器还是集中器。
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
在此情况下,ping 必须来源于任一个路由器之后的“内部”网络。这是因为加密 ACL 仅配置为加密具有那些源地址的流量。源自任一路由器的面向 Internet 接口的 ping 不会进行加密。在特权 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
假设该图中的路由器已替换为 PIX 或 ASA 安全设备。用于测试连接的 ping 也可以源自具有 inside 关键字的内部接口:
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阶段为up时,加密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:
Cisco IOS
router(config)#crypto isakmp enable
Cisco PIX 7.1 及更低版本(使用所需接口替换 outside)
pix(config)#isakmp enable outside
Cisco PIX/ASA 7.2(1) 及更高版本(使用所需接口替换 outside)
securityappliance(config)#crypto isakmp enable outside
在外部接口上启用 ISAKMP 时,也可能会出现以下错误:
UDP: ERROR - socket <unknown> 62465 in used ERROR: IkeReceiverInit, unable to bind to port
该错误的原因可能是,可以在该接口上启用 isakmp 之前,ASA/PIS 之后的客户端通过 PAT 转换到 udp 端口 500。删除 PAT 转换 (clear xlate) 之后,就可以启用 isakmp。
注意:请务必确保UDP 500和4500端口号保留用于与对等体协商ISAKMP连接。
注意:当接口上未启用ISAKMP时,VPN客户端显示一条类似于以下消息的错误消息:
Secure VPN connection terminated locally by client. Reason 412: The remote peer is no longer responding
注意:要解决此错误,请在VPN网关的加密接口上启用ISAKMP。
在 IPsec 协商中,完全转发保密 (PFS) 可确保每个新的加密密钥与任何先前密钥不相关。在两个隧道对等体上启用或禁用 PFS;否则,在 PIX/ASA/IOS 路由器中不会建立 LAN 到 LAN (L2L) IPSec 隧道。
PIX/ASA:
默认情况下 PFS 处于禁用状态。要启用 PFS,请在组策略配置模式下使用 pfs 命令并指定 enable 关键字。要禁用 PFS,请输入 disable 关键字。
hostname(config-group-policy)#pfs {enable | disable}
要从正在运行的配置中删除 PFS 属性,请输入此命令的 no 形式。一个组策略可以从另一个组策略继承 PFS 的值。请输入此命令的 no 形式,以防止继承值。
hostname(config-group-policy)#no pfs
IOS 路由器:
要指定在此加密映射条目请求新的安全关联时 IPsec 必须要求 PFS,或者 IPsec 在接收新安全关联的请求时需要 PFS,请在加密映射配置模式下使用 set pfs 命令。要指定 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
注意: 完全转发保密 (PFS) 是 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 IOS
router#show crypto isakmp sa router#show crypto ipsec sa
Cisco PIX/ASA 安全设备
securityappliance#show crypto isakmp sa securityappliance#show crypto ipsec sa
注意:Cisco PIX 6.x和PIX/ASA 7.x的这些命令相同
清除安全关联。可以如粗体所示输入每个命令或同时输入与命令一起显示的选项。
Cisco 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 PIX/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 的生存时间内出现任何差异,您会收到 %PIX|ASA-5-713092:Group = x.x.x.x, IP = x.x.x.x, Failure during phase 1 rekeying attempt due to collision 错误消息。对于 FWSM,您会收到 %FWSM-5-713092: Group = x.x.x.x, IP = x.x.x.x, Failure during phase 1 rekeying attempt due to collision 错误消息。在两个对等体中配置相同的值,以解决该错误。
默认值为 86,400 秒(24 小时)。通常,较短的生存时间可提供更安全的 ISAKMP 协商(在某种程度上),但是,由于生存时间较短,安全设备建立未来的 IPSec SA 也更快。
当来自两个对等体的两个策略包含相同的加密、散列、身份验证和 Diffie-Hellman 参数值,并且远程对等体的策略指定的生存时间小于或等于对比策略中的生存时间时,即视为策略匹配。如果生存时间不同,将使用较短的生存时间(来自远程对等体的策略)。如果找不到可接受的匹配,IKE 将拒绝协商,并且无法建立 IKE SA。
指定 SA 生存时间。以下示例设置的生存时间为 4 小时(14400 秒)。 默认值为 86400 秒(24 小时)。
PIX/ASA
hostname(config)#isakmp policy 2 lifetime 14400
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.
要解决该错误消息,请将 lifetime 值设置为 0,以将 IKE 安全关联的生存时间设置为无限。VPN 将始终处于连接状态并且不会终止。
hostname(config)#isakmp policy 2 lifetime 0
您也可以通过禁用组策略中的 re-xauth 来解决问题。
如果配置 ISAKMP Keepalive,则它有助于防止 LAN 到 LAN 或远程访问 VPN 偶尔被丢弃,这包括 VPN Client、隧道和一段非活动时间之后丢弃的隧道。此功能使隧道端点可以监控远程对等体的持续存在状态,以及向该对等体报告其自己的存在状态。如果对等体没有响应,则端点会删除连接。要使 ISAKMP keepalive 起作用,两个 VPN 端点必须支持它们。
使用以下命令在 Cisco IOS 中配置 ISAKMP keepalive:
router(config)#crypto isakmp keepalive 15
使用以下命令,以在 PIX/ASA 安全设备上配置 ISAKMP keepalive:
Cisco PIX 6.x
pix(config)#isakmp keepalive 15
Cisco PIX/ASA 7.x 及更高版本(针对名为 10.165.205.222 的隧道组)
securityappliance(config)#tunnel-group 10.165.205.222 ipsec-attributes securityappliance(config-tunnel-ipsec)#isakmp keepalive threshold 15 retry 10
在某些情况下,必须禁用此功能以便解决问题,例如,如果 VPN Client 位于阻止 DPD 数据包的防火墙之后。
Cisco PIX/ASA 7.x 及更高版本(针对名为 10.165.205.222 的隧道组)
禁用 IKE keepalive 处理(默认情况下处于启用状态)。
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 文件。
将 ForceKeepAlives=0(默认值)更改为 ForceKeepAlives=1。
注意:Keepalive是思科专有协议,不受第三方设备支持。
在许多情况下,IPSec VPN 隧道不能启动的原因可能只是一个简单的输入错误。例如,在安全设备上,预共享密钥在输入后即变为隐藏状态。这种混淆使无法查看密钥是否不正确。请确定您在每个VPN终端上正确输入了任何预共享密钥。重新输入密钥以确保其正确;这是可以帮助避免深入排除故障的简单解决方案。
在远程访问 VPN 中,请检查 Cisco VPN Client 中是否输入了有效的组名称和预共享密钥。如果 VPN Client 和前端设备之间的组名称/预共享密钥不匹配,可能就会出现以下错误。
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... may 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)
您也可以恢复预共享密钥,而无需在 PIX/ASA 安全设备上进行任何配置更改。请参阅 PIX/ASA 7.x:预共享密钥恢复。
警告:如果删除与加密相关的命令,则可能会关闭一个或所有VPN隧道。请小心使用以下命令,在按照这些步骤操作之前,请参阅您组织的更改控制策略。
使用以下命令,以删除和重新输入 IOS 中对等体 10.0.0.1 或 vpngroup 组的预共享密钥 secretkey:
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
使用以下命令,以删除和重新输入 PIX/ASA 安全设备中对等体 10.0.0.1 的预共享密钥 secretkey:
Cisco PIX 6.x
pix(config)#no isakmp key secretkey address 10.0.0.1 pix(config)#isakmp key secretkey address 10.0.0.1
Cisco PIX/ASA 7.x 及更高版本
securityappliance(config)#tunnel-group 10.0.0.1 ipsec-attributes securityappliance(config-tunnel-ipsec)#no pre-shared-key securityappliance(config-tunnel-ipsec)#pre-shared-key secretkey
启动 VPN 隧道操作的连接断开。发生此问题的原因可能是阶段 I 协商期间预共享密钥不匹配。
如以下示例所示,show crypto isakmp sa 命令中的 MM_WAIT_MSG_6 消息表示预共享密钥不匹配:
ASA#show crypto isakmp sa Active SA: 1 Rekey SA: 0 (A tunnel will report 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 站点无法显示。
警告:如果从接口删除加密映射,则它肯定会关闭与该加密映射关联的所有IPsec隧道。请小心按照以下步骤操作,在继续之前,请考虑您组织的更改控制策略。
使用以下命令,以删除和替换 Cisco IOS 中的加密映射:
首先从接口中删除加密映射。请使用 crypto map 命令的 no 形式。
router(config-if)#no crypto map mymap
继续使用 no 形式,以删除整个加密映射。
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
使用以下命令,以删除和替换 PIX 或 ASA 上的加密映射:
首先从接口中删除加密映射。请使用 crypto map 命令的 no 形式。
securityappliance(config)#no crypto map mymap interface outside
继续使用 no 形式,以删除其他加密映射命令。
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-ipsec 和 sysopt connection permit-vpn 命令允许来自 IPsec 隧道的数据包及其有效负载绕过安全设备上的接口 ACL。如果未启用其中的一个命令,则安全设备上终止的 IPSec 隧道可能会失败。
在安全设备软件版本 7.0 及更低版本中,此情况的相关 sysopt 命令为 sysopt connection permit-ipsec。
在安全设备软件版本 7.1(1) 及更高版本中,此情况的相关 sysopt 命令为 sysopt connection permit-vpn。
在 PIX 6.x 中,默认情况下此功能处于禁用状态。使用 PIX/ASA 7.0(1) 及更高版本时,默认情况下此功能处于启用状态。使用以下 show 命令可确定您的设备上是否已启用相关 sysopt 命令:
Cisco PIX 6.x
pix# show 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 no sysopt uauth allow-http-cache no sysopt connection permit-ipsec !--- sysopt connection permit-ipsec is disabled no sysopt connection permit-pptp no sysopt connection permit-l2tp no sysopt ipsec pl-compatible
Cisco PIX/ASA 7.x
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)
使用以下命令可针对您的设备启用正确的 sysopt 命令:
Cisco PIX 6.x 和 PIX/ASA 7.0
pix(config)#sysopt connection permit-ipsec
Cisco PIX/ASA 7.1(1) 及更高版本
securityappliance(config)#sysopt connection permit-vpn
注:如果不想使用sysopt connection命令,则必须在外部ACL中明确允许所需流量,即从源到目的地的相关流量,例如从远程设备的LAN到本地设备的LAN,以及从远程设备外部接口到本地设备外部接口的“UDP端口500”。
如果 IPsec VPN 隧道在 IKE 协商时出现故障,则该故障可能归结于 PIX 或其对等体未能识别其对等体的身份。当两个对等体使用 IKE 建立 IPSec 安全关联时,每个对等体会将其 ISAKMP 身份发送到远程对等体。对等体发送的是其 IP 地址还是主机名,取决于每个对等体自身设置的 ISAKMP 身份。默认情况下,PIX 防火墙单元的 ISAKMP 身份设置为 IP 地址。通常,请以相同的方式设置安全设备及其对等体的身份,以避免 IKE 协商失败。
要对发送至对等体的阶段 2 ID 进行设置,请在全局配置模式下使用 isakmp identity 命令
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 exchanging ISAKMP identity information (default). !--- This name comprises the hostname and the domain name.
在使用 PIX/ASA 配置迁移工具将配置从 PIX 移动到 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!
因为在默认情况下,PIX 设置为将连接识别为 hostname,而 ASA 识别为 <b>为了解决此问题,请在全局配置模式下使用 crypto isakmp identity 命令,如下所示:
crypto isakmp identity hostname !--- Use the fully-qualified domain name of !--- the host exchanging ISAKMP identity information (default). !--- This name comprises the hostname and the domain name.
当您收到 Received an un-encrypted INVALID_COOKIE 错误消息时,请发出 crypto isakmp identity address 命令以解决问题。
注意:从软件版本7.2(1)中弃用了isakmp identity命令。 有关详细信息,请参阅 Cisco 安全设备命令参考 7.2 版。
如果空闲超时设置为 30 分钟(默认值),则意味着如果超过 30 分钟没有流量通过隧道,则将丢弃该隧道。VPN Client 将在 30 分钟后断开连接,而不管空闲超时的设置如何,并且将出现 PEER_DELETE-IKE_DELETE_UNSPECIFIED 错误。
将 idle timeout 和 session timeout 配置为 none,以便让隧道始终为 up,并且让隧道即使在使用第三方设备时也不会被丢弃。
PIX/ASA 7.x 及更高版本
在组策略配置模式下或用户名配置模式下输入 vpn-idle-timeout 命令,以配置用户超时时长:
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-idle-timeout none
请在组策略配置模式下或用户名配置模式下,使用 vpn-session-timeout 命令为 VPN 连接配置最大时长。
hostname(config)#group-policy DfltGrpPolicy attributes hostname(config-group-policy)#vpn-session-timeout none
注:当您配置了tunnel-all时,您无需配置idle-timeout,因为即使配置了VPN空闲超时,它也不会工作,因为所有流量都通过隧道(因为已配置tunnel-all)。 因此,相关流量(或甚至是 PC 生成的流量)将引人关注且不会让 Idle-timeout 产生作用。
Cisco IOS 路由器
在全局配置模式下或加密映射配置模式下,使用 crypto ipsec security-association idle-time 命令以配置 IPsec SA 空闲计时器。默认情况下,IPsec SA 空闲计时器处于禁用状态。
crypto ipsec security-association idle-time seconds
时间单位为 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 不会重叠。
注意:在VPN集中器上,您可能会看到类似以下的日志:
Tunnel Rejected:IKE peer does not match remote peer as defined in L2L policy
为了避免出现此消息以及为了启动隧道,请确保加密 ACL 不重叠,且任何其他已配置 VPN 隧道未使用相同的相关流量。
请勿重复使用 ACL。即使 NAT 免除 ACL 和加密 ACL 指定的是相同流量,也请使用两个不同的访问列表。
对于远程访问配置,请勿对具有动态加密映射的相关流量使用访问列表。这会导致 VPN Client 无法连接到前端设备。如果为远程访问 VPN 配置的加密 ACL 不正确,将会收到 %ASA-3-713042: IKE Initiator unable to find policy:Intf 2 错误消息。
注意:如果这是VPN站点到站点隧道,请确保将访问列表与对等体匹配。它们必须在对等体上按相反顺序排列。
有关说明如何在 Cisco VPN Client 和 PIX/ASA 之间设置远程访问 VPN 连接的示例配置,请参阅 PIX/ASA 7.x 和 Cisco VPN Client 4.x 通过 Windows 2003 IAS RADIUS(针对 Active Directory)进行的身份验证配置示例。
请确保您的设备已配置为使用 NAT 免除 ACL。在路由器上,这意味着您使用 route-map 命令。在 PIX 或 ASA 上,这意味着您使用 nat (0) 命令。LAN 到 LAN 配置和远程访问配置都需要使用 NAT 免除 ACL。
此处,IOS 路由器配置为免除来自 NAT 在 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
此处,PIX 配置为免除来自 NAT 在 192.168.100.0 /24 和 192.168.200.0 /24 或 192.168.1.0 /24 之间发送的流量。例如,所有其他流量都受 NAT 过载影响:
access-list noNAT extended permit ip 192.168.100.0 255.255.255.0 192.168.200.0 255.255.255.0 access-list noNAT extended permit ip 192.168.100.0 255.255.255.0 192.168.1.0 255.255.255.0 nat (inside) 0 access-list noNAT nat (inside) 1 0.0.0.0 0.0.0.0 global (outside) 1 interface
注意:NAT免除ACL仅与IP地址或IP网络配合使用,例如上述示例(access-list noNAT),并且必须与加密映射ACL相同。NAT 免除 ACL 不适用于端口号(例如,23、25 等等)。
注意:在VOIP环境中,网络之间的语音呼叫通过VPN进行通信,如果NAT 0 ACL配置不正确,则语音呼叫将不起作用。在执行深入 VOIP 故障排除之前,建议检查 VPN 连接状态,因为可能是 NAT 免除 ACL 错误配置引起的问题。
注意:如果NAT免除(nat 0)ACL中配置错误,您会收到错误消息,如图所示。
%PIX-3-305005: No translation group found for icmp src outside:192.168.100.41 dst inside:192.168.200.253 (type 8, code 0)
%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
注意:虽然此处未说明,但PIX和ASA安全设备也使用这一概念。
在 PIX/ASA 中,远程访问配置的分割隧道 ACL 必须是允许流量流入 VPN Client 需要访问的网络的标准访问列表。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
Cisco 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 PIX 6.x
pix(config)#access-list 10 permit 192.168.100.0 255.255.255.0 pix(config)#vpngroup MYGROUP split-tunnel 10
Cisco PIX/ASA 7.x
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
如果在 ASA 上错误配置或未配置 NO NAT ACL,则在 ASA 8.3 中会出现以下错误:
%ASA-5-305013:匹配正向和反向流的非对称NAT规则;udp src outside的连接:x.x.x.x/xxxxx dst inside:x.x.x.x/xx由于NAT反向路径故障而被拒绝
为了解决此问题,请验证配置是否正确,如果设置不正确,请重新配置。
站点到站点 VPN 隧道的 ASA 版本 8.3 中的 NAT 免除配置:
HOASA和BOASA之间必须使用版本8.3建立站点到站点VPN,ASA和BOASA都使用版本8.3。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 Client 或站点到站点 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, dropping
通常,由于 ISAKMP 策略不匹配或缺少 NAT 0 语句就会出现此消息。
此外,系统还会显示以下消息:
Error Message %PIX|ASA-6-713219: Queueing KEY-ACQUIRE messages to be processed when P1 SA is complete.
此消息表明阶段 2 消息在阶段 1 完成后正在排队。此错误消息可能是由以下原因之一造成的:
任何对等体上的阶段不匹配
ACL 正在阻止对等体完成阶段 1
此消息通常紧跟 Removing peer from peer table failed, no match! 错误消息。
如果 Cisco VPN Client 无法连接前端设备,则问题可能是 ISAKMP 策略不匹配。前端设备必须与 Cisco VPN Client 的其中一个 IKE 建议匹配。
注意:对于在PIX/ASA上使用的ISAKMP策略和IPsec转换集,Cisco VPN客户端不能将策略与DES和SHA结合使用。如果您使用 DES,则需要使用 MD5 散列算法,也可以使用其他组合,如 3DES 和 SHA 以及 3DES 和 MD5。
路由几乎是每个 IPSec VPN 部署的关键部分。请确保您的加密设备(如路由器和 PIX 或 ASA 安全设备)具有正确的路由信息,以便通过您的 VPN 隧道发送流量。而且,如果您的网关设备之后存在其他路由器,请确保这些路由器了解如何到达隧道,并且了解另一端所使用的网络类型。
VPN 部署中的路由的一个关键组件是反向路由注入 (RRI)。RRI 会在 VPN 网关的路由表中放置远程网络或 VPN Client 的动态条目。这些路由对安装路由的设备以及网络中的其他设备非常有用,这是因为 RRI 安装的路由可以通过路由协议(如 EIGRP 或 OSPF)进行再分配。
在 LAN 到 LAN 配置中,每个端点包含的路由所指向的网络应对流量进行加密,这一点非常重要。在本例中,路由器A必须具有通往路由器B后面的网络的路由10.89.129.2。路由器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 已替换为 PIX 或 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 已替换为 PIX 或 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 Client 在连接时的给定地址在 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 PIX 或 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客户端分配的IP地址池与头端设备的内部网络重叠,则会发生路由问题。有关详细信息,请参阅专用网络重叠部分。
确保两个端点上的转换集所要使用的 IPsec 加密和散列算法是相同的。有关详细信息,请参阅 Cisco 安全设备配置指南的命令参考部分。
注意:对于在PIX/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 cisco
注意:加密映射名称区分大小写。
注意:当动态加密人序列不正确导致对等体命中错误的加密映射时,也可以看到此错误消息,而且该错误消息还可通过定义相关流量的不匹配加密访问列表来显示:%ASA-3-713042:IKE Initiator unable to find policy:
对于要在同一个接口中终止多个 VPN 隧道的方案,我们需要创建名称相同但序列号不同的加密映射(每个接口仅允许一个加密映射)。这也同样适用于路由器、PIX 和 ASA。
要了解有关在同一个接口中具有不同序列号的相同加密映射的集线器 PIX 配置的详细信息,请参阅为集线器和远程 PIX 之间的 IPsec 配置 VPN Client 和扩展身份验证。同样,要了解有关针对 L2L 和远程访问 VPN 方案的加密映射配置的详细信息,请参阅 PIX/ASA 7.X:将新隧道或远程访问添加到现有的 L2L VPN。
对于 PIX/ASA 安全设备 7.x LAN 到 LAN (L2L) IPsec VPN 配置,您必须在 tunnel-group <name> type ipsec-l2l 命令中将隧道组的 <name> 指定为远程对等体 IP 地址(远程隧道端),以创建和管理 IPsec 的连接特定记录的数据库。在 tunnel group name 和 Crypto map set address 命令中对等体 IP 地址必须匹配。使用 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
在 PIX 6.x LAN 到 LAN (L2L) IPSec VPN 配置中,对等体 IP 地址(远程隧道端)必须与加密映射中的 isakmp key address 和 set peer 命令匹配,以便成功创建 IPSec VPN 连接。
当在 ASA 加密配置中未正确配置对等体 IP 地址时,ASA 无法建立 VPN 隧道,且仅会在 MM_WAIT_MSG4 阶段挂起。为了解决此问题,请更正配置中的对等体 IP 地址。
以下是当 VPN 隧道在 MM_WAIT_MSG4 状态挂起时,show crypto isakmp sa 命令的输出。
hostname#show crypto isakmp sa 1 IKE Peer: XX.XX.XX.XX Type : L2L Role : initiator Rekey : no State : MM_WAIT_MSG4
%PIX|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 should 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 信息,且 LAN 到 LAN 隧道出现故障,在 show crypto isakmp sa 命令的输出中显示“CONF_XAUTH”。
以下是 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和PIX 6.x。而PIX/ASA 7.x不受此问题的影响,因为它使用隧道组。
请在输入 isakmp 密钥时使用 no-xauth 关键字,以使设备不提示对等体提供 XAUTH 信息(用户名和口令)。 此关键字会禁用静态 IPSec 对等体的 XAUTH。在同一个加密映射中配置了 L2L 和 RA VPN 的设备上输入与以下类似的命令:
router(config)#crypto isakmp key cisco123 address 172.22.1.164 no-xauth
在 PIX/ASA 7.x 用作 Easy VPN 服务器的场景中,由于 Xauth 问题,Easy VPN Client 无法连接到前端。禁用 PIX/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-authentication 命令的详细信息。
当分配给 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 按照池在此命令中的出现顺序从这些池中分配地址。
注意:group-policy address-pools命令中的address-pools设置始终覆盖tunnel-group address-pool命令中的本地池设置。
当 VPN 连接出现延迟问题时,请按顺序验证以下项以解决问题:
验证数据包的 MSS 是否可以进一步减小。
如果使用的是 IPsec/tcp 而不是 IPsec/udp,则请配置 VPN preserve-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 相关问题进行故障排除。有关 debug radius 输出的示例,请参阅此示例输出。
注意:在ASA上使用debug命令之前,请参阅以下文档: 警告消息。
当 Cisco VPN Client 用户试图连接前端 VPN 设备时,可能会收到此错误消息。
“VPN client drops connection frequently on first attempt”或“Security VPN Connection terminated by peer.Reason 433”消息。 或“Secure VPN Connection terminated by Peer Reason 433:(Reason Not Specified by Peer)”或“Attempted to assign network or broadcast IP address, removing(x.x.x)from pool”
问题可能在于通过 ASA/PIX、Radius 服务器、DHCP 服务器或通过 Radius 服务器用作 DHCP 服务器来分配 IP 池。请使用 debug crypto 命令,以验证网络掩码和 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 上的威胁检测,这实际上会削弱几个安全功能,例如减少扫描尝试、无效 SPI 的 DoS、使应用检测和不完整会话失败的数据包。
未正确配置转换集时,也会出现此问题。正确配置转换集可解决问题。
远程访问用户连接到 VPN 后,将无法连接到 Internet。
远程访问用户无法访问位于同一个设备上其他 VPN 之后的资源。
远程访问用户仅可访问本地网络。
尝试以下解决方案,以便解决此问题:
VPN Client 建立与 VPN 前端设备(PIX/ASA/IOS 路由器)的 IPsec 隧道之后,VPN Client 用户即可访问内部网络 (10.10.10.0/24) 资源,但是他们无法访问 DMZ 网络 (10.1.1.0/24)。
图解
检查分割隧道,在前端设备中添加 NO NAT 配置,以访问 DMZ 网络中的资源。
示例
ASA/PIX |
---|
ciscoasa#show running-config !--- Split tunnel for the inside network access access-list vpnusers_spitTunnelAcl permit ip 10.10.10.0 255.255.0.0 any !--- Split tunnel for the DMZ network access access-list vpnusers_spitTunnelAcl permit ip 10.1.1.0 255.255.0.0 any !--- Create a pool of addresses from which IP addresses are assigned !--- dynamically to the remote VPN Clients. ip local pool vpnclient 192.168.1.1-192.168.1.5 !--- This access list is used for a nat zero command that prevents !--- traffic which matches the access list from undergoing NAT. !--- No Nat for the DMZ network. access-list nonat-dmz permit ip 10.1.1.0 255.255.255.0 192.168.1.0 255.255.255.0 !--- No Nat for the Inside network. access-list nonat-in permit ip 10.10.10.0 255.255.255.0 192.168.1.0 255.255.255.0 !--- NAT 0 prevents NAT for networks specified in the ACL nonat . nat (DMZ) 0 access-list nonat-dmz nat (inside) 0 access-list nonat-in |
ASA版本 8.3 配置:
此配置显示如何配置 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 Client 并选择 Status > Route Details,以检查是否已显示 DMZ 和内部网络的安全路由。
请参阅 PIX/ASA 7.x:DMZ 中的邮件服务器访问配置示例,以了解有关如何设置 PIX 防火墙以便访问位于隔离区 (DMZ) 网络中的邮件服务器的详细信息。
请参阅 PIX/ASA 7.x:将新隧道或远程访问添加到现有的 L2L VPN,以了解将新 VPN 隧道或远程访问 VPN 添加到已经存在的 L2L VPN 配置的必需步骤。
请参阅 PIX/ASA 7.x:在 ASA 上允许 VPN Client 使用分割隧道的配置示例,以了解有关如何允许 VPN Client 在通过隧道进入 Cisco 自适应安全设备 (ASA) 5500 系列安全设备时访问 Internet 的分步说明。
在建立隧道之后,如果 VPN Client 无法解析 DNS,则可能是前端设备 (ASA/PIX) 中的 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 !--- using the default-group-policy. tunnel-group vpn3000 general-attributes default-group-policy vpn3000
VPN Client 无法根据名称连接内部服务器
VPN Client 无法根据名称对远程端或前端内部网络的主机或服务器执行 ping 操作。您需要启用 ASA 上的 split-dns 配置以解决此问题。
分割隧道使远程访问 IPSec 客户端可以有条件地以加密形式通过 IPsec 隧道定向数据包,或者以明文形式将数据包定向到网络接口,并解密,然后在网络中将数据包路由到最终目标。默认情况下,分割隧道处于禁用状态,这是指 tunnelall 流量。
split-tunnel-policy {tunnelall | tunnelspecified | excludespecified}
注意:只有Cisco VPN客户端(而不是EZVPN客户端)才支持excludespecified选项。
ciscoasa(config-group-policy)#split-tunnel-policy excludespecified
有关分割隧道的详细配置示例,请参阅以下文档:
对于进入某接口然后又从同一接口路由出去的 VPN 流量,此功能非常有用。例如,如果您建立了集中星型 VPN 网络,其中安全设备是中央,而远程 VPN 网络是分支,为使分支之间彼此通信,流量必须进入安全设备,然后再流向其他分支。
请使用 same-security-traffic 配置,以允许从同一接口进入和退出。
securityappliance(config)#same-security-traffic permit intra-interface
远程访问用户连接到 VPN 并且仅能连接到本地网络。
有关详细配置示例,请参阅 PIX/ASA 7.x:允许 VPN Client 的本地 LAN 访问。
问题
如果无法在建立隧道之后访问内部网络,请检查分配给 VPN Client 的 IP 地址是否与前端设备之后的内部网络重叠。
解决方案
请始终确保池中要分配给 VPN Client、前端设备的内部网络和 VPN Client 内部网络的 IP 地址位于不同的网络中。您可以分配具有不同子网的同一个主网络,但是有时会发生路由问题。
有关进一步示例,请参阅无法访问 DMZ 中的服务器部分的图解和示例。
只有三个 VPN Client 可以连接到 ASA/PIX;连接第四个客户端时将失败。失败时,将显示以下错误消息:
Secure VPN Connection terminated locally by the client. Reason 413: User Authentication failed.
tunnel rejected; the maximum tunnel count has been reached
在大多数情况下,此问题与组策略中的同时登录设置以及最大会话限制相关。
尝试以下解决方案,以便解决此问题:
有关详细信息,请参阅 Cisco ASA 5500 系列版本 5.2 的所选 ASDM VPN 配置过程中的配置组策略部分。
如果选中了 ASDM 中的 Inherit 复选框,则系统仅允许默认的用户同时登录数。同时登录数的默认值是 3。
要解决此问题,请增加同时登录数的值。
启动 ASDM,然后导航到 Configuration> VPN > Group Policy。
选择相应的 Group 并单击 Edit 按钮。
在 General 选项卡中,取消选中 Connection Settings 下与 Simultaneous Logins 相对应的 Inherit 复选框。在字段中选择相应的值。
注意: 此字段的最小值是 0,表示禁用登录并且阻止用户访问。
注意:当您使用来自不同PC的相同用户帐户登录时,当前会话(从使用相同用户帐户的另一PC建立的连接)将终止,并建立新会话。这是默认行为,且不受 VPN 同时登录数影响。
完成以下步骤,以便配置所需的同时登录数。在本示例中,选择 20 作为所需的值。
ciscoasa(config)#group-policy Bryan attributes ciscoasa(config-group-policy)#vpn-simultaneous-logins 20
要了解有关该命令的详细信息,请参阅 Cisco 安全设备命令参考 7.2 版。
在全局配置模式下使用 vpn-sessiondb max-session-limit 命令,将 VPN 会话数限制为小于安全设备允许的值。使用该命令的 no 形式,以删除会话限制。重新使用命令,以覆盖当前设置。
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 命令,以检查网络或查看是否可从您的网络访问应用程序服务器。可能是从路由器或 PIX/ASA 设备通过的临时数据包的最大数据段大小 (MSS) 有问题(特别是已设置 SYN 位的 TCP 数据段)。
运行以下命令,以更改路由器的外部接口(隧道末端接口)中的 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。
有关详细信息,请参阅 PIX/ASA 7.x 和 IOS:VPN 分段。
由于产生 MTU 大小错误消息和 MSS 问题,因此无法正确访问 Internet 或者通过隧道的传输缓慢。请参阅以下文档,以解决该问题:
您无法从 ASA/PIX 接口启动 VPN 隧道,并且建立隧道后,远程端点/VPN Client 无法对 VPN 隧道上 ASA/PIX 的内部接口执行 ping 操作。例如,VPN Client 可能无法通过 VPN 隧道启动到 ASA 内部接口的 SSH 或 HTTP 连接。
除非在全局配置模式下配置 management-access 命令,否则无法从隧道的另一端对 PIX 的内部接口执行 ping 操作。
PIX-02(config)#management-access inside PIX-02(config)#show management-access management-access inside
注意:此命令还有助于通过VPN隧道启动到ASA内部接口的ssh或http连接。
注意:此信息对于DMZ接口也适用。例如,如果您想要对 PIX/ASA 的 DMZ 接口执行 ping 操作或想要从 DMZ 接口启动隧道,则需要使用 management-access DMZ 命令。
PIX-02(config)#management-access DMZ
注意:如果VPN客户端无法连接,请确保ESP和UDP端口已打开,但是,如果这些端口未打开,则尝试在TCP 10000上连接,在VPN客户端连接条目下选择此端口。右键单击 modify > transport 选项卡 > IPsec over TCP。请参阅PIX/ASA 7.x 可支持任意端口上的 IPsec over TCP 配置示例,以了解 IPsec over TCP 的详细信息。
您无法通过 VPN 隧道传递流量。
由于出现 Cisco Bug ID CSCtb53186 (仅限注册用户)中描述的问题,因此发生此问题。 为了解决此问题,请重新加载 ASA。有关详细信息,请参阅漏洞。
当 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 上配置 sysopt permit connection-vpnVPN 命令。如果未配置,请配置此命令,因为它可让 ASA 免除来自接口 ACL 检查的加密/VPN 流量。
您可能想要为单个 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
有关详细信息,请参阅思科安全设备命令参考第 8.0 版中的加密映射集对等体部分。
为了暂时禁用 VPN 隧道并重新启动服务,请完成此部分所述的程序。
在全局配置模式下使用 crypto map interface 命令以删除之前在接口上定义的加密映射集。使用此命令的 no form,从接口中删除加密映射集。
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 表中创建了重复的加密规则。这是已知问题,并已归档到 Bug ID CSCtb53186 (仅限注册用户)以解决此问题。为了解决此问题,请重新加载 ASA 或将软件升级到已修复此漏洞的版本。
显示 %ASA-5-713904: Group = DefaultRAGroup,IP = 99.246.144.186,Client is using a unsupported Transaction Mode v2 version.Tunnel terminated错误消息。
显示 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 none 命令关闭 SVC 压缩,即可解决问题。
如果将 VPN 配置从运行 7.0.x 版本的 PIX/ASA 传输到运行 7.2.x 的其他安全设备上,您会收到以下错误消息:
ERROR: The authentication-server-group none command has been deprecated. The "isakmp ikev1-user-authentication none" command in the ipsec-attributes should be used instead.
7.2(1) 及更高版本中不再支持 authentication-server-group 命令。此命令已作废,并已转移到 tunnel-group general-attributes 配置模式。
有关此命令的详细信息,请参阅命令参考中的 isakmp ikev1-user-authentication 部分。
如果在 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 checking
当隧道的一端执行 QoS 时,通常会产生此消息。当检测到数据包顺序不正确时,会发生这种情况。您可以禁用 QoS 以停止此错误,但是只要流量可以通过隧道就可以忽略此错误。
当您运行 crypto map mymap 20 ipsec-isakmp 命令时,您可能会收到以下错误:
警告:crypto map entry will be incomplete
例如:
ciscoasa(config)#crypto map mymap 20 ipsec-isakmp WARNING: crypto map entry will be incomplete
这是在您定义新加密映射时的正常警告,提醒您在其生效之前必须配置参数,例如 access-list(匹配地址)、转换集以及对等体地址。此外,如果配置中未显示您键入的用于定义加密映射的第一行代码,这也属于正常现象。
无法通过 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 的日志消息中收到了以下错误:
错误:- %PIX|ASA-4-402119:IPSEC:Received a protocol packet (SPI=spi, sequence number= seq_num) from remote_IP (username) to local_IP that failed anti-replay checking.
要解决此错误,请使用 crypto ipsec security-association replay window-size 命令来改变窗口大小。
hostname(config)#crypto ipsec security-association replay window-size 1024
注意:思科建议您使用完整的1024窗口大小来消除任何反重播问题。
少数主机无法连接到互联网,且此错误消息显示在系统日志中:
错误消息 - %PIX|ASA-4-407001:拒绝本地主机接口名称的流量:inside_address,超出许可证数量限制
当用户数量超过所用许可证的用户限制时会收到此错误消息。通过将许可证升级到包括更多用户数即可解决此错误。根据需要,用户许可证可以包括 50、100 或无限用户数。
错误消息 - %VPN_HW-4-PACKET_ERROR:错误消息指示路由器收到的带 HMAC 的 ESP 数据包不匹配。此错误可能由以下问题所引起:
有缺陷的 VPN H/W 模块
损坏的 ESP 数据包
为了解决此错误消息:
除非出现流量中断,否则请忽略该错误消息。
如果出现流量中断,请替换模块。
当您尝试将允许的 VLAN 添加到交换机上的中继端口时,会显示以下错误消息:Command rejected:首先删除VLAN XXXX和VLAN XXXX之间的加密连接。
无法修改 WAN 边缘中继以允许附加 VLAN。换言之,您无法在 IPSEC VPN SPA 主干中添加 VLAN。
此命令被拒绝,因为如果允许此命令,将导致加密连接接口 VLAN 归属于接口的允许 VLAN 列表,从而造成潜在的 IPSec 安全漏洞。请注意,此行为适用于所有中继端口。
不应该使用 no switchport trunk allowed vlan (vlanlist) 命令,请使用 switchport trunk allowed vlan none 命令或“switchport trunk allowed vlan remove (vlanlist)”命令。
当您尝试从 VPN 隧道远端的设备远程登录时,或者当您尝试从路由器本身远程登录时,会出现此错误:
错误消息 - % FW-3-RESPONDER_WND_SCALE_INI_NO_SCALE:丢弃数据包 — 会话x.x.x.x:27331到x.x.x.x:23 [发起方(标志0,因子0)响应方(标志1,因子2)]的“窗口缩放”选项无效
根据需要,用户许可证可以包括 50、100 或无限用户数。添加窗口缩放功能以允许在长肥网络 (LFN) 中快速传输数据。 这些典型连接具有非常高的带宽,同时具有高延迟。卫星连接网络是 LFN 的一个示例,因为卫星链路始终具有高传播延迟,但通常具有高带宽。要启用窗口扩展以支持LFN,TCP窗口大小必须大于65,535。通过将TCP窗口大小增加到65,535以上,可以解决此错误消息。
VPN 隧道启动后,会显示以下错误消息:
%ASA-5-305013:匹配正向和反向的非对称NAT规则。请更新此问题流
为了解决此问题,当与使用 NAT 的主机不在同一个接口上时,请使用映射地址而不是实际地址来连接到主机。此外,如果应用嵌入 IP 地址,请启用 inspect 命令。
如果 VPN 隧道未能启动,会显示以下错误消息:
%PIX|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 的功能。
当由于备用装置上的对应 IPsec 隧道已删除,而导致 VPN 故障切换子系统无法更新与 IPsec 相关的运行时数据时,会显示这些消息。为了解决这些问题,请在活动装置上发出 wr standby 命令。
这两个漏洞已归档以纠正此行为,并升级到已修复这些漏洞的 ASA 软件版本。有关详细信息,请参阅 Cisco Bug ID CSCtj58420 (仅限注册用户)和 CSCtn56517 (仅限注册用户)。
%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 0xffffffff 日志消息。
要解决此问题,请执行以下步骤:
转至 System > Internet Communication Management > Internet Communication 设置并确保已禁用 Turn Off Automatic Root Certificates Update。
如果已禁用,则请禁用已分配到受影响机器的 GPO 的整个管理模板部分,然后再次测试。
有关详细信息,请参阅关闭自动根证书更新 (Turn off Automatic Root Certificates Update)。
在新 PC 安装时,会收到 Error 5:此连接条目不存在主机名。Unable to make VPN connection 错误消息。
此问题归于 Cisco Bug ID CSCso94244 (仅限注册用户)。 有关详细信息,请参阅此 Bug。
在 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 等平台中,这种内存分配容易让其他模块(IKE 等)没有内存可用。 我们已记录 Cisco Bug ID CSCtb58989 (仅限注册用户)以解决类似的行为。为了解决此问题,请将记录队列配置为较小的值,例如 512。
会收到以下错误消息:
%PIX|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 的转换集中包括散列算法并确保尽量减少对等体之间链路的畸形数据包。
在远程站点电话上遇到停播延迟时间。如何解决这一问题?
禁用 skinny 和 sip 检查以解决此问题:
asa(config)# no inspect sip asa(config)# no inspect skinny
即使生存时间设置为 18 小时,VPN 隧道也会在每 24 个小时之后断开。
生存时间是 SA 可以用于密钥更新的最大时间。您在配置中输入作为生存时间的值不同于 SA 的密钥更新时间。因此,必须在当前 SA 到期之前协商一个新的 SA(或在 IPsec 情况下为 SA 对)。密钥更新时间必须始终短于生存时间,以便在第一次密钥更新尝试失败的情况下允许多次尝试。RFC 未指定如何计算密钥更新时间。这留给实施者自行裁量。因此,如果所用的平台和软件版本等不同,时间也会不同。
有些实施可使用随机因子来计算密钥更新计时器。例如,如果ASA发起隧道,则正常情况下,它将在64800秒重新键入,即为86400的75%。如果路由器发起,则ASA可以等待更长时间,以给对等体更多时间来启动重新键。因此,正常来说,VPN 会话会每 18 个小时断开以使用另一个密钥进行 VPN 协商。这样做时不得导致任何 VPN 丢弃或问题。
LAN 到 LAN 隧道重新协商之后无法维持通信流量。
ASA 监控通过其中的每个连接,并依照应用检查功能在其状态表中维护一个条目。通过 VPN 的加密流量细节以安全关联 (SA) 数据库的形式进行维护。对于 LAN 到 LAN VPN 连接,它维护两种不同的通信流量。一个是 VPN 网关之间的加密流量。另一个是 VPN 网关背后的网络资源和另一端后面的终端用户之间的通信流量。当 VPN 终止时,删除此特殊 SA 的流量详细信息。但是,此 TCP 连接的 ASA 维护的状态表条目由于无活动而变得过时,进而妨碍下载。这意味着在用户应用终止时,ASA 将仍保留该特殊流量的 TCP 连接。但是,TCP 连接将丢失,并最终在 TCP 空闲计时器到期后超时。
通过引入被称为 Persistent IPSec Tunneled Flows 的功能解决了此问题。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技术包许可证的加密功能达到最大85000 Kbps的Tx带宽限制。
这是已知问题,它是由于美国政府签发严格的指南而导致。根据这一点,securityk9 许可证只允许负载加密的速率接近 90Mbps 且限制设备的已加密隧道数/TLS 会话数。有关加密导出限制的详细信息,请参阅思科 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----
已提交一个漏洞来纠正此行为。有关详细信息,请参阅 Cisco Bug ID CSCtu24534 (仅限注册用户)。
为了避免此问题,您需要购买 HSECK9 许可证。“hseck9”功能许可证提供增强的负载加密功能,增加 VPN 隧道计数和安全语音会话。有关 Cisco ISR 路由器许可证的详细信息,请参阅软件激活。
在多次密钥更新但未清除触发条件之后,会在 IPsec 连接上发现到此问题。通过检查 show asp drop 命令的输出并验证发出的每个出站数据包的到期 VPN 情景计数器是否增大,即可确定是否存在此问题。有关详细信息,请参阅 Cisco Bug ID CSCtd36473 (仅限注册用户)。
如果未启动隧道,AG_INIT_EXCH 消息会出现在 show crypto isakmp sa 命令的输出以及调试输出中。原因可能是由于 isakmp 策略不匹配,或者路径上的端口 udp 500 遭阻塞。
此消息是告知性消息,与 VPN 隧道的断开没有任何关系。