您好,登錄后才能下訂單哦!
1、實驗拓撲
2、基礎配置
R1配置
interface Loopback0
ip address 1.1.1.1 255.255.255.0
interface Serial0/0
ip address 13.1.1.1 255.255.255.0
interface Serial0/1
ip address 12.1.1.1 255.255.255.0
router ospf 110
router-id 1.1.1.1
network 1.1.1.0 0.0.0.255 area 0
network 12.1.1.0 0.0.0.255 area 0
network 13.1.1.0 0.0.0.255 area 0
R2配置
interface Loopback0
ip address 2.2.2.2 255.255.255.0
interface Serial0/0
ip address 24.1.1.2 255.255.255.0
interface Serial0/1
ip address 12.1.1.2 255.255.255.0
router ospf 110
router-id 2.2.2.2
network 2.2.2.0 0.0.0.255 area 0
network 12.1.1.0 0.0.0.255 area 0
R3配置
interface Loopback0
ip address 3.3.3.3 255.255.255.0
interface Serial0/0
ip address 13.1.1.3 255.255.255.0
interface Serial0/1
ip address 35.1.1.3 255.255.255.0
router ospf 110
router-id 3.3.3.3
network 3.3.3.0 0.0.0.255 area 0
network 13.1.1.0 0.0.0.255 area 0
R4配置
interface Loopback0
ip address 4.4.4.4 255.255.255.0
interface Serial0/0
ip address 24.1.1.4 255.255.255.0
R5配置
interface Loopback0
ip address 5.5.5.5 255.255.255.0
interface Serial0/1
ip address 35.1.1.5 255.255.255.0
3、BGP鄰居建立
IBGP建鄰居用環回口,而默認源地址是物理接口,所以在使用環回口建鄰居的時候,需要手動指定更新源,例如:neighbor 3.3.3.3 update-source lo 0(單向即可建立鄰居,但是一般都是兩邊都只定更新源)
EBBP建鄰居一般用物理接口,若用環回口,要改TTL值,即改為多跳,默認TTL值為1,例如:neighbor 3.3.3.3 ebgp-multihop 2(不指定值默認為255)
R4和R2物理接口建立EBGP鄰居
R4配置
router bgp 4
no synchronization
bgp router-id 4.4.4.4
neighbor 24.1.1.2 remote-as 1
R2配置
router bgp 1
no synchronization
bgp router-id 2.2.2.2
neighbor 24.1.1.4 remote-as 4
R2和R3環回口建立IBGP鄰居
R2配置
router bgp 1
neighbor 3.3.3.3 remote-as 1
neighbor 3.3.3.3 update-source Loopback0
R3配置
router bgp 1
no synchronization
bgp router-id 3.3.3.3
neighbor 2.2.2.2 remote-as 1
neighbor 2.2.2.2 update-source Loopback0
R3和R5環回口建立EBGP鄰居
R3配置
router bgp 1
neighbor 5.5.5.5 remote-as 5
neighbor 5.5.5.5 ebgp-multihop 2
neighbor 5.5.5.5 update-source Loopback0
R5配置
router bgp 5
no synchronization
bgp router-id 5.5.5.5
neighbor 3.3.3.3 remote-as 1
neighbor 3.3.3.3 ebgp-multihop 2
neighbor 3.3.3.3 update-source Loopback0
R3(config)#ip route 5.5.5.0 255.255.255.0 s0/1
R5(config)#ip route 3.3.3.0 255.255.255.0 s0/1
4、network通告網絡
Network命令:
IGP發送hello包建鄰居的同時通告接口所在網段。
BGP得先用neighbor建鄰居,然后再用network通告路由,其通告的路由必須存在于路由表中,且其是精確匹配,例如:network 4.4.4.0 mask 255.255.255.0(路由表中必須存在該路由才能通告)
R4(config)#router bgp 4
R4(config-router)#network 4.4.4.0 mask 255.255.255.0
5、控制層面
BGP表中*表示可達,>代表最優,*>i后面的i表示是通過IBGP學到的,*> 后面的空格表示是自身通告或是通過EBGP學到的。
在R3的BGP表中我們可以看到* i4.4.4.0/24這樣一條非最優路由。
同步:從IBGP學到路由,必須也可以通過IGP學到才放入路由表,傳給其他鄰居。
非最優路由:既不放入路由表,也不傳給其他鄰居。
造成非最優路由主要是應為:不同步、下一跳不可達。
解決不同步的方法:寫靜態路由或關閉同步.例如:no synchronization(現在默認都以關閉同步)
解決下一跳不可達的方法:寫靜態路由或在EBGP上修改下一跳。例如在R2上neighbor 3.3.3.3 next-hop-self。
由此可以看出,造成R3非最優路由的原因為下一跳不可達。在R2上修改下一跳即可。
R2(config)#router bgp 1
R2(config-router)#neighbor 3.3.3.3 next-hop-self
此時該路由將被放入路由表并傳給鄰居。
6、數據層面
此時用R5的環回口ping 4.4.4.4。
此時不通,主要是因為路由黑洞造成的。R3、R5都有到4.4.4.0/24網絡的路由,但是當R3將數據發往R1的時候,由于R1上并沒有4.4.4.0/24的路由將其丟棄了。
為解決該問題,我們采用FULL MESH的辦法,建立全鄰居關系,即R1、R2、R3兩兩間都互為鄰居。
R1(config)#router bgp 1
R1(config-router)#bgp router-id 1.1.1.1
R1(config-router)#neighbor 2.2.2.2 remote-as 1
R1(config-router)#neighbor 2.2.2.2 update-source loopback 0
R1(config-router)#neighbor 3.3.3.3 remote-as 1
R1(config-router)#neighbor 3.3.3.3 update-source loopback 0
R2(config)#router bgp 1
R2(config-router)#neighbor 1.1.1.1 remote-as 1
R2(config-router)#neighbor 1.1.1.1 update-source loopback 0
R3(config)#router bgp 1
R3(config-router)#neighbor 1.1.1.1 remote-as 1
R3(config-router)#neighbor 1.1.1.1 update-source loopback 0
此時R1學到的路由是非最優路由,非最優路由:不同步(已關閉同步),下一跳不可達(修改下一跳)
R2(config)#router bgp 1
R2(config-router)#neighbor 1.1.1.1 next-hop-self
此時數據包可以到達R4了,但是仍然不通。
此時主要是因為R4沒有達到5.5.5.5的路由,我們需要在R5上將5.5.5.5通告進BGP。
R5(config)#router bgp 5
R5(config-router)#network 5.5.5.0 mask 255.255.255.0
此時R1、R2上的5.5.5.0/24路由為非最優路由,默認以關閉同步,我們需要在R3上修改下一跳。
R3(config)#router bgp 1
R3(config-router)#neighbor 1.1.1.1 next-hop-self
R3(config-router)#neighbor 2.2.2.2 next-hop-self
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。