精华 | 网络故障排除命令汇总【网工必须收藏】( 四 )


RouterC(config)#traceroute
Target IP address or host: 5.0.0.1
Maximum number of hops to search for target [30]:10
Repeat count for each echo[3]:8
Wait timeout milliseconds for each reply [2000]:
Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 5.0.0.1 ......
16 ms4 ms4 ms4 ms4 ms4 ms4 ms4 ms4.0.0.1
。。。。。。(中间省略)
520 ms16 ms15 ms16 ms16 ms16 ms16 ms16 ms3.0.0.2
630 ms278 ms25 ms279 ms25 ms278 ms25 ms277 ms5.0.0.1
RouterC(config)#
从上面的显示可看到,直至3.0.0.2,UDP探测报文的返回时长都基本一致,而到5.0.0.1时,则发生明显变化,呈现奇数报文时长短,偶数报文时长长的现象 。于是判断,问题发生在RouterB和RouterA之间 。
通过询问该段网络的管理员,得知这两路由器间有一主一备两串行链路,主链路为2.048Mbps(s0口之间),备份链路为128Kbps(s1口之间) 。网络管理员在此两路由器间配置了静态路由 。
RouterB上如下配置:
RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2
RouterB(config)# ip route 5.0.0.0 255.0.0.0 2.0.0.2
RouterA上如下配置:
RouterA(config)# ip route 0.0.0.0 0.0.0.0 1.0.0.1
RouterA(config)# ip route 0.0.0.0 0.0.0.0 2.0.0.1
于是问题就清楚了 。例如RouterB,由于管理员配置时没有给出静态路由的优先级,这两条路由项的管理距离就同为缺省值1,于是就同时出现在路由表中,实现的是负载分担,而不能达到主备的目的 。
(3) 处理过程
可以有两种处理方法:

  • 继续使用静态路由,进行配置更改 RouterB上进行如下更改:
RouterB(config)# ip route 5.0.0.0 255.0.0.0 1.0.0.2 (主链路仍使用缺省1)
RouterB(config)# ip route 5.0.0.0 255.0.0.0 2.0.0.2 100(备份链路的降低至100)
RouterA上进行如下更改:
RouterA(config)# ip route 0.0.0.0 0.0.0.0 1.0.0.1
RouterA(config)# ip route 0.0.0.0 0.0.0.0 2.0.0.1 100
这样,只有当主链路发生故障,备份链路的路由项才会出线在路由表中,从而接替主链路完成报文转发,实现主备目的 。
  • 在两路由器上运行动态路由协议,如OSPF,但不要运行RIP协议(因为RIP协议是仅以hop作为Metric的)
(4) 建议和总结
本案例的目的不是为了解释网络配置问题,而是用来展示Ping命令和Traceroute命令的相互配合来找到网络问题的发生点 。尤其在一个大的组网环境中,维护人员可能无法沿着路径逐机排查,此时,能够迅速定位出发生问题的线路或路由器就非常重要了 。
案例二:使用Traceroute命令发现路由环路(1) 现象描述
组网情况如下图所示:

精华 | 网络故障排除命令汇总【网工必须收藏】


三台路由器均配置静态路由,完成后,登录到RouterA上Ping主机4.0.0.2,发现不通 。
(2) 相关信息显示
RouterA# ping4.0.0.2
Sending 5, 100-byte ICMP Echos to 4.0.0.2,
timeout is 2000 milliseconds.
.....
Success rate is 0 percent (0/5)
RouterA# traceroute 4.0.0.2
Type esc/CTRL^c/CTRL^z/q to abort.
traceroute 4.0.0.2 ......
16 ms4 ms4 ms1.0.0.1(RouterB)
28 ms8 ms8 ms1.0.0.2(RouterA)
312 ms12 ms12 ms 1.0.0.1(RouterB)
416 ms16 ms16 ms 1.0.0.2(RouterA)
。。。。。。
(3) 原因分析
从上面的Traceroute命令的显示可以立即发现,在RouterA和RouterB间产生了路由环路 。由于是配置的是静态路由,基本可以断定是RouterA或RouterB的静态路由配置错误 。检查RouterA的路由表,配置的是缺省静态路由:

推荐阅读