BGP基礎配置+原理分析

BGP基礎配置

[R1]bgp 123 #指定設備所處的AS號
[R1-bgp]router-id 1.1.1.1 # 建議配置爲環回接口地址
[R1-bgp]peer 3.3.3.3 as-number 123 #指定對等體的ip地址與AS號
#指定用於建立BGP會話的源接口或源地址:
[R1-bgp]peer 3.3.3.3 connect-interface LoopBack 0 #缺省情況使用的是出接口的IP地址爲源地址

BGP引入路由

● BGP本身不發現路由,因此需要將其他路由引入到BGP路由表
● BGP引入路由支持Import和Network兩種方式:
(1)Import方式時能按協議類型,將RIP、OSPF等協議的路由引入到BGP表中,還可引入直連和靜態路由;
(2)Network方式是逐條將IP路由表中已經存在的路由引入到BGP路由表中。
● BGP中的Network命令與IGP中的Network是大不相同的,BGP中的Network用於將路由通告到BGP,而不是在接口上激活BGP。
● BGP在引入IGP的路由時,可以使用路由策略進行路由過濾和路由屬性設置。

BGP配置實例:

在這裏插入圖片描述
#此處省去OSPF的配置
R1的配置如下:
[R1]bgp 123
[R1-bgp]router-id 1.1.1.1
[R1-bgp]peer 10.1.23.3 as-number123

R3的配置如下:
[R3]bgp 123
[R3-bgp]router-id 3.3.3.3
[R3-bgp]peer 10.1.12.1 as-number 123
[R3-bgp]peer 10.1.34.4 as-number 400

R4的配置如下:
[R4]bgp 400
[R4-bgp]router-id 4.4.4.4
[R4-bgp]peer 10.1.34.3 as-number 123
[R4-bgp]network 4.4.4.4 32

查看R3的BGP表:
R3已經學習到R4傳遞過來的4.4.4.4/32,並且該路由被優選(Best),路由前面有>標記,該路由將會被加載到路由表中
在這裏插入圖片描述
查看R1的BGP表:
R1學習到R3傳遞過來的4.4.4.4/32後,發現路由的Next-Hop嚇一跳是10.1.34.4,但是R1在本地路由表中沒有到達10.1.34.0/24網段的路由,因此BGP路由Next-Hop不可達,該條BGP路由也就不能被優選,更不會被加載到路由表。該條路由前面沒有*號,代表路由不可用。
在這裏插入圖片描述

修改BGP Next-Hop下一跳爲自身:

命令:
[R3-bgp]peer 10.1.12.1 next-hop-local
● 當BGP路由在一個AS內部傳遞的時候,屬性不會發生改變
● BGP是AS-by-AS的路由協議,而不是Router-by-Router的路由協議。在BGP中,Next-Hop屬性值並不意味着是下一臺路由器,而是到達下一個AS的IP地址
● 當路由器將一條BGP路由傳遞給自己的EBGP對等體時,缺省情況下該路由的Next-Hop屬性爲其接口IP地址。
(1)本例中R4將4.4.4.4/32路由通告給R3,該路由的Next-Hop屬性爲10.1.34.4,也就是R4的地址,當路由器將一條學習自EBGP對等體的路由傳遞給自己的IBGP對等體時,它會保持原有的Next-Hop屬性不變。使用peer x.x.x.x next-hop-local 命令可以將路由的Next-Hop修改爲自己。

配置完peer 10.1.12.1 next-hop-local 命令後
查看R1的BGP表:
可看到R3將EBGP路由4.4.4.4/32傳遞給R1時,將路由的嚇一跳屬性改成了自身的IP,而這個IP對於R1來說是路由可達的,因此被加載到路由表中。
在這裏插入圖片描述

指定更新源IP

● 指定BGP連接所使用的建立TCP連接會話的源接口和源地址
[R1-bgp]peer x.x.x.x connect-interface LoopBack 0
缺省情況下會使用報文出接口作爲建立會話的源地址
● 在部署IBGP對等體關係時,建議使用Loopback地址作爲更新源地址,Loopback接口非常穩定,而且可藉助AS內的IGP和冗餘拓撲來保證可靠性
● 在部署EBGP對等體關係時,建議使用直連出接口的IP地址作爲更新源地址,若使用Loopback接口建立,則應注意EBGP多條問題

修改R1和R3使用Loopback接口建立對等體:
注意:務必要使得R1及R3的Loopback接口路由可達

R1配置:
[R1-bgp]peer 3.3.3.3 as-number 123
[R1-bgp]peer 3.3.3.3 connect-interface LoopBack 0

R3配置:
[R3-bgp]peer 1.1.1.1 as-number 123
[R3-bgp]peer 1.1.1.1 connect-interface LoopBack 0

EBGP多跳配置

● 在EBGP之間,所發送的BGP報文的TTL默認爲1跳,因此如果EBGP對等體之間存在多條,則需修改最大條數限制。
命令如下:
[R3-bgp]peer x.x.x.x ebgp-max-hop [hop-count]
如果沒有指定具體參數,則爲255

要求:R1能夠ping通R4的Loopback接口BGP地址

分析:
R1去ping4.4.4.4/32時,當路由到達R2路由器,R2上沒有到達4.4.4.4/32的路由,故丟棄數據包,導致ping不通。

解決思路:
首先在R1/R2/R3上將各自的Loopback接口的IP地址通告到OSPF中,R2也運行BGP協議,並於R3建立IBGP對等體關係,則R2就可以學習到R4傳遞過來的4.4.4.4/32這條BGP路由,並在R1上通告10.1.12.0/24這個網段,確保R4能夠學習到10.1.12.0/24這個網段,作返程路由。

R2的配置如下:
[R2]bgp 123
[R2-bgp]router-id 2.2.2.2
[R2-bgp]peer 3.3.3.3 as-number 123
[R2-bgp]peer 3.3.3.3 connect-interface loopback 0

R3的配置如下:
[R3]bgp 123
[R3-bgp]peer 2.2.2.2 as-number 123
[R3-bgp]peer 2.2.2.2 connect-interface LoopBack 0
[R3-bgp]peer 2.2.2.2 next-hop-local

在R1上通告10.1.12.0/24:
[R1-bgp]network 10.1.12.0 24

查看R1的BGP表:
在這裏插入圖片描述
查看R4的BGP表:
在這裏插入圖片描述
測試:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章