一、概念

1.什么是BGP路由黑洞

在 BGP 跨自治系统(AS)转发场景中,数据包依据 IGP 路由正常转发,但途经的中转路由器仅有 IGP 路由、无对应 BGP 路由,违反 BGP 转发规则被直接丢弃,造成流量 “消失” 的网络现象,属于典型路由故障。

2.BGP路由黑洞的原理

IBGP 邻居未全连接,BGP 路由仅在 AS 边缘路由器传递,AS 内部中转设备只有 IGP 路由、没有 BGP 路由;跨 AS 流量途经中转设备时,因无对应 BGP 路由被丢弃,产生 BGP 路由黑洞。

3.核心特征(判断依据)

  • 路由表:设备存在目标网段 IGP 路由,路由可达;
  • BGP 表:设备无目标网段 BGP 路由;
  • 现象:流量能进入中转区域,但无法抵达目的,出现无故丢包。

4.使用场景

安全:拦截 DDoS、恶意 IP、攻击流量

隔离:跨 AS 网段逻辑隔离、内外网分离

运维:设备割接、网络测试、链路维护

运维优化:抑制无效路由、清理垃圾流量

运营:欠费 / 未授权用户断网管控

二、IP配置

1.拓扑图:

 2.ip配置

  1. (1)设备命名与 IP 配置

R1

sysname R1

interface GigabitEthernet 0/0/0

ip address 12.1.1.1 255.255.255.0

interface LoopBack 0

ip address 1.1.1.1 255.255.255.255

R2

sysname R2

interface GigabitEthernet 0/0/1

ip address 12.1.1.2 255.255.255.0

interface GigabitEthernet 0/0/0

ip address 23.1.1.2 255.255.255.0

interface LoopBack 0

ip address 2.2.2.2 255.255.255.255

R3

sysname R3

interface GigabitEthernet 0/0/1

ip address 23.1.1.3 255.255.255.0

interface GigabitEthernet 0/0/0

ip address 34.1.1.3 255.255.255.0

interface LoopBack 0

ip address 3.3.3.3 255.255.255.255

R4

sysname R4

interface GigabitEthernet 0/0/1

ip address 34.1.1.4 255.255.255.0

interface GigabitEthernet 0/0/0

ip address 45.1.1.4 255.255.255.0

interface LoopBack 0

ip address 4.4.4.4 255.255.255.255

R5

sysname R5

interface GigabitEthernet 0/0/1

ip address 45.1.1.5 255.255.255.0

interface LoopBack 0

ip address 5.5.5.5 255.255.255.255

(2)配置 IGP(AS200 内 OSPF)

R2

ospf 1 router-id 2.2.2.2

area 0

network 23.1.1.0 0.0.0.255

network 2.2.2.2 0.0.0.0

R3

ospf 1 router-id 3.3.3.3

area 0

network 23.1.1.0 0.0.0.255

network 34.1.1.0 0.0.0.255

network 3.3.3.3 0.0.0.0

R4

ospf 1 router-id 4.4.4.4

area 0

network 34.1.1.0 0.0.0.255

network 4.4.4.4 0.0.0.0

(3) 配置 IBGP 邻居(R2 与 R4,环回口建立)

R2

bgp 200

router-id 2.2.2.2

peer 4.4.4.4 as-number 200

peer 4.4.4.4 connect-interface LoopBack 0

R4

bgp 200

router-id 4.4.4.4

peer 2.2.2.2 as-number 200

peer 2.2.2.2 connect-interface LoopBack 0

(4)配置 EBGP 邻居

R1

bgp 100

router-id 1.1.1.1

peer 12.1.1.2 as-number 200

R2

bgp 200

peer 12.1.1.1 as-number 100

R4

bgp 200

peer 45.1.1.5 as-number 300

R5

bgp 300

router-id 5.5.5.5

peer 45.1.1.4 as-number 200

(5)宣告路由

R1

bgp 100

network 1.1.1.1 255.255.255.255

R5

bgp 300

network 5.5.5.5 255.255.255.255

(6)配置下一跳为自身(解决 IBGP 下一跳问题)

R2

bgp 200

peer 4.4.4.4 next-hop-local

R4

bgp 200

 peer 2.2.2.2 next-hop-local

三、实验调试

1.在R1上查看BGP的路由表

2.在R5上查看BGP的路由表

3.在R1上测试1.1.1.1是否可以访问5.5.5.5

通过上图可知无法访问,100%的丢包率,所以需要补充配置

R2配置

bgp 200

peer 3.3.3.3 as-number 200

peer 3.3.3.3 connect-interface LoopBack 0  # 用环回口建邻

R3配置

bgp 200

router-id 3.3.3.3

peer 2.2.2.2 as-number 200

peer 2.2.2.2 connect-interface LoopBack 0

peer 4.4.4.4 as-number 200

peer 4.4.4.4 connect-interface LoopBack 0

R4配置

bgp 200

peer 3.3.3.3 as-number 200

peer 3.3.3.3 connect-interface LoopBack 0

  1. 再次测试是否能访问
  2. 查看R2、R3、R4两两之间建立IBGP邻居关系(R2与R4之间已建立)

四、总结

想象一下,你的公司服务器(AS300 里的 AR5)对外提供服务,攻击者在骨干网(AS200)里伪造了一条到你服务器网段的路由,让所有访问你服务器的流量都跑到他控制的设备上。

  1. 如果他直接丢包:你的服务就断了,用户无法访问,这就是 DoS 攻击。
  2. 如果他不丢包,而是把流量转发到假的钓鱼服务器:用户输入的账号密码就被他偷走了,这就是中间人攻击。

而这一切,都始于他制造的那个 BGP 路由黑洞。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐