欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

路由故障不求人 实例讲解路由器故障分析

程序员文章站 2022-06-25 15:16:12
路由故障不求人 实例讲解路由器故障分析...

路由器是实现内网与外网互联的重要设备,根据网络复杂程度可设置静态路由和动态路由。对于简单的网络设置静态路由可方便于管理,但路由列表设置不当会引发一些网络互联故障。

近日,我部门(下称部门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


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