能举个实际的例子吗?
192.168.1.10 正在遭受攻击,您可以配置命令 ip route-static 192.168.1.10 255.255.255.255 NULL0。这样所有发往该 IP 的报文都会被瞬间丢弃。这种方法比使用访问控制列表(ACL)过滤要高效得多,因为它利用的是硬件转发能力,对 CPU 负载影响极小。192.168.1.0/24 这个网段,但您向上级汇总发布了 192.168.0.0/22(包含了 1.0 到 3.0)。为了防止外部用户访问不存在的 192.168.2.1 时引发环路,您必须在本地配置一条防环路由:ip route-static 192.168.0.0 255.255.252.0 NULL0。根据最长匹配原则,有明细的走明细,没有明细的就会命中这条 Null0 路由被安全丢弃。10.1.0.0/16 的聚合路由,但本地并没有这么一条现成的路由,BGP 就不会生效。这时您需要手动写一条假静态路由:ip route-static 10.1.0.0 255.255.0.0 NULL0。这条路由只是为了满足 BGP 的发布条件而存在的“占位符”,并不是真正用来发送报文的。
NULL0 接口原理 + 3 个现场实战案例(H3C / 华为通用)
一、核心基础概念
Null 0 是设备虚拟黑洞接口,永远 Up,所有发往 Null0 的数据包直接丢弃、不转发、不回 ICMP 不可达。
静态路由写法通用格式:
plaintext
ip route-static 目标网段 掩码 NULL 0
作用:精准拦截匹配网段流量,实现防环、路由汇总、屏蔽恶意网段三大场景。
场景 1:路由汇总 + 防止路由黑洞(企业最常用)
需求
三层交换机有 3 个业务网段:
192.168.1.0/24、192.168.2.0/24、192.168.3.0/24
需要向上游路由器发布一条汇总路由 192.168.1.0/22
如果不配置 Null0:
上游收到汇总路由,发一个不存在的地址 192.168.4.10 回来;
本地设备没有 4 段明细路由,会匹配默认路由把包回传给上游,产生环路。
解决配置(H3C 命令)
plaintext
# 1. 汇总网段指向Null0,匹配汇总但无明细的包直接丢弃
ip route-static 192.168.1.0 255.255.252.0 NULL 0
# 2. 发布明细路由(交换机直连网段)
ip route-static 192.168.1.0 255.255.255.0 Vlanif 10
ip route-static 192.168.2.0 255.255.255.0 Vlanif 20
ip route-static 192.168.3.0 255.255.255.0 Vlanif 30
转发逻辑
访问 192.168.1~3.x:匹配明细 VLAN 路由,正常转发内网;
访问 192.168.4.x(汇总范围内、无明细):匹配192.168.1.0/22 NULL0,数据包直接丢弃,不会回传上游形成环路。
场景 2:屏蔽恶意网段 / 禁止内网访问指定 IP(安全管控)
需求
禁止内网所有用户访问挖矿、恶意网段 10.0.0.0/8,直接丢弃访问流量。
配置
plaintext
ip route-static 10.0.0.0 255.0.0.0 NULL 0
效果
内网终端 ping / 访问 10 段任何地址,数据包到达三层设备匹配这条静态路由,丢包,终端直接不通,无需 ACL,性能开销极低。
拓展:屏蔽公网回环地址、私有保留网段:
plaintext
ip route-static 127.0.0.0 255.0.0.0 NULL 0
ip route-static 169.254.0.0 255.255.0.0 NULL 0
场景 3:BGP/OSPF 发布网段,保证路由稳定
需求
只向邻居发布汇总网段 172.16.0.0/16,但是本地只有 172.16.1.0/24、172.16.2.0/24 两段明细。
配置
plaintext
# 汇总路由指向Null0,OSPF/BGP才能引入这条路由发布给邻居
ip route-static 172.16.0.0 255.255.0.0 NULL 0
# 明细路由正常写VLAN接口
ip route-static 172.16.1.0 255.255.255.0 Vlanif 10
ip route-static 172.16.2.0 255.255.255.0 Vlanif 20
# 引入静态路由进OSPF
ospf
import-route static
关键点
如果不配置NULL0这条汇总静态,OSPF/BGP 无法识别汇总网段,邻居只能收到两条明细路由;配置后邻居只收到一条汇总路由,简化全网路由表。
二、容易混淆的 2 个关键点
和 ACL 拒绝的区别
ACL:匹配后丢弃,消耗 CPU 处理 ACL 规则;
NULL0 静态路由:三层转发时直接丢弃,硬件转发,性能无损耗,适合大段网段屏蔽。
NULL0 不会返回 ICMP 不可达
数据包直接消失,终端只会超时,不会收到 “目标不可达” 提示。
三、一句话总结
NULL0 就是一个虚拟垃圾桶,把匹配这条静态路由的数据包全部扔掉;
最核心两大用途:
路由汇总时防三层环路;
批量屏蔽网段,禁止内网访问恶意地址。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
能举个实际的例子吗?