演示:RIP路由更新的故障分析与排除

简介:

故障背景:如图14.6所示的网络环境,工程师在相应的接口配置了接口地址,并在整个网络启动了RIP路由协议,由于一些特殊原因在路由器S2/0的接口上没有配置具体的IP地址,使用了无编号IP地址(ipunnumbered e1/0),事实上S2/0接口上的IP地址是向E1/0接口借的,在实际的生产环境中,产生这种无编号IP地址的原因是为了在点对点的链路上节省IP地址,防止地址浪费,所以这种应用是合法的。然后为了某些安全特性,工程师在路由器R1的E1/0接口的入方向上配置了ACL列表,只允许源地址为192.168.3.1、子网为192.168.6.0/24的子网访问任意网络,其他的流量被ACL101隐藏的Deny语句所拒绝。当完成上述的配置后,现在出现了一个现象:路由器R1无法学到任何路由如图14.7所示;R2路由学习完全正常如图14.8所示;R3也无法学习到任何路由如图14.9所示。

现在请分析出现这些故障的原因,并在不改变原有配置的情况排除故障。


wKiom1MCHsyA4Am-AAEVkzI3Z0M995.jpg

wKioL1MCHqjgi5JlAAIU1lTitBY637.jpg

wKiom1MCHs2hYdFdAAIp5vMsd6g357.jpg

wKioL1MCHsKBTGHMAAH_LugBFVY154.jpg

产生故障的原始配置:产生故障的原始配置如下所示。


路由器R1的原始配置:

interface Loopback1

ip address 192.168.5.1 255.255.255.0

!

interfaceEthernet1/0

ip address 192.168.2.1 255.255.255.0

ip access-group 101 in

duplex half

!

router rip

version 2

network 192.168.2.0

network 192.168.5.0

no auto-summary


access-list 101permit ip host 192.168.3.1 any

access-list 101permit ip 192.168.6.0 0.0.0.255 any


路由器R2的原始配置:

interfaceEthernet1/0

ip address 192.168.2.2 255.255.255.0

duplex half

!

interface Serial2/0

ip unnumbered Ethernet1/0

encapsulation ppp

!

routerrip

version 2

network 192.168.2.0

no auto-summary


路由器R3的原始配置:

interface Loopback1

ip address 192.168.6.1 255.255.255.0

!

interface Serial2/0

ip address 192.168.3.2 255.255.255.252

encapsulation ppp

!

router rip

version 2

network 192.168.3.0

network 192.168.6.0

no auto-summary


故障分析:在事实的工作环境中,有时遇到的故障,通常不在一处,比如:这个故障就产生在路由器R1和R3上,恰好中间的路由器R2工作正常,当遇到这种复合型故障时,请首先将分而治之,进行独立分析,这样可以减小故障重叠后的排除范围,注意这将是一个非常好的建议。所以现在首先在路由器R3上,使用debug ip rip events指令来调试RIP的工作过程,这样可以看到RIP在后台工作的数据包,得到如图14.10所示,指示路由器R3的S2/0的接口收到一个坏的RIP的数据包,发送一个坏的RIP数据包的源地址是192.168.2.2事实上就是路由器R2的S2/0接口,因为路由器R2的S2/0接口是向E1/0借的IP地址,而产生这个故障的原因是路由器R2的S2/0使用了无编号IP地址(ip unnumbered),而路由器R3的S2/0接口使用了具体的IP地址,在这种情况下,路由器R3会检测更新源的合法性,必须要求路由器R2的路由更新源地址与自己的S2/0接口上的IP地址在同一个子网,否则路由器R3会报告收到坏的路由更新,解决这个故障有两种方案:一是为路由器R2的S2/0的接口配置一个与路由器R3的S2/0接口相同子网的具体IP地址,但这种解决方案破坏了原有的地址设计,改变了原有配置,因为在很多情况下进行故障排除时,是以不破坏设备原有配置为原则。第二个解决方案就是关闭路由器R3上关于RIP更新合法性检测的功能,默认情况下这个功能是被启动的,具体的排除过程请参看解决方案部分,当完成这个行为后,可以看到路由器R3的路由学习正常,路由表成功学到了R2发来的路由更新,如图14.12所示。现在已经成功解决路由器R3的路由故障。

在路由器R1的配置看上去似乎很合理,因为在ACL中允许了RIP网络中的所有远程子网到达路由器R1。在这种情况下,还是首先在路由器R1上使用debug ip rip event指令查看RIP更新的情况,如图14.11所示,指示路由器R1没有收到任何来自路由器R2的路由更新,如果物理链路正常并且保证RIP的配置正常,那么就是ACL的隐藏的Deny语句拒绝了目标地址是224.0.0.9的RIP更新组播地址,这将导致RIP的路由更新失败,解决方案是在路由器R1现有的ACL中加入一条允许目标地址224.0.0.9的组播地址到达路由器R1,

    具体的排除过程请参看解决方案部分,当完成这个行为后,可以看到路由器R1的路由学习正常,如图14.13所示。故障成功排除。

wKiom1MCHziDd56lAAFBivE92bg272.jpg

wKioL1MCHxPwtEXlAAJnYQuQjR4312.jpg

解决方案:

R3(config)#router rip

R3(config-router)#no validate-update-source* 关闭RIP更新合法性检测。

R3(config-router)#exit


R1(config)#access-list 101 permit ip any host 224.0.0.9

* 增加允许RIP更新组播通过的ACL条目。

wKioL1MCH5CDl0WoAAKSHMGjROM180.jpg

wKiom1MCH7XQ_ouGAAHhyn_odg0466.jpg




本文转自 kingsir827 51CTO博客,原文链接:xxxhttp://blog.51cto.com/7658423/1359949xxx,如需转载请自行联系原作者

相关文章
|
缓存 网络协议 Linux
Linux网络管理之route命令 – 显示并设置路由
route命令用来显示并设置linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
542 0
Linux网络管理之route命令 – 显示并设置路由
|
网络协议 测试技术 网络架构
|
测试技术 网络安全 网络虚拟化

热门文章

最新文章