安全与 VPN : IPSec 协商/IKE 协议

用于的EEM脚本排除故障无效安全参数索引造成的通道飘荡

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

本文描述其中一个最普通的IPsec问题,是该安全关联(SA)能变得不同步在对等设备之间。结果,一个加密的设备将加密与对等体编码方不知道的SAS的流量。

注意: 贡献用Anu M Chacko, Cisco TAC工程师。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

此本文档中的信息根据用思科IOSï ¿  ½版本完成的测验15.1(4)M4。脚本和配置应该与初期的Cisco IOS软件版本一起使用,因为两applet使用嵌入了Cisco IOS版本12.4(22)T或以上支持的活动管理器(EEM)版本3.0。然而,这未测试。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

问题

数据包在有此消息的对等体丢弃被记录对Syslog :

*Mar 12 18:22:10.706: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet 
   has invalid spi for destaddr=213.163.222.7, prot=50, spi=0x68842105(1753489669), 
   srcaddr=11.1.1.3, input interface=Ethernet0/0

关于无效安全参数索引(斯皮)的详细信息,参考IPSec %RECVD_PKT_INV_SPI错误和无效的SPI恢复。本文描述如何排除故障错误间歇地出现,使困难收集必要数据排除故障的方案。

此种问题不是类似排除故障正常的VPN,其中您能得到调试,当问题发生时。为了排除故障无效的SPI造成的断断续续通道飘荡,您必须首先确定两头端如何离开了同步。因为预测无法的,当下中断将发生, EEM脚本是解决方案。

解决方案

因为了解是重要的发生了什么,在此系统消息被触发前,请继续运行在路由器的有条件调试和发送他们到系统日志服务器,以便不影响生产数据流。如果调试在脚本启用,他们生成,在可能不是有用的系统消息被触发后。这是您在此日志发送方和接收方也许希望运行调试的列表:

debug crypto condition peer ipv4 <peer IP address>
debug crypto isakmp
debug crypto ipsec
debug crypto engine

EEM脚本设计做两件事:

  1. 请关闭在接收方的调试,当他们收集为时18秒,在第一系统消息生成后。延迟计时器也许需要被修改,取决于生成的相当数量调试/日志。

  2. 同时它禁用调试,安排它发送SNMP陷阱对对等体,然后禁用在对等设备的调试。

SNMP配置

简单网络管理协议(SNMP)配置显示此处:

Receiver:
========

snmp-server enable traps event-manager
snmp-server host 11.1.1.3 public event-manager 
snmp-server manager

Sender:
=======

snmp-server enable traps event-manager
snmp-server host 213.163.222.7 public event-manager
snmp-server manager

最终脚本

接收方和发送方的脚本显示此处:

Receiver:
========

!--- To test if this output gets logged to the file called "hub"

sh ip int bri | tee /append disk0:hub.txt    
conf t
!
event manager applet command_hub
event syslog pattern "CRYPTO-4-RECVD_PKT_INV_SPI.*srcaddr=11.1.1.3"
action 1 cli command "enable"
action 2 syslog msg "command_hub is running ..." priority informational
action 3 cli command "show crypto sockets | append disk0:hub.txt"
action 4 cli command "show crypto isa sa | append disk0:hub.txt"
action 5 cli command "show crypto ipsec sa detail | append disk0:hub.txt"
action 6 cli command "show dmvpn detail | append disk0:hub.txt"
action 7 wait 18
action 8 cli command "undebug all"
action 8.1 snmp-trap intdata1 2323232 strdata ""
action 9 syslog priority informational msg "DONE ON HUB"
!
end

Sender: 
=======

conf t
!
event manager applet spoke_app
 event snmp-notification oid 1.3.6.1.4.1.9.10.91.1.2.3.1.9. 
    oid-val "2323232" op eq src-ip-address 213.163.222.7 maxrun 35
 action 1.0 syslog msg "Received trap from Hub..." 
 action 2.0 cli command "enable"
 action 3.0 cli command "undebug all"
 action 4.0 syslog msg "DONE ON SPOKE"
!
end

EEM脚本日志

EEM脚本日志消息列表显示此处:

Receiver:
=======

*Mar 12 18:22:10.706: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet 
    has invalid spi for destaddr=213.163.222.7, prot=50, spi=0x68842105(1753489669), 
    srcaddr=11.1.1.3, input interface=Ethernet0/0
*Mar 12 18:22:10.727: %HA_EM-6-LOG: command_hub: command_hub is running ...
hub#
*Mar 12 18:22:30.026: %HA_EM-6-LOG: command_hub: DONE ON HUB

Sender:
=======

spoke#
*Mar 12 18:22:30.542: %HA_EM-6-LOG: spoke_app: Received trap from Hub...
*Mar 12 18:22:30.889: %HA_EM-6-LOG: spoke_app: DONE ON SPOKE

验证

为了问题解决了验证,输入show debug命令

Receiver:
=========
hub# show debug


Sender:
=======
spoke# show debug

相关信息


Document ID: 116005