路由故障分析

【路由故障分析】分享给互联网从爱好者学习参考。

路由器是实现内网与外网互联的重要设备,根据网络复杂程度可设置静态路由和动态路由。对于简单的网络设置静态路由可方便于治理,但路由列表设置不当会引发一些网络互联故障。
近日,我部门(下称部门A)中有人反映不能访问上级部门(部门B)的网络。我从该人所用的计算机A1(IP地址为10.20.12.11/24)上用ping命令向部门B网络中的计算机B1(IP地址为10.20.30.110/24)和B2(IP地址为10.20.30.111/24)发送测试数据包,丢包率达100%,ping本部门的其它计算机则显示连接正常。检查其计算机IP设置,发现网关设置正确(正确网关为10.20.12.1),于是怀疑路由器不能正常工作。回来我自己办公室,用本办公室计算机A2、A3测试,发现以下希奇现象:
(1) 在计算机A2(IP为10.20.12.12/24)上用ping命令分别ping部门B网络中计算机B1和B2,发现B1有正常回应,B2的回应率在20%~50%之间;在计算机A3(IP为10.20.12.13/24)中用ping命令分别ping计算机B1和B2,回应显示连接正常,丢包率为0。
(2) 将计算机A3的IP地址改为10.20.12.12/24后测试,ping得的结果同(1)中的计算机A2测试情况。
(3) 将计算机A2的IP地址改为尚未使用过的IP地址:10.20.12.22/24,测试与B1和B2的连接,结果显示正常,丢包率为0。
(4) 将计算机A1的IP地址改为尚未使用过的IP地址:10.20.12.23/24,测试与B1和B2的连接,结果显示正常,丢包率为0。
故障分析
考虑到网络连通情况与本机IP地址有关,参考本单位网络拓扑结构图(如图1),于是怀疑可能是由于部门B网络的防火墙设置引发该故障。由于部门B与本部门分别位于城市中两个不同地方,不方便查看其防火墙设置,于是打电话询问。但该部门网络治理员告之其防火墙是针对网络IP段设置的,也就是说,该防火墙对于部门A的整个网络IP段都是答应访问的。
分析以上原因,可能是本部门中某些计算机向部门B网络发送过非法访问信息,部门B的防火墙自动将该IP列入侵计算机名单,屏蔽了其发送的IP数据包,从而引发网络连接不正常的现象。调查本部门中所有计算机,将不能正常访问外部网络(部门B网络)的计算机的IP更换为新的IP地址,问题暂时解决。
但一个星期后,网络又出现故障,有几个原来能正常访问部门B计算机出现丢包现象,而有几个原来不能正常访问外部网络的IP地址却可以正常访问外部网络,看来问题可能不在防火墙上。
在计算机上A2(IP地址为10.20.12.12/24)用Tracert 命令跟踪测试,现象如下:
c:>Tracert 10.20.30.110
Tracing route to 10.20.30.110 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.20.12.1
2 1 ms <1 ms 1 ms 192.168.10.2
3 1 ms 1 ms 1 ms 10.20.30.1
4 2 ms 1 ms 2 ms 10.20.30.110
Trace complete
将计算机上A2的IP地址改为10.20.12.22/24,用Tracert 命令跟踪测试,现象如下:
Tracing route to 10.20.30.110 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 10.20.12.1
2 1 ms * * 192.168.10.2
3 * 2 ms * 10.20.30.1
4 * * * Request timed out
5 * * * Request timed out
6 * * 2 ms 10.20.30.110
Trace complete
→图1


有时用Tracert跟踪测试得到4、5行及以后显示的都是Request timed out。

回顾近期网络结构变动情况,原来本部门中网关的位置用的是一个三层交换机(只使用其路由功能),当时内网能正常访问外部网络,在一星期前换为Cisco 3640路由器,将按三层交换机中的配置重新配置3640路由器,换后不久就出现以上网络故障。检查Cisco 3640的端口配置和路由配置,发现端口IP地址配置正常,而在路由列表中有两条路由:
ip route 0.0.0.0 0.0.0.0 192.168.10.2
ip route 0.0.0.0 0.0.0.0 10.20.12.254
因本部门网络是单位广域网中最下层子网,根据业务需要访问本单位整个广域网,而本部门网络只通过一台Cisco 3640路由器Router A接入部门B网络中,再通过部门B的路由器Router B接入单位广域网(见前面网络拓朴图)。为方便设置,我们只需要在Cisco 3640加入一条缺省路由“ip route 0.0.0.0 0.0.0.0 192.168.10.2”就可以将本部门对外部网络的的访问都转发到部门B的路由器Router B,从而实现网络的互联。可能由于设置人员的失误,在路由表中多加了一条并不存在的下一跳节点“ip route 0.0.0.0 0.0.0.0 10.20.12.254”。以致当内网中的计算机访问外部网络时,路由器有时不能将IP数据包正确地发送到192.168.10.2中,由于路由器加电工作后,内存中保存了内网对外网的访问路由列表,使得一些计算机一直能正常访问外网,而另一些计算机不能正常访问,当路由器重新启动(如第二个星期一早上重启路由器)后,访问路由列表重新建立,使得内部计算机访问外网的现象发现变化。
故障排除
在路由器特权模式下删除无用的路由列表:
# no ip route 0.0.0.0 0.0.0.0 10.20.12.254
#wr
重启路由器后,本部门所有计算机都能正常访问部门B的网络及单位广域网,故障得到彻底解决。
指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。
路由表的一般形式为:
Destination Gateway Flag Refs Use Inerface
其中,Destination目标网络或主机的IP地址;Gateway到达指定目地的使用网关;Flag标志字段,描述这一路由的一些特性;Refcnt表示为了建一次连接,该路由使用的次数;Use表示通过该路由传输的分组报文数;Interface 表示该路由使用的网络接口名。
一个典型的路由表的例子
Destination Gateway Flags Refs Use Interface
default 26.112.191.98 UGS 0 0 net0
default 26.112.191.98 UGS 0 18 net0
26.112.191 26.112.191.2 UC 1 0 net0
26.112.191.2 127.0.0.1 UGHS 3 92 lo0
127.0.0.1 127.0.0.1 UH 3 9786480 lo0
224 26.112.191.2 UCS 0 0 net0

路由故障分析