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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
步骤 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更精确。问题的根本原因还在于各协议路由优先级的设置,在做配置时,建议充分考虑组网需求。
【编辑推荐】