「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

拓撲圖:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決


BGP 路由黑洞的由來:

基本配置思路:

1、接口IP地址、loopback 0地址

2、配置IGP

3、配置BGP

R1配置如下:

interface GigabitEthernet0/0/0

ip address 10.1.12.1 255.255.255.0

#

interface LoopBack0

ip address 1.1.1.1 255.255.255.255

#

bgp 100

peer 10.1.12.2 as-number 200

network 1.1.1.1 255.255.255.255


R2配置如下:

interface GigabitEthernet0/0/0

ip address 10.1.12.2 255.255.255.0

interface GigabitEthernet0/0/1

ip address 10.1.23.2 255.255.255.0

interface LoopBack0

ip address 2.2.2.2 255.255.255.255

#

bgp 200

peer 4.4.4.4 as-number 200

peer 4.4.4.4 connect-interface LoopBack0

peer 10.1.12.1 as-number 100

#

ospf 1

area 0.0.0.0

network 2.2.2.2 0.0.0.0

network 10.1.12.2 0.0.0.0

network 10.1.23.2 0.0.0.0


R3配置如下:

interface GigabitEthernet0/0/0

ip address 10.1.23.3 255.255.255.0

#

interface GigabitEthernet0/0/1

ip address 10.1.34.3 255.255.255.0

#

interface LoopBack0

ip address 3.3.3.3 255.255.255.255

#

ospf 1

area 0.0.0.0

network 3.3.3.3 0.0.0.0

network 10.1.23.3 0.0.0.0

network 10.1.34.3 0.0.0.0

R4配置如下:

interface LoopBack0

ip address 4.4.4.4 255.255.255.255

interface LoopBack40

ip address 40.40.40.40 255.255.255.255

bgp 200

peer 2.2.2.2 as-number 200

peer 2.2.2.2 connect-interface LoopBack0

network 40.40.40.40 255.255.255.255

#

ospf 1

area 0.0.0.0

network 4.4.4.4 0.0.0.0

network 10.1.34.4 0.0.0.0


查看BGP路由

在R1上查看:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

在R2上查看:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

在R4上查看:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

以上,表明,R1 、R2、R4已互相學習到BGP路由了。

現在,將在R1上ping 學習到的EBGP路由40.40.40.40,並且在R3的G0/0/0接口和G0/0/1接口抓包

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

R3的G0/0/0的抓包情況:

結果顯示,表明有收到源地址10.1.12.1,目的40.40.40.40的ICMP 請求報文。

這裡沒有看到ICMP 應答報文。

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

R3的G0/0/1的抓包情況:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

說明R3並沒有向R4轉發ICMP請求報文,及收到R4的ICMP響應報文。

在R3查看路由: //沒有1.1.1.1 和40.40.40.40的路由條目。

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

這就是路由黑洞。

原因是:

R2與R4建立IBGP,可能互相學習各自的BGP 路由,因是BGP鄰居的建立是通過TCP建立的,BGP鄰居互傳路由是通告封裝到TCP,再封裝到IP裡面的。所以對於R3來說,是學習不到這裡40.40.40.40 的路由的,除非R4也跟R3建立IBGP。

解決方案:

用MPLS 解決BGP 路由黑洞。

基本配置:

R2#

mpls lsr-id 2.2.2.2

mpls

mpls ldp

int g0/0/1

mpls

mpls ldp


R3#

mpls lsr-id 3.3.3.3

mpls

mpls ldp

int g0/0/0

mpls

mpls ldp

int g0/0/1

mpls

mpls ldp

R4#

mpls lsr-id 4.4.4.4

mpls

mpls ldp

int g0/0/0

mpls

mpls ldp

未配置:route recursive-lookup tunnel

R1 ping40.40.40.40的情況如下:

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決

關鍵配置:

在R2、R3、R4上都配置如下命令:

route recursive-lookup tunnel

R1可以ping 40.40.40.40

「乾貨」BGP 路由黑洞怎麼辦?MPLS 來解決


分享到:


相關文章: