黑洞路由(Null Route/空接口路由)

目录

什么是黑洞路由

核心特点

两种典型产生场景

[场景 1:人为手动配置(主动黑洞,常用)](#场景 1:人为手动配置(主动黑洞,常用))

场景2:聚合路由自动产生的被动黑洞

黑洞路由三大核心作用

[1. 路由聚合防环路(最核心用途)](#1. 路由聚合防环路(最核心用途))

[2. 屏蔽非法网段、拦截攻击流量](#2. 屏蔽非法网段、拦截攻击流量)

[3. 路由策略兜底](#3. 路由策略兜底)

工作流程示例(聚合防黑洞)

什么是黑洞路由

黑洞路由是一条指向空接口 NULL 0的静态路由,匹配到该网段的数据包,设备收到后直接丢弃,不会转发,如同流量进入 "黑洞" 消失

核心特点

  1. 出接口为 NULL 0,无真实物理接口;
  2. 匹配该网段的流量直接丢弃,不产生 ICMP 不可达报文(部分设备可配置);
  3. 属于静态路由

两种典型产生场景

场景 1:人为手动配置(主动黑洞,常用)

用于路由汇总防黑洞、过滤非法网段、抑制路由环路

思科配置示例

复制代码
ip route 172.1.4.0 255.255.252.0 null 0

场景2:聚合路由自动产生的被动黑洞

现有明细:172.1.4.0/24172.1.5.0/24172.1.6.0/24 若强行发布聚合路由 172.1.4.0/22 /22 范围包含 4 个网段:4、5、6、7,缺少 172.1.7.0/24 明细

  • 外部设备收到去往 172.1.7.x 的数据包,发给本设备;
  • 本设备匹配聚合路由172.1.4.0/22,但无 172.1.7.0/24 明细路由;
  • 若无黑洞路由,设备会匹配默认路由把流量发回外网,形成路由环路
  • 配置黑洞路由172.1.4.0/22 NULL 0,访问不存在的 7 段流量直接丢弃,阻断环路

黑洞路由三大核心作用

1. 路由聚合防环路(最核心用途)

内网向对端发布汇总路由时,汇总段内存在未使用的空闲子网,外部访问空闲网段会回流环路。 配置黑洞路由后,空闲网段流量本地丢弃,避免环路

2. 屏蔽非法网段、拦截攻击流量

把恶意网段、病毒扫描网段指向 NULL0,直接丢弃,不用 ACL 也能过滤。 例:禁止内网访问 10.0.0.0/8,配置黑洞路由直接丢弃

3. 路由策略兜底

配合 BGP/OSPF 路由发布,精准控制哪些网段可转发,无效网段直接丢弃

工作流程示例(聚合防黑洞)

  1. 内网真实网段:172.1.4.0/24、172.1.5.0/24、172.1.6.0/24
  2. 对外发布汇总:172.1.4.0/22
  3. 配置黑洞路由:ip route-static 172.1.4.0 22 NULL 0
  4. 外网访问 172.1.7.10:
    • 数据包到达内网网关,匹配汇总路由 172.1.4.0/22;
    • 无 172.1.7.0/24 明细路由,匹配黑洞路由 NULL0;
    • 数据包直接丢弃,不会转发,无环路

  • 路由聚合时,汇总网段必须配套同掩码黑洞路由,否则产生路由环路;

  • 黑洞路由优先级低于明细路由:真实存在的 4/5/6 网段匹配明细路由正常转发,仅空闲 7 段匹配黑洞丢弃;

  • NULL0 是逻辑虚拟接口,永远 Up,路由永久生效;

  • 区分:

    • 无黑洞路由:空闲网段流量匹配默认路由,来回转发→环路;
    • 有黑洞路由:空闲网段流量本地丢弃,无环路
  • 黑洞路由只是丢弃流量,不会给源主机返回 "目标不可达" 提示;

  • 黑洞路由掩码必须和对外发布的聚合路由掩码完全一致;

  • 浮动静态、默认路由不能替代黑洞路由,二者用途完全不同

相关推荐
To_OC4 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
不好听6135 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus5 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子6 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech6 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn6 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧7 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
窝子面8 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧9 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh