案例/故障现象:
两台Edge路由器(CISCO)分别EBGP互联不同的出口,IGP是ISIS。
其中一台路由器要软件升级, 升级步骤中有一步设置ISIS set-overload-bit。 做这个配置的目的是为了bypass流量到另一台edge路由器,没想到设定完之后,全网大部分用户无法上网。
迅速倒回,把isis里的set-overload-bit no掉,网络恢复正常。
分析:
一台路由器设置了set-overload-bit 之后,在其自己产生的LSP中会对overload-bit置位。被设置了overload字段的LSP不会在网络中扩散,并且其他路由器在计算通过该路由器的路径时也不会采用这些LSP。
因此这台overload路由器在igp里被Bypass了。说明中,只有以overload路由器作为最后一跳的路由(本地直连网段)才参与计算,即接收这个LSP的IS-IS路由器,只能产生到达该路由器直连网段的路由。
那么这个案例里为什么设置set-overload-bit后会产生全网中断呢?
经排查,答案其实很简单,设置overload-bit的目的是让其他网络设备忽略掉这台路由器,可是网络本身就有问题,配置的缺省路由只有从这台路由器出口,设置完以后,全网就没有缺省路由出去了,当然会断。
看一下ISIS配置,有生成缺省路由的配置:
address-family ipv4 unicast
default-information originate
address-family ipv6 unicast
default-information originate
但在另一台路由器上,只有IPV6配置了,IPV4没有这个配置。这样,就导致overload路由器被bypass之后,iPV4路由找不到出口,而IPV6还能够从另外一个出口出去,表现出的现象就是,大部分用户无法上网,而一小部分能上网的,是使能了IPV6的。
解决方案是,在另外一台路由器补上配置就OK了。