路由器故障:IBGP鄰居無法建立連接
IBGP鄰居無法建立連接的故障解決步驟如下:
網(wǎng)絡(luò)環(huán)境
在下圖的網(wǎng)絡(luò)中,RouterA分別通過接口POS5/0/0和GE1/0/0與RouterB配置IBGP連接。配置完成后,RouterA和RouterB之間的BGP鄰居down掉了,一直處于OpenSent狀態(tài),但是從RouterA上可以ping通RouterB的Loopback0地址10.0.0.1。
圖IBGP鄰居無法建立連接
故障分析
步驟 1 在RouterA上,執(zhí)行display ip routing-table命令檢查,發(fā)現(xiàn)POS5/0/0接口down掉后,有一條下一跳為NULL0口的到公網(wǎng)的等值路由。
POS5/0/0接口down掉后,RouterA上到公網(wǎng)路由及其對應(yīng)BGP鄰居狀態(tài)如下。
- <RouterA>displayiprouting-table219.133.0.0
- RoutingTable:Public
- SummaryCount:2
- Destination/MaskProtoPreCostNextHopInterface
- 0.0.0.0/0BGP100010.0.0.1GigabitEthernet1/0/0
- BGP100010.0.0.1NUll0
- <RouterA>displaybgppeer
- BGPlocalrouterID:172.16.0.1
- LocalASnumber:64640
- Totalnumberofpeers:3Peersinestablishedstate:2
- PeerVASMsgRcvdMsgSentOutQUp/DownStatePrefRcv
由此可知發(fā)生了路由迭代。如果沒有迭代發(fā)生,那么POS5/0/0接口down掉后,原先的兩條等值路由上行,應(yīng)該只剩下一條從GE1/0/0出去的路由才對。
步驟 2 在RouterB上,執(zhí)行display bgp peer命令查看對等體狀態(tài),一直處于OpenSent狀態(tài)。
- 4413401000:01:10OpenSent0
POS5/0/0接口沒有down時,到公網(wǎng)路由:
- <RouterA>displayiprouting-table219.133.0.3
- RoutingTable:Public
- SummaryCount:2
- Destination/MaskProtoPreCostNextHopInterface
- 0.0.0.0/0BGP100010.0.0.1GigabitEthernet1/0/0
- BGP100010.0.0.1Pos5/0/0
步驟 3 在RouterA上,使用display current-configuration命令查看配置,發(fā)現(xiàn)配置了如下的指向RouterB Loopback地址32位掩碼的靜態(tài)路由。
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
現(xiàn)在RouterA POS5/0/0接口down了,如上的靜態(tài)路由配置會導(dǎo)致RouterA進(jìn)行路由迭代,另外還有如下路由配置到達(dá)192.168.0.1(RouterB和RouterA對接的10G POS口地址)。
ip route-static 192.168.0.0 255.255.255.0 NULL0 preference 255
因此就出現(xiàn)了在RouterA POS口down掉后,雙上行的兩條等值路由,有一條的下一跳變成NULL0口了。
指向NULL0的路由出現(xiàn)和BGP鄰居down掉有關(guān)系,此時從RouterA上可以ping通RouterB Loopback地址(10.0.0.1),一般而言,此時BGP鄰居應(yīng)該不會down掉。
但因?yàn)镽outerA是雙路由上行,因此發(fā)包就有個Hash問題,直接不帶源地址的ping,Hash的結(jié)果是從10GE口出去,因此是通的。如果在RouterA上帶Loopback地址作為源地址來ping RouterB的Loopback地址,RouterA上Hash的結(jié)果就是從10G POS口出去了,結(jié)果導(dǎo)致不通,而這恰巧是RouterA和RouterB建立BGP鄰居的源和目的地址,因此RouterA上出現(xiàn)了BGP鄰居down掉的問題,因?yàn)?0G POS口現(xiàn)在迭代到的路由的下一跳是NULL0口。由此可知,RouterA路由迭代導(dǎo)致BGP鄰居down掉。
----結(jié)束
處理步驟
在RouterA上分別執(zhí)行如下操作。
步驟 1 執(zhí)行system-view命令,進(jìn)入系統(tǒng)視圖。
步驟 2 分別執(zhí)行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命令,刪除原有靜態(tài)路由。
步驟 3 分別執(zhí)行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命令,在靜態(tài)路由后加上下一跳和對應(yīng)的出接口。
步驟 4 在RouterA POS5/0/0接口down掉后,迭代到如上靜態(tài)路由就迭代中止了,就宣布POS口的靜態(tài)路由不可達(dá),從路由表中撤銷掉該路由,到對端RouterB的所有報文都走對應(yīng)的GE口出去了。
步驟 5 執(zhí)行命令return退回到用戶視圖,執(zhí)行命令save,保存對配置的修改。
----結(jié)束
配置完成后,在RouterA上執(zhí)行display ip routing-table命令查看,發(fā)現(xiàn)指向Null0口的路由消失,故障排除。
案例總結(jié)
配置靜態(tài)路由時,如果不是點(diǎn)對點(diǎn)的網(wǎng)絡(luò)類型,建議同時配置下一跳和對應(yīng)的出接口,否則容易引發(fā)路由迭代錯誤。
【編輯推薦】