CCNP:簡單解析bgp路由在igp路由表中抖動
![]() |
基本配置:
r1:
-router bgp 9806 |
router bgp 4808 |
nei 20.20.20.20 ebgp-multihop |
此時r1還需可達(dá)20.20.20.20,因此在r1配置
ip route 0.0.0.0 0.0.0.0 1.1.1.2 //因為as9806是個末節(jié)點,所以只配置了默認(rèn)路由,這也是導(dǎo)致下面問題出現(xiàn)的原因
配置以上命令后bgp鄰居關(guān)系成功建立,r2把20.20.20.21/32(next-hop:20.20.20.20) 的update發(fā)送給r1,r1收到更新把20.20.20.21/32后放入bgp和igp路由表,此后r1會在查詢igp路由表20.20.20.21的下一跳20.20.20.20是否可達(dá),發(fā)現(xiàn)20.20.20.20可通過默認(rèn)路由到達(dá),最終20.20.20.21/32(next-hop:20.20.20.20)會保留在igp路由表中。
問題出現(xiàn)?。?!
這時,管理員為了讓r2為了便于管理,就把r2的loopback0通過bgp發(fā)布出去
network 20.20.20.20 mask 255.255.255.255 |
r2向r1發(fā)布新的update,20.20.20.20/32(next-hop:20.20.20.20),r1收到update后把路由裝入bgp和igp路由表。此時r1在igp路由表中查詢20.20.20.20/32的下一跳仍為20.20.20.20(最長匹配,因此也就不會再繼續(xù)查詢默認(rèn)路由了),這明顯不合乎邏輯(自己不能信任自己),因此將所有下一跳為20.20.20.20的路由從igp路由表中刪除,也就是20.20.20.20/32和20.20.20.21/32。過一會r2仍會發(fā)送新的update,r1又會重復(fù)剛才的動作,最終導(dǎo)致了通過bgp學(xué)到路由在igp路由表中一直振蕩。
解決辦法:
在r1上配置
ip route 20.20.20.20 255.255.255.255 1.1.1.2 |
當(dāng)r1在收到20.20.20.20/32的update后,裝入bgp和igp路由表,查詢20.20.20.20的下一跳通過上面配置的靜態(tài)路由可達(dá),r1保持此路由在igp路由表中,因此就不會出現(xiàn)上面bgp路由在igp路由表中振蕩的結(jié)果了。
最后注意:
1.當(dāng)對方用來和自己建立bgp鄰居關(guān)系用的接口和自己不是直連時,一定要配置一條靜態(tài)路由指向?qū)Ψ降腷gp neighbor地址
2.對方使用loopback建立bgp鄰居關(guān)系時,自己一定要配置一條ebgp-multihop。
【編輯推薦】