本文档介绍安全关联 (SA) 在对等设备之间不同步时的 IPsec 问题。
最常见的IPsec问题之一是SA在对等设备之间可能变得不同步。因此,加密终端使用对等体不知道的SA对流量进行加密。这些数据包被对等设备丢弃,系统日志中会显示以下消息:
Sep 2 13:27:57.707: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0xB761863E(3076621886), srcaddr=10.1.1.1
Router# show platform hardware qfp active statistics drop | inc Ipsec
IpsecDenyDrop 0 0
IpsecIkeIndicate 0 0
IpsecInput 0 0 <======
IpsecInvalidSa 0 0
IpsecOutput 0 0
IpsecTailDrop 0 0
IpsecTedIndicate 0 0
Router# show platform hardware qfp active feature ipsec datapath drops all | in SPI
4 IN_US_V4_PKT_SA_NOT_FOUND_SPI 64574 <======
7 IN_TRANS_V4_IPSEC_PKT_NOT_FOUND_SPI 0
12 IN_US_V6_PKT_SA_NOT_FOUND_SPI 0
请注意,出于明显的安全原因,此特定消息在Cisco IOS®中速率受限于每分钟1次。如果特定流(SRC、DST或SPI)的此消息仅在系统日志中出现一次,则很可能是IPsec密钥重新生成同时出现的临时情况,即一个对等体可以开始使用新的SA,而对等体设备尚未完全准备好使用同一SA。这通常不是问题,因为它只是暂时的,并且只会影响几个数据包。
但是,如果相同流和SPI编号仍存在相同消息,则表明对等体之间的IPsec SA已不同步。例如:
Sep 2 13:36:47.287: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0x1DB73BBB(498547643), srcaddr=10.1.1.1 Sep 2 13:37:48.039: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0x1DB73BBB(498547643), srcaddr=10.1.1.1
这表示流量被黑洞,在发送设备上的SA到期或激活失效对等体检测(DPD)之前无法恢复。
本节提供可用于解决上一节中所述问题的信息。
为了解决此问题,Cisco建议您启用无效的SPI恢复功能。例如,输入crypto isakmp invalid-spi-recovery 命令。下面是一些描述此命令使用的重要说明:
| 加密配置 | 无效的SPI恢复 |
|---|---|
| 静态加密映射 | Yes |
| 动态加密映射 | 无 |
| 带隧道保护的P2P GRE | Yes |
| 使用静态NHRP映射的mGRE隧道保护 | Yes |
| 使用动态NHRP映射的mGRE隧道保护 | 无 |
| sVTI | Yes |
| EzVPN客户端 | 不适用 |
多次出现无效SPI错误消息。由于收集相关调试变得非常困难,因此很难进行故障排除。在这种情况下,嵌入式事件管理器(EEM)脚本可能非常有用。
注意:有关详细信息,请参阅Cisco文档的EEM脚本,该脚本用于排除由无效安全参数索引引起的隧道摆动故障。
此列表显示可能导致IPsec SA不同步或与无效SPI恢复相关的漏洞:
| 版本 | 发布日期 | 备注 |
|---|---|---|
4.0 |
14-Jul-2026
|
拼写检查和固定标题。 |
3.0 |
11-Aug-2023
|
更新的SEO、样式要求、机器翻译、品牌要求和格式。 |
2.0 |
15-Jul-2022
|
更新样式要求、机器翻译、动词库、SEO和标题,以符合思科指南。 |
1.0 |
11-Aug-2014
|
初始版本 |