S5700使用NQA因为测试目的地址为非直连网段地址和静态路由联动切换失败。

发布时间:  2016-10-29 浏览次数:  199 下载次数:  0
问题描述

客户的S5700设备作为内网网关,上联了两个出口路由器做双出口访问外网,流量主走出口1,在S5700上配置了NQA测试联动静态路由,监控出口一的链路是否正常。

完成NQA的配置后,进行链路切换的测试,测试方式是直接将S5700直连出口1的链路down掉,此时路由能够正常切换到出口二,查看路由表,此时默认路由指向出口二,正常。但是此时恢复出口1到交换机的链路后,业务没有正常回切,查看路由表仍然指向出口二。


查看相关配置.

路由表配置:

ip route-static 0.0.0.0 0.0.0.0 10.110.119.6 preference 20 track nqa cc dd
ip route-static 0.0.0.0 0.0.0.0 10.110.119.238 preference 80

NQA配置:

nqa test-instance cc dd
 test-type icmp
 destination-address ipv4 222.222.X.X
 frequency 15
 probe-count 5
 start delay seconds 5

NQA检测的目的地址是出口1运营商的DNS地址。

处理过程

1.检测配置,路由配置和NQA配置:

路由表的指向及NQA的配置均没有异常。

2.检测NQA测试的结果,发现异常:

在已经回切到出口1后,实际上NQA测试结果为失败:

QA entry(cc, dd) :testflag is active ,testtype is icmp
  1 . Test 92 result   The test is finished
   Send operation times: 6              Receive response times: 2         
   Completion:no result                 RTD OverThresholds number: 0      
   Attempts number:1                    Drop operation number:0           
   Disconnect operation number:0        Operation timeout number:3        
   System busy operation number:0       Connection fail number:0          
   Operation sequence errors number:0   RTT Status errors number:0        
   Destination ip address:222.222.X.X                                 
   Min/Max/Average Completion Time: 5/5/5                               
   Sum/Square-Sum  Completion Time: 10/50                               
   Last Good Probe Time: 2008-10-01 02:35:57.6  

3.加上如下从出口1到DNS的明细路由后,再进行切换测试,问题解决。

ip route-static 222.222.X.X 255.255.255.255 10.110.119.6







根因

发现该问题后,重新梳理下切换过程,找到回切失败的原因。

在切换到出口2后,再恢复到出口1,正常情况下,下面这条路由会由于优先级高浮上来。

ip route-static 0.0.0.0 0.0.0.0 10.110.119.6 preference 20 track nqa cc dd

但是由于配置了track nqa,该路由生效需要由NQA测试实例中的目的地址是否可达(可PING)作为依据。若NQA测试实例不成功,则此时此路由不会生效。

但是由于测试的地址是一个DNS地址,非S5700直连网段的地址,该地址可达需要走默认路由出去,刚好是被nqa track绑定的默认路由。只要路由不通,PING包测试不会生效。

综上所述,NQA测试实例和默认路由之间形成了一个死循环,链路恢复后,无法正常切换回出口1。


解决方案

解决方法就是在出口1加一条指向测试地址的明细路由,使链路切换回去后,该条路由生效,然后NQA测试实例测试成功,出口1的默认路由就会浮上来出现在路由表中。

建议与总结
对应多出口使用NQA测试实例联动路由的场景,若测试地址是非直连地址,需要在设备上配置到该地址的明细路由,防止回切时失败。

END