拓撲圖:
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上查看:
在R2上查看:
在R4上查看:
以上,表明,R1 、R2、R4已互相學習到BGP路由了。
現在,將在R1上ping 學習到的EBGP路由40.40.40.40,並且在R3的G0/0/0接口和G0/0/1接口抓包
R3的G0/0/0的抓包情況:
結果顯示,表明有收到源地址10.1.12.1,目的40.40.40.40的ICMP 請求報文。
這裡沒有看到ICMP 應答報文。
R3的G0/0/1的抓包情況:
說明R3並沒有向R4轉發ICMP請求報文,及收到R4的ICMP響應報文。
在R3查看路由: //沒有1.1.1.1 和40.40.40.40的路由條目。
這就是路由黑洞。
原因是:
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的情況如下:
關鍵配置:
在R2、R3、R4上都配置如下命令:
route recursive-lookup tunnel
R1可以ping 40.40.40.40
閱讀更多 SPOTO—思科華為培訓 的文章