華為路由器BGP路由配置例項
session 1 BGP
bgp邊界閘道器協議,用於AS與AS之間的路由協議,bgp本身只負責控制路由,資料轉發依然靠靜態和IGP路由。
bgp分為同一個AS內的ibgp和不同AS之間的ebp。
bgp對等體和igp對等體不同,bgp對等體是指使用tcp建立連線的兩端,而非與igp同概念的直連鄰居,只要有tcp可以建立連線並不需要直連。
bgp地址族,最初bgp-4標準協議僅支援ipv4網路,為了解決bgp多多種網路層協議的支援,對bgp進行了地址族功能的擴充套件,形成了支援多協議的MP-BGP。所謂的“地址族”就是一種網路層協議的配置模組,就是把不同型別的網路分塊進行配置,目的就是把針對執行不同網路網路層協議的網路分別進行功能配置,這樣配置起來就更加有條理。為了進一步區分一類網路中不同的網路應用,又可以再地址族下劃分子地址族,地址族使用AFI地址識別符號進行標識,對應的子地址族標識為SAFI,目前在ip網路中,MP-BGP主要包括4個地址族:iPv4、ipv6、L2VPN、VPLS等,而在ipv4地址族下有ipv4單播、ipv4組播、ipv4-mpls和ipv4-mdt等子地址族,ipv6地址族下有ipv6單播和ipv6組播等子地址族,在哪個(子)地址族模式下配置的就只能影響該地址族,而在BGP全域性下配置的影響所有地址族。
igp路由選擇使用metric,而bgp中使用路由屬性來做路由選擇。
IBGP中的ebgp叫做聯邦,目的是為了解決ibgp內路由只傳一跳的特性,與路由反射器RR功能一樣。
EBGP鄰居預設情況下限制了建立鄰居的最大跳數為1,如果不是直連線口收發bgp報文需要修改最大跳數。
bgp對等體建立的三個階段:Idle(查詢到達對等體路由)、Active(主動建立tcp連線)、Established(對等體建立完成)
bgp對等體建立的必要條件:ibgp中需要tcp連線可達,ebgp中需要tcp可達+允許的最大條數可達(預設是1直連),ebgp中如果需要使用loopback等介面來(收發bgp報文)建立對等體,那麼就必須修改允許的最大條數。
在BGP中,向IBGP和EBGP鄰居傳送路由時,下一跳的處理是不同的。向EBGP鄰居(即在AS間傳播)傳送路由時,next-hop均改為該路由器的出口IP地址(當下一跳修改前後的地址符合第三方下一跳時,不做修改);向IBGP鄰居(即在AS內傳播)傳送路由時,next-hop是不變的。由於BGP向其他IBGP鄰居轉發來自EBGP路由時不修改下一跳,這樣的話若IBGP鄰居所處的裝置沒有到該下一跳地址的路由,會導致該IBGP收到這條轉發自IBGP鄰居的EBGP鄰居的路由後下一跳不可達,導致路由失效。
session 2 BGP例項配置
一、bgp的基本配置
拓撲中AR1與AR3形成ibgp鄰居,區域13,AR2與AR4形成ibgp鄰居,區域24,AR1與AR2形成ebgp對等體(鄰居)。為了讓AR3與AR4互通,需要通過AR1和AR2相互傳遞路由給對端的bgp區域,讓區域13和區域24通過bgp協議相互學習到對方的路由。
具體配置如下:
<AR1>display current-configuration
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 13.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 13
router-id 1.1.1.1
peer 2.2.2.2 as-number 24 與AR2建立ebgp鄰居
peer 2.2.2.2 ebgp-max-hop 2 ebgp鄰居允許的最大跳數修改為2(因為不是直連而是用loopback0介面)
peer 2.2.2.2 connect-interface LoopBack0 更新發送bgp報文的介面為loopback0介面
peer 3.3.3.3 as-number 13 與AR3建立ibgp對等體
peer 3.3.3.3 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
network 3.0.0.0 宣告從AR3這個ibgp鄰居學到的路由(給AR2這個ebgp鄰居)
network 13.1.1.0 255.255.255.0 宣告自己的直連路由給ebgp鄰居
peer 2.2.2.2 enable 指定與鄰居2.2.2.2開啟MP-BGP功能,iPv4地址族預設開啟
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local 從ebgp鄰居學習到的路由傳遞給ibgp鄰居時,路由的下一跳修改為自己
#
rip 1 使用igp路由搭建底層定址
undo summary
network 1.0.0.0
network 13.0.0.0
#
ip route-static 2.2.2.2 255.255.255.255 12.1.1.2 AR1與AR2建立ebgp對等體需要建立tcp連線,這裡用靜態做底層的定址
<AR1>
<AR3>display current-configuration
interface GigabitEthernet0/0/0
ip address 13.1.1.3 255.255.255.0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 13
router-id 3.3.3.3
peer 1.1.1.1 as-number 13
peer 1.1.1.1 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
#
rip 1
undo summary
network 3.0.0.0
network 13.0.0.0
#
<AR3>
<AR2>display current-configuration
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 24.1.1.2 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 24
router-id 2.2.2.2
peer 1.1.1.1 as-number 13 與AR1建立ebgp對等體
peer 1.1.1.1 ebgp-max-hop 2
peer 1.1.1.1 connect-interface LoopBack0
peer 4.4.4.4 as-number 24 與AR4建立ibgp對等體
peer 4.4.4.4 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
network 4.4.4.4 255.255.255.255
network 24.1.1.0 255.255.255.0
peer 1.1.1.1 enable
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 24.1.1.2 0.0.0.0
#
ip route-static 1.1.1.1 255.255.255.255 12.1.1.1
<AR2>
<AR4>display current-configuration
interface GigabitEthernet0/0/0
ip address 24.1.1.4 255.255.255.0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
#
bgp 24
router-id 4.4.4.4
peer 2.2.2.2 as-number 24
peer 2.2.2.2 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
peer 2.2.2.2 enable
#
ospf 1
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 24.1.1.4 0.0.0.0
#
<AR4>