黑洞路由

前言

一般来说,一条路由无论是静态的或者是动态的,都需要关联到一个出接口,路由的出接口指的是设备要达到一个目的网络时的出站接口。路由的出接口可以是该设备的物理接口,例如百兆,千兆以太网接口,也可以是逻辑接口,例如VLAN接口(VLAN Interface),或者是隧道(Tunnel)接口等等。在众多类型的出接口中,有一种接口非常特殊,那就是Null(无效)接口,这种类型的接口只有一个编号,也就是0。Null 0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时。如果使用出接口为Null 0的路由,那么这些报文将直接丢弃,就像扔进一个黑洞(垃圾站),因此出接口为Null 0的路由又称为黑洞路由。

黑洞路由的配置

黑洞路由是一种颇有用处的路由,在图中,R1的GE0/0/0连接着一个终端网络,处于该终端网络的PC将默认网关设置为R1的GE0/0/0接口IP地址,而为了让PC能够访问R2右侧的服务器网络,我们在R1上配置了一条默认路由:

当PC机访问本地网段192.168.1.0/24之外的资源(包括服务器网络中所有的网段)时,流量都会先被发往R1,然后由R1转发给R2.现在网络中出现这样一个需求:在服务器网络中,有一个特殊的网段——192.168.200.0/24并不希望被PC访问,能否仅仅通过路由的配置来实现这个需求呢?

答案是肯定的,使用黑洞路由便可,R1增加如下配置

ip route-static 192.168.200.0 255.255.255.0 NULL0

使用上述命令就可以为R1增加一条到达192.168.200.0/24的路由,而且该路由的出接口是NULL0,完成上述配置后,先查看一下R1的路由表。查看的命令是:display ip routing-table。

从路由表中,大家可以看见我们为R1所配置的黑洞路由。现在,当PC访问192.168.200.0/24时,数据包先被默认网关R1,R1通过路由表查询,发现数据包的目的IP地址匹配路由192.168.200.0/24,而这条路由的出接口是NULL 0,因此它将数据包直接丢弃。如此一来,PC将无法访问192.168.200.0/24。实际上,这是一种实现流量过滤的简单而且又有效的方法。

黑洞路由的应用场景

(1)在部署了路由汇总的网络中,用于防止数据转发出现环路

(2)在部署了NAT(网络地址转换)的网络中,用于防止数据转发出现的环路

(3)在BGP网络中,用于发布特定网段的路由

点赞