2、路由故障排除实验教师用书 联系客服

发布时间 : 星期三 文章2、路由故障排除实验教师用书更新完毕开始阅读75e1159d6137ee06eef9184c

网络故障诊断与排除

路由故障排除实验教师用书

202.1.1.0/24 Direct 0 0 202.1.1.2 Serial0/0 202.1.1.1/32 Direct 0 0 127.0.0.1 LoopBack0 202.1.1.2/32 Direct 0 0 202.1.1.2 Serial0/0

发现已经成功学到了三条OSPF路由。现在我们再回过头来看看路由器A,在A上查看路由表:

[A]dis ip routing-table Routing Table: public net

Destination/Mask Proto Pref Metric Nexthop Interface 10.1.1.0/24 Direct 0 0 10.1.1.1 LoopBack1 10.1.1.1/32 Direct 0 0 127.0.0.1 LoopBack0 10.1.2.0/24 Direct 0 0 10.1.2.1 LoopBack2 10.1.2.1/32 Direct 0 0 127.0.0.1 LoopBack0 127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0 127.0.0.1/32 Direct 0 0 127.0.0.1 LoopBack0 150.1.1.0/24 OSPF 10 3124 200.1.1.1 Serial0/0 194.186.23.0/24 BGP 170 0 150.1.1.1 Serial0/0 194.186.23.0/25 Direct 0 0 194.186.23.1 Ethernet0/0 194.186.23.1/32 Direct 0 0 127.0.0.1 LoopBack0 200.1.1.0/24 Direct 0 0 200.1.1.1 Serial0/0 200.1.1.1/32 Direct 0 0 200.1.1.1 Serial0/0 200.1.1.2/32 Direct 0 0 127.0.0.1 LoopBack0

发现已经有了到150.1.1.0/24网段的OSPF路由,表明从A到C的TCP连接已经通畅,同时IBGP邻居关系也已经成功建立,因此A从其IBGP邻居C学习到了一条BGP路由194.186.23.0/24。

这时从路由器B的用户网段194.186.23.128/25上Ping路由器A的10.1.1.0/24,10.1.2.0/24可以Ping通。

同时从路由器A上Ping路由器B上的用户网段194.186.23.128/25可以Ping通,但从A上的用户网段194.186.23.1/25上却不行。

[A]ping 194.186.23.129

PING 194.186.23.129: 56 data bytes, press CTRL_C to break

Reply from 194.186.23.129: bytes=56 Sequence=0 ttl=255 time = 27 ms Reply from 194.186.23.129: bytes=56 Sequence=1 ttl=255 time = 27 ms ??

[A]ping -a 194.186.23.1 194.186.23.129

PING 194.186.23.129: 56 data bytes, press CTRL_C to break Request time out

Request time out

16

网络故障诊断与排除

路由故障排除实验教师用书

对此只能有一个解释,就是从路由器B到A的194.186.23.1/25网段不通。在路由器B上,我们试着Ping路由器A的用户网段194.186.23.1/25:

[B]ping 194.186.23.1

PING 194.186.23.1: 56 data bytes, press CTRL_C to break Request time out Request time out Request time out Request time out Request time out

--- 194.186.23.1 ping statistics --- 5 packets transmitted 0 packets received

100.00% packet loss

发现无法Ping通,但是在A和B的路由表中,我们可以看到它们要到达对方的用户网段,都是通过一条从C学习到的聚合后的BGP路由194.186.23.0/24。但是为什么A利用这条路由可以到达对方用户网段,而B却不能呢?通过相应的路由的下一跳可以看出,在A的路由表中,194.186.23.0/24网段的下一跳为150.1.1.1,但要到达150.1.1.0/24网段就首先必须到达路由器B,在B上有用户网段的直连路由,因此可以Ping通。在B的路由表中,194.186.23.0/24网段的下一跳也是150.1.1.1,所以从B上Ping 194.186.23.0/25网段,首先会把包送到路由器C上,在路由器C上查看路由表:

[C]dis ip routing-table Routing Table: public net

Destination/Mask Proto Pref Metric Nexthop Interface 10.1.1.0/24 OSPF 10 4686 150.1.1.2 Serial0/1 10.1.2.0/24 OSPF 10 4686 150.1.1.2 Serial0/1 127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0 127.0.0.1/32 Direct 0 0 127.0.0.1 LoopBack0 150.1.1.0/24 Direct 0 0 150.1.1.1 Serial0/1 150.1.1.1/32 Direct 0 0 127.0.0.1 LoopBack0 192.168.1.0/24 BGP 170 0 202.1.1.2 Serial0/0 192.168.1.2/32 BGP 170 0 202.1.1.2 Serial0/0 194.186.23.0/24 Aggreg 130 0 127.0.0.1 LoopBack0 194.186.23.0/25 BGP 170 0 200.1.1.2 Serial0/1 194.186.23.128/25 BGP 170 0 150.1.1.2 Serial0/1 200.1.1.0/24 OSPF 10 3124 150.1.1.2 Serial0/1 202.1.1.0/24 Direct 0 0 202.1.1.2 Serial0/1 202.1.1.1/32 Direct 0 0 127.0.0.1 LoopBack0

17

网络故障诊断与排除

路由故障排除实验教师用书

202.1.1.2/32 Direct 0 0 202.1.1.2 Serial0/0

发现到194.186.23.0/25和194.186.23.128/25的两条BGP路由的下一跳接口都是S0/1(因为都是从S0/1学到的),这样从B来的包又被送了回去而形成了路由环路。

为什么会出现这样的路由环路问题呢?其根本原因是在路由器A和B上都没有到对方用户网段的具体路由,只能依靠从C学习到的聚合后路由来进行数据包的转发。当然路由器A和B都会发布本地用户网段的具体路由到路由器C上,但是由于受BGP对路由发布的规则所限制,对于一个BGP speaker来说,从一个IBGP邻居学到的路由不会向另一个IBGP邻居进行转发。由此我们可以看出,在自治系统100当中最大的问题就是在路由器A和B之间缺少一条IBGP连接,即在自治系统之内,没有达到IBGP邻居全连接。

要解决这个问题,我们只需要在A和B之间配置IBGP邻居关系就可以了:

[B-bgp]peer 200.1.1.2 group as100 [A-bgp]peer 200.1.1.1 group as100

在完成配置之后,在路由器AB的路由表中都有了到对方用户网段的具体路由,同时也可以Ping通对方了:

[A]ping -a 194.186.23.1 194.186.23.129

PING 194.186.23.129: 56 data bytes, press CTRL_C to break

Reply from 194.186.23.129: bytes=56 Sequence=0 ttl=255 time = 27 ms Reply from 194.186.23.129: bytes=56 Sequence=1 ttl=255 time = 27 ms

Reply from 194.186.23.129: bytes=56 Sequence=2 ttl=255 time = 26 ?? [B]ping -a 194.186.23.129 194.186.23.1

PING 194.186.23.1: 56 data bytes, press CTRL_C to break

Reply from 194.186.23.1: bytes=56 Sequence=0 ttl=255 time = 27 ms Reply from 194.186.23.1: bytes=56 Sequence=1 ttl=255 time = 27 ms

Reply from 194.186.23.1: bytes=56 Sequence=2 ttl=255 time = 26 ms??

到目前为止,AS100内的用户网段都可以实现互通了。下面我们再来看一看到AS200的网络互通情况。

从路由器AB的用户网段194.186.23.0/25、10.1.2.1/24、10.1.1.1/24、194.186.23.128/25分别Ping路由器E上的用户网段20.1.1.1/24、30.1.1.1/18、40.1.1.1/22,发现仍然无法Ping通。同时在路由表中也没有到目的网段的路由。对此我们还是先从自治系统AS200的内部开始分析:

在AS200内的路由器D上,分别Ping路由器E上的用户网段20.1.1.1/24、30.1.1.1/18、40.1.1.1/22,发现无法Ping通,在D上查看路由表如下:

[D]display ip routing-table

18

网络故障诊断与排除

Routing Table: public net

路由故障排除实验教师用书

Destination/Mask Proto Pref Metric Nexthop Interface 10.1.1.0/24 BGP 170 0 202.1.1.1 Serial0/1 10.1.2.0/24 BGP 170 0 202.1.1.1 Serial0/1 127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0 127.0.0.1/32 Direct 0 0 127.0.0.1 LoopBack0 192.168.1.0/24 Direct 0 0 192.168.1.2 Serial0/0 192.168.1.1/32 Direct 0 0 127.0.0.1 LoopBack0 194.186.23.0/24 BGP 170 0 202.1.1.1 Serial0/1 194.186.23.0/25 BGP 170 0 202.1.1.1 Serial0/1 194.186.23.128/25 BGP 170 0 202.1.1.1 Serial0/1 200.1.1.0/24 BGP 170 0 202.1.1.1 Serial0/1 202.1.1.0/24 Direct 0 0 202.1.1.1 Serial0/1 202.1.1.1/32 Direct 0 0 202.1.1.1 Serial0/1 202.1.1.2/32 Direct 0 0 127.0.0.1 LoopBack0

发现没有任何RIP路由存在。仔细查看路由器D和E的RIP协议相关配置,发现在路由器D上和E相连的S0/1接口上,配置了“rip version 2 multicast”命令,即此接口以RIP-2的multicast方式发送报文;而在路由器E的S0/0接口上,采用的是系统缺省配置,即以RIP-1的broadcast方式发送报文。这样两台运行RIP的路由器之间由于版本和报文发送方式的不同,显然是无法进行通信的,所以也不会收到任何的路由更新报文。

要解决这个问题,我们只需要在路由器E的相应接口上也指定以RIP-2的multicast方式发送报文即可:

[E-Serial0/0]rip version 2 multicast

完成上述配置之后,在路由器D上查看路由表,发现已经有了相应的RIP路由:

[D]dis ip routing-table Routing Table: public net

Destination/Mask Proto Pref Metric Nexthop Interface 10.1.1.0/24 BGP 170 0 202.1.1.1 Serial0/1 10.1.2.0/24 BGP 170 0 202.1.1.1 Serial0/1 20.0.0.0/8 RIP 100 1 192.168.1.2 Serial0/0 30.0.0.0/8 RIP 100 1 192.168.1.2 Serial0/0 40.0.0.0/8 RIP 100 1 192.168.1.2 Serial0/0 127.0.0.0/8 Direct 0 0 127.0.0.1 LoopBack0 ??

这时在路由器D上Ping路由器E的用户网段,发现已经可以Ping通了。 在解决了自治系统AS200内部的问题之后,我们再来看看在自治系统之间是否存在问题。

19