中国领先的IT技术网站
|
|

路由器故障:IBGP邻居无法建立连接

IBGP路由器必须以全网状结构相连,以防止路由环回。本文主要向大家介绍了IBGP邻居无法建立连接的故障是怎么解决的,希望大家能够有所收获。

作者:佚名来源:51CTO整理|2011-05-17 13:31


IBGP邻居无法建立连接的故障解决步骤如下:

网络环境

在下图的网络中,RouterA分别通过接口POS5/0/0和GE1/0/0与RouterB配置IBGP连接。配置完成后,RouterA和RouterB之间的BGP邻居down掉了,一直处于OpenSent状态,但是从RouterA上可以ping通RouterB的Loopback0地址10.0.0.1。

图IBGP邻居无法建立连接

路由器故障:IBGP邻居无法建立连接

故障分析

步骤 1 在RouterA上,执行display ip routing-table命令检查,发现POS5/0/0接口down掉后,有一条下一跳为NULL0口的到公网的等值路由

POS5/0/0接口down掉后,RouterA上到公网路由及其对应BGP邻居状态如下。

  1. <RouterA>displayiprouting-table219.133.0.0
  2.  
  3. RoutingTable:Public
  4.  
  5. SummaryCount:2
  6.  
  7. Destination/MaskProtoPreCostNextHopInterface
  8.  
  9. 0.0.0.0/0BGP100010.0.0.1GigabitEthernet1/0/0
  10.  
  11. BGP100010.0.0.1NUll0
  12.  
  13. <RouterA>displaybgppeer
  14.  
  15. BGPlocalrouterID:172.16.0.1
  16.  
  17. LocalASnumber:64640
  18.  
  19. Totalnumberofpeers:3Peersinestablishedstate:2
  20.  
  21. PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv

由此可知发生了路由迭代。如果没有迭代发生,那么POS5/0/0接口down掉后,原先的两条等值路由上行,应该只剩下一条从GE1/0/0出去的路由才对。

步骤 2 在RouterB上,执行display bgp peer命令查看对等体状态,一直处于OpenSent状态。

  1. 4413401000:01:10OpenSent0

POS5/0/0接口没有down时,到公网路由:

  1. <RouterA>displayiprouting-table219.133.0.3
  2.  
  3. RoutingTable:Public
  4.  
  5. SummaryCount:2
  6.  
  7. Destination/MaskProtoPreCostNextHopInterface
  8.  
  9. 0.0.0.0/0BGP100010.0.0.1GigabitEthernet1/0/0
  10.  
  11. BGP100010.0.0.1Pos5/0/0

步骤 3 在RouterA上,使用display current-configuration命令查看配置,发现配置了如下的指向RouterB Loopback地址32位掩码的静态路由。

ip route-static 10.0.0.1 255.255.255.255 192.168.1.1

ip route-static 10.0.0.1 255.255.255.255 192.168.0.1

现在RouterA POS5/0/0接口down了,如上的静态路由配置会导致RouterA进行路由迭代,另外还有如下路由配置到达192.168.0.1(RouterB和RouterA对接的10G POS口地址)。

ip route-static 192.168.0.0 255.255.255.0 NULL0 preference 255

因此就出现了在RouterA POS口down掉后,双上行的两条等值路由,有一条的下一跳变成NULL0口了。

指向NULL0的路由出现和BGP邻居down掉有关系,此时从RouterA上可以ping通RouterB Loopback地址(10.0.0.1),一般而言,此时BGP邻居应该不会down掉。

但因为RouterA是双路由上行,因此发包就有个Hash问题,直接不带源地址的ping,Hash的结果是从10GE口出去,因此是通的。如果在RouterA上带Loopback地址作为源地址来ping RouterB的Loopback地址,RouterA上Hash的结果就是从10G POS口出去了,结果导致不通,而这恰巧是RouterA和RouterB建立BGP邻居的源和目的地址,因此RouterA上出现了BGP邻居down掉的问题,因为10G POS口现在迭代到的路由的下一跳是NULL0口。由此可知,RouterA路由迭代导致BGP邻居down掉。

----结束

处理步骤

在RouterA上分别执行如下操作。

步骤 1 执行system-view命令,进入系统视图。

步骤 2 分别执行undo ip route-static 10.0.0.1 255.255.255.255 192.168.1.1和undo ip route-static 10.0.0.1 255.255.255.255 192.168.0.1命令,删除原有静态路由。

步骤 3 分别执行ip route-static 10.0.0.1 32 GigabitEthernet 1/0/0 192.168.1.1和ip route-static 10.0.0.1 32 Pos 5/0/0 192.168.0.1命令,在静态路由后加上下一跳和对应的出接口。

步骤 4 在RouterA POS5/0/0接口down掉后,迭代到如上静态路由就迭代中止了,就宣布POS口的静态路由不可达,从路由表中撤销掉该路由,到对端RouterB的所有报文都走对应的GE口出去了。

步骤 5 执行命令return退回到用户视图,执行命令save,保存对配置的修改。

----结束

配置完成后,在RouterA上执行display ip routing-table命令查看,发现指向Null0口的路由消失,故障排除。

案例总结

配置静态路由时,如果不是点对点的网络类型,建议同时配置下一跳和对应的出接口,否则容易引发路由迭代错误。

【编辑推荐】

  1. BGP基本配置之IBGP和EBGP
  2. 路由器故障:IBGP邻居不传递团体属性
  3. 关于边界网关协议BGP中同步问题浅析
  4. IBGP路由协议在不同网络结构中的应用
  5. 路由器故障:EBGP路由自动改变下一跳
  6. 路由器故障:EBGP邻居的Loopback地址ping不通
【责任编辑:liyan TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

Java程序员面试宝典

本书是程序员面试宝典系列中的一册,也是上一本《程序员面试宝典》的姊妹书。本书对程序设计面试中Java常见的题型和常用解答技巧进行了介绍...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× 学习达标赢Beats耳机