OSPF故障排除

原理概述

OSPF 是一种应用非常广泛的路由协议,掌握 OSPF 协议的故障诊断和排除方法显得尤为重要。
OSPF 协议故障问题可以大致分为三类,第一类是涉及 OSPF 邻居关系的建立问题,第二类是涉及 OSPF LSA 的泛洪问题,第三类是涉及 OSPF 路由的计算问题。第一类问题最为常见,所也是本次实验所关注的问题。

实验目的

发现和解决区域号不匹配的问题
发现和解决 Router-ID 冲突的问题
发现和解决掩码不匹配的问题
发现和解决 Hello Timer 时间不匹配的问题
发现和解决认证类型不匹配的问题 

实验内容

实验拓扑如图所示。本实验模拟了一个企业的 OSPF 网络,其中R1与R2、R1与R3、R2与R4之间的链路属于区域0,R3与R4、R3与R5、R4与R6之间的链路属于区域1。显然,如果R1与R2之间的链路出现故障,则整个骨干区域会被分割,因此需要在R3与R4之间建立一条虚链路作为区域0的一条备份链路。实验过程中,会人为地制造一些故障点,然后再一步一步地进行故障排除。 

实验拓扑 

 1.基本配置

根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R3之间的连通性。

 其余直连网段的连通性测试过程在此省略。

2.配置OSPF路由协议

配置OSPF协议,其中R1与R2、R1与R3、R2与R4之间的链路属于区域0,R3与R4、R3与R5、R4与R6之间的链路属于区域1,R3与R4配置虚链路,每台路由器使用Loopback 0接口的IP地址作为自己的Router-ID。

[r1] router id 10.0.1.1
[r1]ospf 10
[r1-ospf-10]area 0
[r1-ospf-10-area-0.0.0.0]network 10.0.12.1 0.0.0.0
[r1-ospf-10-area-0.0.0.0]network 10.0.13.1 0.0.0.0
[r1-ospf-10-area-0.0.0.0]network 10.0.1.1 0.0.0.0

[r2]router id 10.0.2.2
[r2]ospf 10
[r2-ospf-10]area 0
[r2-ospf-10-area-0.0.0.0]network 10.0.12.2 0.0.0.0
[r2-ospf-10-area-0.0.0.0]network 10.0.24.2 0.0.0.0
[r2-ospf-10-area-0.0.0.0]network 10.0.2.2 0.0.0.0

 

[r3]router id 10.0.3.3
[r3]ospf 10
[r3-ospf-10]area 0
[r3-ospf-10-area-0.0.0.0]network 10.0.13.3 0.0.0.0
[r3-ospf-10-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[r3-ospf-10-area-0.0.0.0]area 1
[r3-ospf-10-area-0.0.0.1]network 10.0.35.3 0.0.0.0
[r3-ospf-10-area-0.0.0.1]network 10.0.34.3 0.0.0.0
[r3-ospf-10-area-0.0.0.1]vlink-peer 10.0.4.4

 

[r4]router id 10.0.4.4
[r4]ospf 10
[r4-ospf-10]area 0
[r4-ospf-10-area-0.0.0.0]net 10.0.24.4 0.0.0.0
[r4-ospf-10-area-0.0.0.0]net 10.0.4.4 0.0.0.0
[r4-ospf-10-area-0.0.0.0]area 1
[r4-ospf-10-area-0.0.0.1]net 10.0.46.4 0.0.0.0
[r4-ospf-10-area-0.0.0.1]net 10.0.34.4 0.0.0.0
[r4-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3

 

[r5]router id 10.0.5.5
[r5]ospf 10
[r5-ospf-10]area 1
[r5-ospf-10-area-0.0.0.1]net 10.0.35.5 0.0.0.0
[r5-ospf-10-area-0.0.0.1]net 10.0.5.5 0.0.0.0

 

[R6]router id 10.0.6.6
[R6]ospf 10
[R6-ospf-10]area 1
[R6-ospf-10-area-0.0.0.1]net 10.0.46.6 0.0.0.0
[R6-ospf-10-area-0.0.0.1]net 10.0.6.6 0.0.0.0

配置完成后,在R2、R3、R4上查看OSPF邻居建立情况。

 

可以看到,邻居邻接关系都已成功建立。

在R5上查看OSPF路由信息。

可以看到,R5已经获得了所有网段的路由。

在R6上查看OSPF路由信息。

可以看到,R6也已获得了所有网段的路由。

查看R5和R6的LSDB。

可以看到,R5和R6的LSDB内容是完全相同的。

3.添加OSPF故障点

目前企业网络的配置是正确的,通信也是正常的。为了模拟故障现象,接下来将人为地制造一些故障点。

故障点1:将路由器R5的GE0/0/1接口通告进区域2。

[r5]ospf 10
[r5-ospf-10]area 2
[r5-ospf-10-area-0.0.0.2]network 10.0.35.5 0.0.0.0

 说明:OSPF协议规定,不同区域(Area)之间的边界是路由器而不是链路。如果R3的GE0/0/2接口属于区域1,而R5的GE0/0/1接口属于区域2,就意味着R3与R5之间的链路成了区域1与区域2的边界,这违背了OSPF关于区域划分的原则,也将导致R3与R5的邻居关系无法建立。

故障点2:将路由器R2的Router-ID修改为10.0.1.1,并重启OSPF进程。

[r2]router id 10.0.1.1
[r2]q
<r2>reset ospf process

Warning: The OSPF process will be reset. Continue? [Y/N]:y

说明: Router-ID 唯一地标识了 OSPF 路由器的身份, OSPF 路由器之间通过交换 Hello 报文来协商成为邻居,而 Hello 报文中就包含Router-ID 等信息。如果R2与 RI 的 Router-ID 发生了冲突,则它们的邻居关系是无法建立的。 

 故障点3:将R2的 GE 0/0/0接口的 IP 地址掩码改成255.255.255.128。

[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 10.0.12.2 25 

说明:将R2的GE0/0/0接口的 IP 地址掩码改成255.255.255.128后,马上会有日志信息弹出, OSPF 邻居状态变成 Down 。原来, Hello 报文中携带了掩码信息,如果链路两端接口的掩码不匹配,则邻居关系无法建立。
故障点4:将R1的 GE 0/0/1接口的 Hello Timer 的时间修改成100s。

[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ospf timer hello 100

说明: OSPF 协议依靠 Hello 报文来建立和维护邻居关系,缺省情况下, Hello Timer 的时间为10s,该信息也包含在 Hello 报文中。如果相邻路由器的 Hello 报文中的 Hello Timer 的时间不一致,则将导致双方无法建立邻居关系。
故障点5:将R4的 GE 0/0/2接口配置为简单明文认证类型,R6的 GE 0/0/1接口配置为MD5加密认证类型。 

[r4]int g0/0/2
[r4-GigabitEthernet0/0/2]ospf auth    
[r4-GigabitEthernet0/0/2]ospf authentication-mode simple
[r4-GigabitEthernet0/0/2]ospf authentication simple huawei

[R6]int g0/0/1
[R6-GigabitEthernet0/0/1]ospf auth    
[R6-GigabitEthernet0/0/1]ospf authentication-mode md5
[R6-GigabitEthernet0/0/1]ospf authentication md5 1 huawei 

说明:在 OSPF 协商建立邻居关系的过程中,双方认证类型的不匹配(例如:一方使用简单明文认证,而另一方使用MD5加密认证)将导致邻居关系无法建立。
故障点6:配置R3与R4之间的虚链路时,使用不一致的认证类型。 

[r3]ospf 10
[r3-ospf-10]area 1
[r3-ospf-10-area-0.0.0.1]vlink-peer 10.0.4.4 simple huawei hello 10 dead 40

[r4]ospf 10
[r4-ospf-10]area 1
[r4-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3 md5 1 huawei hello 10 dead 40 

说明:在虚链路上也会交换 Hello 报文,但与普通的 Hello 报文不一样,虚链路的 Hello 报文是单播报文而并非是组播报文。如果需要建立虚链路的双方所发送的 Hello 报文中的认证类型不匹配,则双方不能建立虚链路关系。 

4.排除OSPF的邻居关系故障

现在,由于上述故障的存在,网络已无法进行正常的通信了。在开始排除故障之前,先熟悉一下每台路由器有哪几个邻居。
在R5上使用 display ospf peer 命令查看邻居关系。

结果发现R5没有任何邻居。使用 reset ospf counter 命令清空 OSPF 计数器,然后使用display ospf peer命令查看错误报文信息。

 可以看到,在Bad area id处显示有错误数据包计数。查看R5的OSPF配置情况。

可以看到,R5的OSPF区域配置有误,R5的GE0/0/1接口(10.0.35.5)本应该属于区域1,而现在是属于区域2。

修改R5的GE0/0/1接口的区域配置。

[r5]ospf 10
[r5-ospf-10]area 1
[r5-ospf-10-area-0.0.0.1]network 10.0.35.5 0.0.0.0

 修改之后,在R5上查看邻居关系是否能正常建立。

可以看到,现在邻居关系已经正常,R5只有一个邻居R3,这与实际情况是相符的。

查看R3的邻居关系。

观察发现,R3上已建立了两个OSPF邻居关系,而实际上R3应该有3个邻居,目前R3与R1还没有建立起邻居关系。

查看R3接收到的错误数据包。

可以看到,在Hello timer mismatch处有错误数据包计数,说明Hello Timer时间不匹配。

查看R1的GE0/0/1接口以及R3的GE0/0/1接口的OSPF状态。

可以看到,这两个接口上配置的Hello Timer时间不匹配。修改R1的GE0/0/1接口的Hello Timer的值为10s,稍等片刻后,查看R1的邻居关系。

[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ospf timer hello 10

 可以看到,现在R1和R3已经建立了正常的邻居关系,但是却发现,R1还没有与R2建立邻居关系。

在R2上查看是否接收到错误数据包。

可以看到,在Router id confusion处有错误数据包计数,显示Router-ID有错误。

使用display ospf routing router-id 命令查看R1与R2的Router-ID。

可以看到,R2与R1具有相同的Router-ID,发生了冲突。修改R2的Router-ID,并重启R2上的OSPF进程,然后查看R2上的邻居情况。

[r2]router id 10.0.2.2
[r2]q
<r2>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y

可以看到,R2的Router-ID修改正确之后,R2与R1仍然没有建立起邻居关系。再次查看R2是否接收到错误数据包。

可以看到,在Netmask mismatch处有错误数据包计数。查看R2的接口信息。

可以看到,R2的GE0/0/0接口的子网掩码是255.255.255.128,导致了不能与R1建立邻居关系。

修改R2的GE0/0/0接口的子网掩码,使链路两端接口的掩码一致。

[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ip add 10.0.12.2 24

修改掩码后,可以看到如下的日志提示信息。

上面的信息说明了现在R2与R1已经建立起了邻居关系。

在R4上查看邻居情况。

可以看到,R4与R6还没有建立起邻居关系。查看R4是否接收到错误数据包。、

可以看到,在Bad authentication type处有错误数据包计数。

在R4上查看G0/0/2接口下的认证配置。

在R6上查看GE0/0/1接口下的认证配置。

可以看到,R4的GE0/0/2接口与R6的GE0/0/1接口的认证类型配置不一致,导致无法建立邻居关系。修改R4的GE0/0/2接口的认证类型。

[r4]int g0/0/2
[r4-GigabitEthernet0/0/2]ospf authentication-mode md5
[r4-GigabitEthernet0/0/2]OSPF authentication md5 1 huawei

在R4上查看邻居关系。

 可以看到,R4与相邻的路由器都建立起了邻居关系。在R6上查看邻居建立情况。

可以看到,R6的OSPF邻居关系是正常的。

测试R5和R6的Loopback 0接口间的连通性。

 至此,故障点1至故障点5都已经得到了排除。

5.排除OSPF的虚链路故障

在R3和R4上使用display ospf vlink命令查看虚链路的建立情况。

可以看到,R3和R4之间的虚链路状态出现了问题,状态为Down。

在R3和R4上查看错误数据包信息。

可以看到,在Bad authentication type 处有错误数据包计数。查看虚链路的配置以核实是否真的存在错误。

 可以看到,虚链路上配置的认证类型不匹配。修改R4的GE0/0/0接口的认证类型。

[r4]ospf 10
[r4-ospf-10]area 1
[r4-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3 simple huawei hello 10 dead 40

然后,在R4上查看虚链路状态。

可以看到,R4与R3之间的虚链路状态为FULL,说明虚链路的邻居关系已经正常。至此,所有故障点都已得到了排除。

  • 16
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OSPF2.0网络技术与应用》是一本详细介绍OSPF2.0协议的书籍。OSPF(开放最短路径优先)协议是一种内部网关路由协议,用于在企业网络中实现IP路由。OSPF2.0是在OSPF协议基础上进行改进和优化的新版本。 该书籍首先介绍了OSPF协议的基本原理和工作机制,包括OSPF2.0在网络中的运行原理、数据传输过程和邻居关系的建立等。它详细解释了OSPF2.0协议中各种消息的格式和含义,包括Hello消息、LSA(链路状态广告)消息和LSDB(链路状态数据库)等。读者可以通过学习这些知识来了解OSPF2.0协议的运作方式。 此外,该书籍还介绍了OSPF2.0协议的各种配置和调优方法,包括如何配置OSPF2.0协议的区域和区域边界路由器(ABR),如何调整OSPF2.0协议的度量值和优先级等。这些内容可以帮助读者在实际网络中正确地配置和优化OSPF2.0协议,以提高网络的性能和可靠性。 《OSPF2.0网络技术与应用》还介绍了OSPF2.0在广域网和互联网中的应用,包括如何使用OSPF2.0协议实现企业分布式网络和多站点互联等。它还介绍了OSPF2.0协议与其他路由协议(如RIP、BGP等)的互操作性,以及如何进行OSPF2.0协议的故障排除故障恢复。 总之,这本书提供了丰富的OSPF2.0协议知识,适合网络工程师和网络管理员阅读学习。通过学习这本书,读者可以更好地理解和应用OSPF2.0协议,从而构建高效、可靠的企业网络

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值