场景说明:交换机1与交换机2作为M-LAG系统,与交换机3形成跨设备链路聚合,同时作为交换机3的网关,然后各自与上联的路由器配置静态默认路由作为出口对接。关于H3C M-lag的基本配置可以查看H3C交换机新版M-lag配置 – An (arssra.cn)
故障场景:当交换机1或交换机2与其中一台设备与路由链路故障后会出现转发黑洞。
因为SW3无法感知上联故障,依旧会有流量转发至SW1的网关上,此时由于SW1与上联故障,导致路由表没有对应路由,流量遭到丢弃,造成转发黑洞。
对应处理方法:有两种方式可以避免此场景的转发黑洞。
一、配置monitor-link,将上联和下联接口做关联,当上联接口中断后,下联接口也会down,这样就能完全避免流量从sw1进行转发,配置如下:
monitor-link group 1 //配置接口联动组1 # interface Bridge-Aggregation11 link-aggregation mode dynamic port m-lag group 11 port monitor-link group 1 downlink //将下联接口关联到接口联动组1中作为下联接口 # interface GigabitEthernet1/0/2 port link-mode bridge combo enable fiber port monitor-link group 1 uplink //将上联接口关联到接口联动组1中作为上联接口 #
关闭GE1/0/2模拟链路故障后查看monitor状态:
结论:由于该交换机上联、下联全部都down掉,因此流量不会转发至该交换机上,因此避免了转发黑洞。
方式二:配置逃生链路,可以采用静态路由或者动态路由方式配置,原理一致。
配置方式:可以复用keepalive链路作为逃生,当带宽比较大的情况,可以采用一个vlan作为逃生vlan,流量通过peer-link进行转发。 动态路由方式,是使用逃生线路建立邻居关系。
两台设备通过vlan1000建立OSPF逃生链路,同时通过OSPF发布默认路由引导故障场景下的流量通过Peer-link转发,配置如下:
ospf 1 router-id 10.0.100.1 default-route-advertise area 0.0.0.0 network 10.0.100.0 0.0.0.3 network 192.168.10.0 0.0.0.255
非故障场景,默认路由会从GE1/0/2将流量转发给路由器:
当GE1/0/2链路故障后,流量会通过vlan1000,通过Peer-link转发给SW2然后转发给路由器。
静态路由方式与动态路由方式配置原理差不多,建议采用动态路由协议,当设备作为网关且网关数量较多的情况下还需要通过横穿学习多个网关的路由,防止某个设备下联down导致跨网关的三层流量转发不通的情况。
总结两种方式,配置最简单的就是方式一,仅需要关联上联下联即可,方式二配置稍微复杂点,但是可以最大化利用链路。