黑洞路由:主要是指指向null接口的路由,null接口是一个虚拟的接口
无法被配置ip地址,转发到该接口上的数据包都会被丢掉,所以对于所
有可能因为中断故障产生路由回路的路由都加上一条黑洞路由。
例如在配置有默认路由的环境中如果该路由器中的某一个路由项因为故障
中断,那么很可能在两个路由器中造成路由环路
实验环境:H3C ENSP
配置要点:
(系统模式)ip route-static 目的网段 掩码 null 0
如图路由器1中分别有到192.168.1.0、192.168.2.0、10.106.1.0的直连路由,并且在路由器1中添加默认
路由下一跳为10.106.1.2
路由器2中除192.168.1.0的直连路由外添加默认路由下一跳为192.168.1.1
路由器3中除192.168.2.0的直连路由外添加默认路由下一跳为192.168.2.1
路由器4中除10.106.1.0的直连路由外添加汇聚路由:到192.168.0.0 255.255.0.0 的下一跳为10.106.1.1
以上的该网络如果在正常情况下回运行良好,但是如果当例如路由器3与路由器1的链接因为故障中断时
则该环境中就会出现路由环路,如路由器2发送到路由器3 192.168.2.2的数据包会先到路由器1,但是路由器1
中由于到达192.168.2.0的路由已断所以会按照默认路由发送到路由器4,而路由器4又会按路由表发送到
路由器1,因此就会出现路由环路。
例如在路由器1的s0/0/0上抓包:
而解决这种路由环路的方法就是在路由器1上添加静态黑洞路由
如添加:ip route-static 192.168.0.0 255.255.0.0 null 0
则再即使当网络出现故障导致已有路由项丢失时也不会按照默认路由发出去导致出现循环,而是当查找不到有效路由后
数据包会被直接发送到null接口,等效于是直接丢掉数据包。
但是要注意:黑洞路由相当于是出现故障情况下的备用路由,所以可以把该条静态黑洞路由的优先级设置低一点(值大一点)