一、组网环境

在华为路由器的组网环境中,有四个路由器,其中路由器A和路由器C建立EBGP邻居关系,并且通过network方式发布所有路由给路由器C,路由器B和路由器D的配置与路由器A和路由器C完全对称,当路由器A和路由器C的互连接口关闭后,在路由器C上发现去往路由器A的所有网段都不通。

二、故障分析

1、在路由器C上执行display current-configuratiion查看配置。

2、路由器C通过route-policy将路由再通告给RR的时候强制指定其下一跳为虚拟下一跳地址,路由器A和路由器C互连的三条链路接口地址,在路由器C的ISIS中使用路由策略通过import方式引入这三条静态路由。

3、当路由器A和路由器C的互连接口关闭后,在路由器C上发现去往路由器A的路由下一跳还是虚拟下一跳202.105.0.5,但是出接口却指向了其他路由器。

4、当路由器C和城域网路由器A的互连接口关闭时,由于虚拟下一跳静态路由没有指定出接口,因此静态路由不会失效,此时虚拟下一跳通过路由迭代选择了BGP路由,该路由指向其他路由器从而造成环路。

解决

1、执行system-view,进入系统视图。

2、执行ip route-static命令,绑定出接口,配置虚拟下一跳静态路由的时候没有和出接口进行关联,导致出接口关闭的时候这些静态路由还是生效的,因此配置虚拟下一跳静态路由的时候绑定出接口。

3、当对端接口关闭的时候该静态路由会失效,此时由于路由器D上在ISIS中同时引入了虚拟下一跳静态路由,因此路由器C上对应虚拟下一跳202.105.0.5的路由应该指向了路由器D,从而不会出现上述情况导致的不通问题。

4、执行return退回到用户视图。

5、执行save,保存对配置的修改。