简介
本文档介绍在DMVPN/GRE/sVTI/FlexVPN隧道上遇到EIGRP/OSPF/BGP摆动时应采取的步骤。
背景信息
为了排除此问题,需要回答的第一个问题是“这是VPN、路由协议还是ISP问题?” 为了回答问题,必须在抖动/中断期间对底层(通常是互联网或专用广域网)和重叠(通常是VPN隧道)执行连接测试。遗憾的是,这些抖动事件可能是瞬时和间歇性的,因此在问题发生期间执行这些测试可能会非常困难。本文档提供有关使用IP服务级别协议(SLA)、跟踪对象和嵌入式事件管理器(EEM)以在问题发生时自动收集此信息的指导。
功能信息
IP SLA是在路由器后台运行的进程,用于测试许多网络条件。在本文档中,使用 "icmp-echo"
测试。
跟踪对象随后可以跟踪IP SLA的状态。然后,使用EEM小程序,当跟踪对象更改时,网络状态可记录在系统日志缓冲区中。
利用系统日志历史记录中记录的网络状态,了解抖动/中断期间网络的状态,并确定是否存在加密、传输或内部网关协议(IGP)问题。
方法
步骤1.定义SLA以跟踪底层(Internet连接)
- 选项A
公有IP地址到公有IP地址(172.18.3.52 > 172.20.5.43)。 由于远程对等体通常会回复ICMP,因此此SLA只需在一台设备上定义。
ip sla 100
icmp-echo 172.20.5.43 source-interface FastEthernet4
frequency 5
ip sla schedule 100 life forever start-time now
- 选项B
注意:在某些环境中,Internet控制消息协议(ICMP)数据包在底层/传输网络中被阻止。在这些环境中, udp-echo
可以使用数据包代替 icmp-echo
IP SLA。
IP SLA启动器(左路由器)
ip sla 100
udp-echo 172.20.5.43 1501 source-ip 172.18.3.52 source-port 1501 control disable
frequency 5
ip sla schedule 100 life forever start-time now
IP SLA响应器(右路由器)
ip sla responder
ip sla responder udp-echo ipaddress 172.20.5.43 port 1501
步骤2.定义SLA以跟踪重叠(隧道连接)
这些SLA每五秒向定义的对等体发送一个数据包。如果对等体响应,则SLA标记为“”OK
". 如果它未响应,则标记为“”Timeout
". 跟踪对象监控SLA的状态。
步骤3.定义跟踪对象以监控SLA状态
当跟踪对象更改时,可以在系统日志中插入消息。
步骤4.定义EEM小程序以记录跟踪对象何时更改
- 为底层传输失败时创建EEM小程序,为恢复时创建另一个小程序
event manager applet ipsla100down
event track 100 state down
action 1.0 syslog msg "Underlay SLA probe failed!"
event manager applet ipsla100up
event track 100 state up
action 1.0 syslog msg "Underlay SLA probe came up!"
- 为重叠传输失败时创建EEM小程序,为恢复时创建EEM小程序
event manager applet ipsla200down
event track 200 state down
action 1.0 syslog msg "Overlay SLA probe failed!"
event manager applet ipsla200up
event track 200 state up
action 1.0 syslog msg "Overlay SLA probe came up!"
数据分析
当发生故障时,收集 show log
命令。查找上一节中显示的SLA消息。
有三种可能的场景:
- 两个SLA都失败。这意味着:
- 两个对等体之间跨底层(Internet/MPLS)的第3层连接已中断。这需要进一步调查。
- 隧道没有问题。它失败是因为它是底层中断的牺牲品。
- 物理SLA不会失败,但隧道SLA会失败。这意味着:
- 两个对等体之间通过Internet的第3层连接工作正常。
- 隧道有问题。需要对隧道进行进一步调查。
- 两个SLA均不失败。这意味着:
- 两个对等体之间通过Internet的第3层连接工作正常。
- 两个对等体之间通过隧道的第3层单播连接工作正常。
- 隧道中的第3层组播连接未知。为了测试此功能,请对IGP使用的组播地址执行ping操作。
- 如果测试正常,则表明存在应用问题(EIGRP/OSFP/BGP)。 需要进一步的协议调查。