实验拓扑

OSPF 故障处理案例 ospf故障排除实验_R3

给接口设置IP的地址

R1

OSPF 故障处理案例 ospf故障排除实验_R3_02

 

R2

OSPF 故障处理案例 ospf故障排除实验_虚电路_03

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_04

OSPF 故障处理案例 ospf故障排除实验_R3_05

 

为模拟相应的错误,R3的接口g0/0/0配置ip为10.0.75.3/25,其余接口按照拓扑图中的标识进行配置

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_06

OSPF 故障处理案例 ospf故障排除实验_R3_07

 

之后测试连通性

配置R1的接口s1/0/0和lo0属于区域2,使用接口lo0的地址作为router ID,注意对所有的ospf区域的接口的lo接口,修改其ospf的网络类型为broadcast类型。以便ospf发布lo口的真是掩码信息

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_08

 

在R2上配置接口s2/0/0以及lo0属于区域1,接口s1/0/0属于区域2,在启用ospf时没有静态指定router id

OSPF 故障处理案例 ospf故障排除实验_子网掩码_09

OSPF 故障处理案例 ospf故障排除实验_R3_10

 

在R3上配置接口s2/0/0以及lo0属于区域1,接口g0/0/0属于区域0

OSPF 故障处理案例 ospf故障排除实验_子网掩码_11

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_12

在R4上配置接口g0/0/0属于区域1,接口lo0不属于热播和区域,在配置ospf进程时使用ospf 1 指定R4的router ID为10.0.5.5

OSPF 故障处理案例 ospf故障排除实验_子网掩码_13

 

在R5上配置接口g0/0/0和lo0属于区域0

OSPF 故障处理案例 ospf故障排除实验_R3_14

OSPF 故障处理案例 ospf故障排除实验_虚电路_15

 

步骤三,在区域内排除ospf故障

查看R4邻居列表没发现R4没有与其他路由建立邻居关系

OSPF 故障处理案例 ospf故障排除实验_R3_16

 

 

在R3,R4,R5上分别运行dis ospf error查看ospf发生的错误

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_17

OSPF 故障处理案例 ospf故障排除实验_子网掩码_18

OSPF 故障处理案例 ospf故障排除实验_子网掩码_19

在R3,R4,R5这三台路由器之间一共发生了5中错误Router ID冲突(Router id confusion)、子网掩码不匹配 (Netmask mismatch)、错误的区域号(Bad area id)、错误的数据包(Bad packet)、错误的虚电路(Bad virtual link)。

 在这里我们并没有配置虚电路,在这种情况下错误的虚电路其实就是区域号错误,对于R4来说,它在一个区域号为1 的接口上收到了区域号为0的ospf数据包,它会认为这是一个通过虚电路发送过来的数据包,路由器本身没有配置虚电路就会发生错误,

   子网掩码错误也是错误 的数据包的一部分,先修改子网掩码的问题,

    首先排除Router ID冲突的问题,我们可以依次查看每台路由器的Router ID来手工找出发生冲突的路由器,也可以 通过系统日志来找,通过disolay logbuffer翻阅路由器当前的系统日志

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_20

与R5发生冲突的路由器接口的IP地址是10.0.75.4。查看 拓扑,发现10.0.75.4是R4的接口地址。然后查看R4的Router ID,可以看到该 路由器的Router ID和R5是一样的。同时还发现R4的区域号配置也有误。

OSPF 故障处理案例 ospf故障排除实验_hcip_21

修改R4的router ID和区域号

OSPF 故障处理案例 ospf故障排除实验_hcip_22

修改完成以后通过命令reset ospf counter 清空oispf计数器

OSPF 故障处理案例 ospf故障排除实验_hcip_23

重置后,运行dis odps error检查问题是否消失,

OSPF 故障处理案例 ospf故障排除实验_R3_24

可以看到在修改完配置以后,Route ID冲突和区域号错误的问题消失了,还 剩下子网掩码不匹配的问题。为了找出是哪台路由器配置了错误的子网掩码,我 们在R4上查看Debug信息。

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_25

从上面的信息我们可以看出,从10.0.75.3发来的Hello包中子网掩码是 255.255.255.128。查看拓扑,发现R3的对应接口配置错误

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_26

修改

OSPF 故障处理案例 ospf故障排除实验_R3_27

再次清空OSPF计数器,查看是否还存在错误。

OSPF 故障处理案例 ospf故障排除实验_子网掩码_28

OSPF 故障处理案例 ospf故障排除实验_hcip_29

无错误

 

接下来我们修改R4g0/0/0接口的hello间隔为5秒,观察邻居关系是否可以形成

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_30

经过约半分钟后,可以观察到R4的邻居消失了

 

清空R4的ospf计数器,查看ospf的错误

OSPF 故障处理案例 ospf故障排除实验_hcip_31

可以看到有Hello时间不匹配的错误出现,说明OSPF要求邻居间Hello间隔 一样。

取消Hello间隔的修改。再次检查邻居列表。

OSPF 故障处理案例 ospf故障排除实验_虚电路_32


 

OSPF 故障处理案例 ospf故障排除实验_hcip_33

、发现邻居关系已恢复正常

 

 

 

步骤四  ospf认证故障排除

在R1和R2上配置基于接口的认证,其中R1采用simple方式,秘钥为123,R2采用MD5方式,秘钥为huawei,

OSPF 故障处理案例 ospf故障排除实验_子网掩码_34

 

OSPF 故障处理案例 ospf故障排除实验_虚电路_35

配置完成后在R1上清空OSPF计数器,可以查到ospf的错误,

OSPF 故障处理案例 ospf故障排除实验_hcip_36

 

将R1的认证配置为MD5后,查看是否还存在错误

OSPF 故障处理案例 ospf故障排除实验_R3_37

OSPF 故障处理案例 ospf故障排除实验_虚电路_38

 

将R1的秘钥也改为华为,

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_39

 

OSPF 故障处理案例 ospf故障排除实验_虚电路_40

R1和R2已建立邻接关系

步骤五,虚电路故障排除

为保证区域2和区域0之间的连通性,R2和R3之间创建虚电路

OSPF 故障处理案例 ospf故障排除实验_子网掩码_41

OSPF 故障处理案例 ospf故障排除实验_R3_42

 

观察虚电路建立是否正常,以及R1是否学习到了全网路由

OSPF 故障处理案例 ospf故障排除实验_hcip_43

在R1上测试连通性,证实可以到达R5

OSPF 故障处理案例 ospf故障排除实验_虚电路_44

 

由于测试需要,删除R2的lo0接口()

OSPF 故障处理案例 ospf故障排除实验_子网掩码_45

 

后来由于一次偶然的事故,路由器重启了。在这里我们通过重启OSPF进程 的方法模拟路由器重启。

OSPF 故障处理案例 ospf故障排除实验_子网掩码_46

这时连接到R1的用户发现自己无法访问区域外的地址。管理员登录到R1上 发现无法与R5的Loopback地址通讯。

OSPF 故障处理案例 ospf故障排除实验_R3_47

 

OSPF 故障处理案例 ospf故障排除实验_子网掩码_48

OSPF 故障处理案例 ospf故障排除实验_hcip_49

 

 

下面我们将R2的Router ID固定为10.0.2.2,并将Loopback地址添加回去, 然后重启OSPF进程。

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_50

 

再次查看虚电路状态

OSPF 故障处理案例 ospf故障排除实验_子网掩码_51

此时虚电路已恢复正常

 

 

管理员出于安全的考虑,在区域0使用了基于区域的认证,启动了MD5对报文进行加密,秘钥为huawei

OSPF 故障处理案例 ospf故障排除实验_虚电路_52

OSPF 故障处理案例 ospf故障排除实验_hcip_53

 

OSPF 故障处理案例 ospf故障排除实验_hcip_54

 

这时,管理员再次发现区域2中的用户无妨访问区域外的网络,检查虚电路后发现虚电路又处于故障的状态

OSPF 故障处理案例 ospf故障排除实验_hcip_55

检查ospf的错误发现有认证的错误发生

OSPF 故障处理案例 ospf故障排除实验_子网掩码_56

ospf的虚电路属于区域0,区域0打开了基于区域的认证,虚电路上也需要打开认证

OSPF 故障处理案例 ospf故障排除实验_hcip_57

 

这时虚电路恢复,R1可以正常访问其他区域

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_58

 

OSPF 故障处理案例 ospf故障排除实验_子网掩码_59

 

 

步骤六,ospf路由汇总故障排除

 

首先在R4上以外部路由的形式引入lo0接口地址,并进行地址汇总,汇总后的子网掩码为16位

OSPF 故障处理案例 ospf故障排除实验_hcip_60

一段时间之后,管理员在R2上配置了区域间汇总,将R1的lo0接口连接的网段汇总成16位掩码的路由

OSPF 故障处理案例 ospf故障排除实验_R3_61

这时,除了连接到R4的用户外,全网所有用户均反馈不能访问R4的lo0地址10.1.4.4

 

检查与R4同一区域的路由器R5的路由器发现,若要到达10.1.4.4,匹配到路由条目10.1.0.0/16,而该路由的下一跳是10.0.75.3

为何会产生这样的一个错误条目呢????

OSPF 故障处理案例 ospf故障排除实验_子网掩码_62

观察R5的LSDB

OSPF 故障处理案例 ospf故障排除实验_虚电路_63

在LSDB中我们看到了有2条描述10.1.0.0的路由,接下来查看LSA的详细信息,下面这条第三类LSA是R2始发的,这两条LSA描述了一个完全相同的网段信息

OSPF 故障处理案例 ospf故障排除实验_OSPF 故障处理案例_64

OSPF 故障处理案例 ospf故障排除实验_子网掩码_65

 

在ospf中,第三条LSA始终优于第五类LSA,所以在R5路由表里出现的10.1.0.0/16这条路由的下一跳会是R3

 

为了避免这类问题的发生,我们在R4上取消原来对外部路由的汇总,这样这 条路由就会再次在其他路由器的路由表中出现。

OSPF 故障处理案例 ospf故障排除实验_子网掩码_66

OSPF 故障处理案例 ospf故障排除实验_虚电路_67

这时我们可以看到,在R5上已学习到了一条关于10.1.4.4/24的正确的路由,这时我们在R1上测试连通性

OSPF 故障处理案例 ospf故障排除实验_hcip_68