实验拓扑
给接口设置IP的地址
R1
R2
为模拟相应的错误,R3的接口g0/0/0配置ip为10.0.75.3/25,其余接口按照拓扑图中的标识进行配置
之后测试连通性
配置R1的接口s1/0/0和lo0属于区域2,使用接口lo0的地址作为router ID,注意对所有的ospf区域的接口的lo接口,修改其ospf的网络类型为broadcast类型。以便ospf发布lo口的真是掩码信息
在R2上配置接口s2/0/0以及lo0属于区域1,接口s1/0/0属于区域2,在启用ospf时没有静态指定router id
在R3上配置接口s2/0/0以及lo0属于区域1,接口g0/0/0属于区域0
在R4上配置接口g0/0/0属于区域1,接口lo0不属于热播和区域,在配置ospf进程时使用ospf 1 指定R4的router ID为10.0.5.5
在R5上配置接口g0/0/0和lo0属于区域0
步骤三,在区域内排除ospf故障
查看R4邻居列表没发现R4没有与其他路由建立邻居关系
在R3,R4,R5上分别运行dis ospf error查看ospf发生的错误
在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翻阅路由器当前的系统日志
与R5发生冲突的路由器接口的IP地址是10.0.75.4。查看 拓扑,发现10.0.75.4是R4的接口地址。然后查看R4的Router ID,可以看到该 路由器的Router ID和R5是一样的。同时还发现R4的区域号配置也有误。
修改R4的router ID和区域号
修改完成以后通过命令reset ospf counter 清空oispf计数器
重置后,运行dis odps error检查问题是否消失,
可以看到在修改完配置以后,Route ID冲突和区域号错误的问题消失了,还 剩下子网掩码不匹配的问题。为了找出是哪台路由器配置了错误的子网掩码,我 们在R4上查看Debug信息。
从上面的信息我们可以看出,从10.0.75.3发来的Hello包中子网掩码是 255.255.255.128。查看拓扑,发现R3的对应接口配置错误
修改
再次清空OSPF计数器,查看是否还存在错误。
无错误
接下来我们修改R4g0/0/0接口的hello间隔为5秒,观察邻居关系是否可以形成
经过约半分钟后,可以观察到R4的邻居消失了
清空R4的ospf计数器,查看ospf的错误
可以看到有Hello时间不匹配的错误出现,说明OSPF要求邻居间Hello间隔 一样。
取消Hello间隔的修改。再次检查邻居列表。
、
、发现邻居关系已恢复正常
步骤四 ospf认证故障排除
在R1和R2上配置基于接口的认证,其中R1采用simple方式,秘钥为123,R2采用MD5方式,秘钥为huawei,
配置完成后在R1上清空OSPF计数器,可以查到ospf的错误,
将R1的认证配置为MD5后,查看是否还存在错误
将R1的秘钥也改为华为,
R1和R2已建立邻接关系
步骤五,虚电路故障排除
为保证区域2和区域0之间的连通性,R2和R3之间创建虚电路
观察虚电路建立是否正常,以及R1是否学习到了全网路由
在R1上测试连通性,证实可以到达R5
由于测试需要,删除R2的lo0接口()
后来由于一次偶然的事故,路由器重启了。在这里我们通过重启OSPF进程 的方法模拟路由器重启。
这时连接到R1的用户发现自己无法访问区域外的地址。管理员登录到R1上 发现无法与R5的Loopback地址通讯。
下面我们将R2的Router ID固定为10.0.2.2,并将Loopback地址添加回去, 然后重启OSPF进程。
再次查看虚电路状态
此时虚电路已恢复正常
管理员出于安全的考虑,在区域0使用了基于区域的认证,启动了MD5对报文进行加密,秘钥为huawei
这时,管理员再次发现区域2中的用户无妨访问区域外的网络,检查虚电路后发现虚电路又处于故障的状态
检查ospf的错误发现有认证的错误发生
ospf的虚电路属于区域0,区域0打开了基于区域的认证,虚电路上也需要打开认证
这时虚电路恢复,R1可以正常访问其他区域
步骤六,ospf路由汇总故障排除
首先在R4上以外部路由的形式引入lo0接口地址,并进行地址汇总,汇总后的子网掩码为16位
一段时间之后,管理员在R2上配置了区域间汇总,将R1的lo0接口连接的网段汇总成16位掩码的路由
这时,除了连接到R4的用户外,全网所有用户均反馈不能访问R4的lo0地址10.1.4.4
检查与R4同一区域的路由器R5的路由器发现,若要到达10.1.4.4,匹配到路由条目10.1.0.0/16,而该路由的下一跳是10.0.75.3
为何会产生这样的一个错误条目呢????
观察R5的LSDB
在LSDB中我们看到了有2条描述10.1.0.0的路由,接下来查看LSA的详细信息,下面这条第三类LSA是R2始发的,这两条LSA描述了一个完全相同的网段信息
在ospf中,第三条LSA始终优于第五类LSA,所以在R5路由表里出现的10.1.0.0/16这条路由的下一跳会是R3
为了避免这类问题的发生,我们在R4上取消原来对外部路由的汇总,这样这 条路由就会再次在其他路由器的路由表中出现。
这时我们可以看到,在R5上已学习到了一条关于10.1.4.4/24的正确的路由,这时我们在R1上测试连通性