在路由器的配置过程中,经常会碰到这样的问题:网络通信正常,路由器可以成功路由数据包到目标网络,但是从路由器发的数据包却传送失败,故障表现为路由器ping目标网络失败,下面就是一个典型的案例。
(1).现象描述
某单位的网络配置完成后,管理员在测试网络连通性时发现:从PC机(6.159.245.195) 向目标网络(6.159.245.65/26)发送Ping时,路由器R1可以成功转发数据包,然而从R1向目标网络(6.159.245.65/26) 发送ping时,出现ping失败。
(2).排错过程
首先,跟踪ping所经过的路径。检查R1的路由表,目标地址6.159.245.65可以与路由表中0.0.0.0/0相匹配。检查R2、R3、R4的路由表,均可以发现与目标地址匹配的路由表项。
然后,跟踪ICMP回应应答数据包所经过的路径。为完成这一步骤,要明确回应数据包的源地址,PC发送ping时,回应应答数据包的目标地址就是6.159.245.195。而路由器R1发送ping时,回应应答数据包的目标地址就是71.170.0.146。对照R4的路由表,发现与 6.159.245.195匹配的路由表项,而未发现与目标地址71.170.0.146相匹配的路由表项。看来,ICMP的回应应答数据包在R4处理时被丢弃了,所以从R1向目标网络R4(6.159.245.65/26) 发送ping时,出现pmg失败。
解决办法是:在路由器R4上增加一条指向71.170.0.144/30的静态路由,下一跳的地址为71.170.0.214。完成后,在R1向R4发送ping时,发现一切正常了。
此类网络故障尽管不会影响网络的正常通信,排除的过程也很简单,但网络故障的分析与排除时,我们要考虑完整的通信过程。