龙空技术网

以太网交换故障案例——Linux服务器重启后ping不通虚拟网关IP

运维法拉令 275

前言:

此刻兄弟们对“ubuntuping不通网关”大致比较关怀,姐妹们都需要学习一些“ubuntuping不通网关”的相关内容。那么小编也在网上搜集了一些对于“ubuntuping不通网关””的相关文章,希望我们能喜欢,小伙伴们一起来了解一下吧!

1、问题现象描述及组网

1.1 网络拓扑

两台CE12808组成VRRP主备网关,分别和两台接入交换机互联,每台接入交换机下挂一台Linux服务器,如下图所示。

1.2 问题现象描述

将Linux虚拟机1重启后,会发现虚拟机1(IP:10.69.3.66)ping不通CE12808-A上的虚拟网关10.69.3.254,要等20分钟后才能ping通。

2、告警信息

故障期间存在MAC漂移告警:

hwMflpVlanLoopAlarm_active(l):CID=0x807f0477-alarmID=0x095e0012;MAC flapping detected, VlanId = 315, MacAddress = 0050-569f-1439, Original-Port = Eth-Trunk13, Flapping port = Eth-Trunk23, -. Please check the network to which the interface learning a flapping MAC address is connected.

3、问题根因说明

现场排查发现重启Linux虚拟机1之后,CE12808上虚拟机1对应的ARP出接口不是Eth-Trunk13,而是Eth-Trunk23这个端口,导致ping回程流量转发到错误端口。20分钟后可以ping通是因为ARP表项老化,重新学习正确。

进一步分析确认,Linux虚拟机1重新启动后,虚拟机2的IPv6服务发出了以虚拟机1的MAC地址为源MAC的IPv6组播报文,触发MAC漂移,进而触发MAC联动ARP机制,造成交换机上的ARP表项端口学习错误,最终导致ping不通。

4、问题判断方法虚拟交换机1重启后,CE12808-A上10.69.3.66的ARP出接口变成了ETH-TRUNK23,正常情况下应该为Eth-Trunk13。<CE12808-A> display arp interface Vlanif 315ARP timeout:1200s ARP Entry Types: D - Dynamic, S - Static, I - Interface IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE VLAN/CEVLAN ------------------------------------------------------------------ 10.69.3.66 0050-569f-1439 18 D-0 Eth-Trunk23 VRF 315/-在CE12808-A上发现12秒内发生了几百次MAC漂移,漂移MAC为0050-569f-1439,漂移端口为Eth-Trunk13、Eth-Trunk23等。(以下回显仅为示例,具体以设备为准)<CE12808-A> display mac-address flappingMac-address Flpping Configurations : ----------------------------------------------------------------------------- Flapping detection : Enable Aging time(s) : 300 Quit-vlan Recover time(m) : -- Exclude VLAN-list : -- ----------------------------------------------------------------------------- S : start time E : end time (D) : error down ----------------------------------------------------------------------------- Time VLAN MAC-Address Original-Port Move-Ports MoveNum ----------------------------------------------------------------------------- S:2014-01-08 17:58:13 315 0050-569F-1439 Eth-Trunk13 Eth-Trunk11 268 E:2014-01-08 17:58:25 Eth-Trunk23在CE12808-A上查看MAC表项,MAC表里面0050-569f-1439的出接口正常为Eth-Trunk13,如下图:<CE12808-A> display mac-address ------------------------------------------------------------------ MAC Address VLAN/VSI Learned-From Type ------------------------------------------------------------------ 0050-569f-1439 315/- Eth-Trunk13 dynamic对CE12808-A设备的Eth-Trunk23端口做入方向报文镜像,发现此端口确实收到了源MAC地址异常的IPv6报文,如下:

综合上述信息确认:因为MAC漂移惩罚保护机制,在端口发生大量漂移事件时,没有触发ARP表项实时更新。5、解决方案

通过修改配置关闭虚拟机2上的IPv6服务后,重启验证,CE12808-A设备上不再产生MAC漂移现象,虚拟机1上可以正常ping通网关地址。

6、经验总结当网络中发生大量MAC漂移时,一般首先排查是否有物理环路,其次要排查是否有其他端口发出了相同源MAC的报文。CE交换机上的MAC联动ARP机制是为了能在二层网络发生变化时,快速更新ARP表项,但为了防止占用系统资源过多,有了MAC漂移惩罚机制(MAC漂移过多后放弃联动ARP),因此MAC频繁漂移一般表示网络发生了震荡。

标签: #ubuntuping不通网关