IBGP邻居的OSPF路由表不同的故障解决步骤如下:
网络环境
在下图的网络中,RouterA分别与RouterB和RouterC建立OSPF连接,而RouterB和RouterC之间建立IBGP邻居。RouterA以network方式分别向RouterB和RouterC发布了网段192.168.0.0/18。结果,RouterB的OSPF路由表中可以看到,但RouterC的OSPF路由表中没有该路由。
图IBGP邻居的OSPF路由表不同
故障分析
步骤 1 查看RouterC的OSPF LSDB,故障的时候,可以看到LSDB中有该18位网段的信息,但是没有生成OSPF路由。把192.168.0.0/18分为两个19位掩码的网段发布,在RouterB和RouterC上都可以看到此网段OSPF路由信息。
- <RouterB> display bgp routing-table 192.168.0.0
- BGP local router ID : 61.141.17.237
- Local AS number : 64862
- Paths: 1 available, 1 best
- BGP routing table entry information of 192.168.0.0/18:
- From: 61.141.17.235 (61.141.17.235)
- Relay Nexthop: 61.141.14.93
- Original nexthop: 61.141.17.235
- AS-path Nil, origin igp, MED 11, localpref 100, pref-val 0, valid, internal, be
- st, pre 100
- Advertised to such 4 peers:
- 61.141.14.86
- 59.43.1.109
- 61.141.14.114
- 61.141.14.122
- <RouterB> display ip routing-table 192.168.0.0
- Routing Table : Public
- Summary Count : 1
- Destination/Mask Proto Pre Cost NextHop Interface
- 192.168.0.0/19 O_ASE 150 11 61.141.14.130 GigabitEthernet4/0/0
步骤 2 在RouterC上,执行display ip routing-table命令查看全局路由表,发现18位掩码的此网段路由是通过BGP的方式,从RouterB学习过来,且优先级为100。
步骤 3 在RouterC上,执行display current-configuration查看配置,发现在BGP IPv4单播地址族视图下,配置了preference 20 100 200,该命令导致IBGP路由优先级为100,高于OSPF的路由优先级(150),所以当网段掩码为18位的时候,选择了优先级更高的IBGP路由,导致OSPF LSDB不能生成OSPF路由。
----结束
处理步骤
在RouterC上分别执行如下操作。
步骤 1 执行命令system-view,进入系统视图。
步骤 2 执行bgp命令,进入BGP视图。
步骤 3 执行undo preference命令,取消之前的优先级设置。
步骤 4 执行preference 20 180 200命令重新设置路由优先级。将IBGP路由优先级设置为180(低于OSPF路由优先级)。
步骤 5 执行命令return退回到用户视图,执行命令save,保存对配置的修改。
----结束
配置完成后,在RouterC上执行display ospf routing命令查看OSPF路由,发现存在路由192.168.0.0/18,故障排除。
案例总结
当RouterA发布的网段改为19位掩码后,RouterC从RouterB学习的的IBGP路由优先级虽然高于150,但是掩码位为18位。自然本地的LSDB既可以计算出19位掩码的路由了,因为19位掩码网段对于RouterC更精确。问题的根本原因还在于各协议路由优先级的设置,在做配置时,建议充分考虑组网需求。
【编辑推荐】