OSPF邻居建立不成功故障现象 OSPF邻居建立不成功。
操作步骤- 检查邻居两端的接口物理和协议状态是否UP,状态是否稳定,接口是否有丢包,两边互ping大包是否能通。
若物理接口不Up或是不稳定(有振荡现象),请排查物理链路和链路层协议,确保物理和协议状态都是Up,并且接口无错误计数。 可以通过ping测试,长ping测试是否存在丢包现象,ping大包(1500字节以上)测试是否存在大包不通的现象。
- 检查链路两端OSPF进程的Router ID是否一致。
分别在链路两端的设备上执行命令display ospf [ process-id ] brief,查看OSPF进程的Router ID。 RouterID尽量保证全网唯一,否则有可能邻居不能正常建立、路由信息不正确的问题。建议在设备上单独为每个OSPF进程配置全网唯一的Router ID。 如果链路两端OSPF进程的Router ID一致,请在系统视图下执行命令ospf [ process-id ] router-id router-id,修改OSPF进程的Router ID以保证不冲突。 修改OSPF进程的Router ID之后,必须在用户视图下执行命令reset ospf [ process-id ] process后,新配置的Router ID才会生效。
- 检查链路两端OSPF区域ID是否一致。
分别在链路两端的设备上执行命令display ospf [ process-id ] brief,查看OSPF的区域ID。 如果链路两端的OSPF区域ID不一致,请在OSPF视图下执行命令area area-id,修改OSPF区域ID以保证一致。
- 检查链接两端OSPF接口的网络类型是否一致。
分别在链路两端的设备上执行命令display ospf [ process-id ] interface,查看OSPF接口的接口类型。 一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不能正常建立起OSPF邻居关系。- 当链路两端的OSPF接口的网络类型一端是广播网而另一端是P2P时,双方仍可以正常的建立起邻居关系,但互相学不到路由信息。
- 当链路两端的OSPF接口的网络类型一端是P2MP而另一端是P2P时,双方仍可以正常的建立起邻居关系,但互相学不到路由信息。为了相互学到路由信息,此时需要在链路两端的OSPF接口上配置相同的Hello报文发送间隔和邻居失效时间。
如果OSPF接口的网络类型不一致,请在运行OSPF协议的接口视图下执行命令ospf network-type { broadcast | nbma | p2mp | p2p },修改OSPF接口的网络类型以保证一致。 说明:如果链路两端OSPF接口的网络类型都是NBMA,则必须在OSPF视图下执行命令peer ip-address [ dr-priority priority ],配置NBMA网络的OSPF邻居。
- 检查链路两端OSPF接口的IP地址的掩码是否一致。
分别在链路两端的设备上执行命令display current-configuration interface interface-type interface-number,查看OSPF接口的IP地址。 一般情况下,链路两端的OSPF接口的IP地址的掩码必须一致,否则双方不能正常建立OSPF邻居关系。但在P2MP网络中,可以通过在运行OSPF协议的接口视图下配置命令ospf p2mp-mask-ignore来使设备忽略对网络掩码的检查,从而正常建立OSPF邻居关系。 如果OSPF接口的IP地址的掩码不一致,请在运行OSPF协议的接口视图下执行命令ip address ip-address { mask | mask-length },修改OSPF接口的IP地址以保证掩码一致。
- 检查链路两端OSPF接口的IP地址所在网段是否包含在区域内配置的network内。
分别在链路两端的设备上执行命令display current-configuration interface interface-type interface-number,查看OSPF接口的IP地址;执行命令display current-configuration configuration ospf,查看OSPF进程的配置。 满足下面两个条件,OSPF协议才能在接口上运行: - 接口的IP地址掩码长度≥network命令中的掩码长度。OSPF使用反掩码,例如0.0.0.255表示掩码长度24位。
- 接口的主IP地址必须在network命令指定的网段范围之内。
如果检查发现接口IP地址与配置的network不满足上述条件,请在运行OSPF协议的接口视图下执行命令ip address ip-address { mask | mask-length },修改接口的IP地址;或者在OSPF进程对应的区域视图下执行命令network,修改配置的网段,保证满足上述条件。
- 检查链路两端OSPF接口的DR优先级是否非零。
分别在链路两端的设备上执行命令display ospf [ process-id ] interface,查看OSPF接口的DR优先级。 对于广播和NBMA类型网络,链路中至少要有一个OSPF接口的DR优先级不为0,这样才能正常选举出DR。否则两边的邻居状态只能达到2-Way。 如果链路两端OSPF接口的DR优先级都为0,请在运行OSPF协议的接口视图下执行命令ospf dr-priority priority,修改OSPF接口的DR优先级以保证至少有一个接口的DR优先级不为0。
OSPF不能发现其他区域的路由故障现象在链路正常的情况下,OSPF不能发现其他区域的路由。
操作步骤- 检查设备所在区域是否与骨干区域相连。
在设备所在区域的ABR上执行命令display ospf [ process-id ] brief,查看ABR的区域配置信息。 OSPF规定所有非骨干区域必须与骨干区域保持连通。 如果ABR上没有配置骨干区域的信息,请在OSPF视图下执行命令area area-id,修改OSPF区域信息以保证ABR上至少有一个接口运行在骨干区域。 说明:如果因实际组网限制,无法满足所有非骨干区域与骨干区域保持连通的要求,可以通过配置虚连接来满足需求。
- 检查设备所在区域是否为Totally Stub区域。
在设备上执行命令display current-configuration configuration ospf [ process-id ],查看OSPF进程的配置信息。 配置非骨干区域为Stub区域时,如果在ABR上配置时加上了参数no-summary (即OSPF区域视图下执行stub no-summary命令),则将该区域配置成了Totally Stub区域。 Totally Stub区域,不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。 如果设备所在区域被配置为Totally Stub区域,请在确认需要修改的情况下,根据需求选择如下配置:
- 检查设备所在区域是否为Totally NSSA区域。
在设备上执行命令display current-configuration configuration ospf [ process-id ],查看OSPF进程的配置信息。 配置非骨干区域为NSSA区域时,如果在ABR上配置时加上了参数no-summary (即在OSPF区域视图下执行nssa no-summary命令),则将该区域配置成了Totally NSSA区域。 Totally NSSA区域不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由。 如果设备所在区域被配置为Totally NSSA区域,请在确认需要修改的情况下,根据需求选择如下配置:
|