黑洞路由:出口指向 NULL0 的静态路由
2026/11/6...大约 3 分钟
黑洞路由
核心结论
黑洞路由本质是一条静态路由,特殊之处只在出口接口:当一条静态路由的出口被指定为 NULL0 时,去往该网段的所有报文被直接丢弃、不做转发。它不制造可达性,而是明确表达「这些地址不要送出去」。
一、定义
- 与其他静态路由相同的部分:有目的网段、有下一跳/出口的形态;
- 不同的部分:出口接口 = NULL0(空接口,一个逻辑上的「垃圾桶」)。
命中该路由的报文不会产生 ICMP 不可达以外的任何动作,也不会被转发到任何物理端口 —— 设备内部直接丢弃。
二、三类典型用途
1. 汇总路由的防环垫片
做地址汇总时,汇总网段往往包含「尚未分配给任何子网」的空洞。如果这些空洞地址的流量回落到默认路由,就可能与汇总路由互相指向形成环路。加一条指向 NULL0 的汇总路由作为兜底更具体但更长的前缀,可以让未被明细覆盖的空洞流量立刻被丢弃,而不是绕路或打环。
2. 明确拒绝的流量
把不打算使用的地址段(例如企业内保留但未启用的网段、分配给数据中心但当前未上线的地址块)指向 NULL0,等于用路由表做了一次「静默丢弃」,比 ACL 更靠近转发面、开销更低。
3. 安全与清洗
- 对接 RTBH(Remotely Triggered Black Hole):上游或清洗中心通过 BGP 通告一条指向黑洞的 /32,把被攻击目标的流量在骨干上直接丢弃,保住链路带宽;
- 丢弃面向内网的私有地址/保留地址流量(防地址伪造与扫描)。
三、与其他「丢弃」手段的区别
| 手段 | 作用位置 | 特点 |
|---|---|---|
| 黑洞路由(NULL0) | 路由表/转发面 | 命中即丢,开销最小;对上游可用 BGP 通告 |
| ACL / 防火墙策略 | 策略层 | 可精细匹配五元组,但规则多时开销上升 |
| 不可达下一跳 | 路由表 | 会触发 ICMP 不可达,可能暴露设备信息 |
四、实务注意
- 黑洞路由没有回执:写入后现象是「静默不通」,排障时容易误判为链路故障 —— 查
show ip route <prefix>看出口是否 NULL0; - 汇总 + 黑洞是成对出现的语义:汇总负责收敛,黑洞负责兜住空洞;
- 在 ECMP/多路径环境里,黑洞路由的优先级由前缀长度决定,别用同长度去覆盖明细路由。
来源
- 原文:黑洞路由
- 相邻概念:TCP/IP 五层模型
