问题现象
桌面IT同事反馈一整层楼办公室电脑大面积网络不不稳定,长Ping 服务器网关出现规律性丢包,且影响到了生产。咨询区域IT同事和生产线上的人有没有添加或变更过设备,反馈说原先使用是正常的,突然间出现不行的。

排查过程
1、向桌面IT得到故障电脑的MAC,在汇聚交换机上通过MAC查询到该MAC分别从两台接入交换机上来且属于不同的VLAN。

2、由于Ping测试的是到服务器网关出现规律性丢包,此时还不能断定是接入层环路导致的。于是在核心查询MAC地址冲突日志,发现核心并没有相关日志。此时可以断定是二层环路导致的规律性丢包。

3、根据汇聚交换机的邻居信息,登录到这两台接入交换机A和接入交换机B上。通过查询异常电脑的MAC,发现该MAC地址在接入交换机B的多个端口上出现,且该MAC地址在GE0/0/2接口和GE0/0/6接口之间频繁切换。
4、分别查询接入交换机B上GE0/0/2接口和GE0/0/6接口学习到的MAC,发现GE0/0/2接口学习到的MAC非常多,而GE0/0/6接口学习到的MAC只有一个,且为故障电脑MAC。

5、shutdown GE0/0/6接口,桌面IT同事反馈异常电脑网口指示灯灭了,控制面板网卡状态显示为红叉。此时可以确定GE0/0/6接口直连异常电脑。GE0/0/2接口学习的MAC是不对的。
6、由于接入层端口配置了边缘端口、BPDU保护和环路检测,环路检测规则为block,但查看环路检测状态端口却又没有被阻塞,因此可以断定GE0/0/2接口下接了HUB,且该HUB又与接入交换机A相连。也就是说HUB的两个端口和两台不同接入交换机上不同VLAN下的接口相连了,造成了VLAN间的环路。查看接入交换机A与HUB相连的接口,发现接口配置为vlan57。



7、shutdown 接入交换机B上GE0/0/2接口后,网络恢复正常。和区域的IT找了下那个HUB,找了大半天没找到,只能等报故障缩小范围再继续进行排查。

方法总结
解决方法当然是破环。
1、对于可网管的交换机,可以通过配置BPDU保护、边缘端口、生成树以及环路检测进行防环或抑制环路的扩散减小环路带来的影响;
2、对于不可网管傻瓜机,可以通过查找故障设备MAC的来源,关闭造成环路的端口来进行破环。当然最根本的还是物理上拆除造成环路的链路和傻瓜设备。环路具有一个很明显的现象,长ping出现规律性丢包、一个MAC从不同的端口学习到。
3、对于接入层的端口,可以限制端口最大MAC学习数、未知组播和广播报文。