黑洞路由(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,路由永久生效;

  • 区分:

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

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

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

相关推荐
mCell11 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
我命由我1234516 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_17 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
抱抱宝17 小时前
Agent-study项目教程(03):手写 Mini-ReAct Agent(不依赖框架)
javascript·人工智能·gpt·react.js·prompt·agent
东风破_18 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
用户9385156350718 小时前
Next.js 笔记系统(二):Redis 数据服务与侧边栏组件拆分实战
javascript·全栈
我是谁??19 小时前
Ubuntu22.04更换清华源
linux·运维·服务器
圣殿骑士-Khtangc19 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
BigTopOne20 小时前
【ijkplayer】 硬解码流程
前端
这个DBA有点耶20 小时前
数据库一体机架构演进:从硬件堆叠到软硬深度耦合
服务器·网络·数据库·硬件架构·运维开发·database·数据库架构