环路与生成树排查
场景
网络突然变慢、丢包,交换机 CPU 打到 90% 以上,MAC 表里同一个 MAC 在两个口之间跳。 九成是二层环路。
前置条件
- 能登交换机看 CPU、MAC 表和 STP 状态
- 知道拓扑大概长什么样
- 别急着拔线,先确认是不是 STP 没开或被关掉
配置
以 H3C 为例,先看:
display cpu-usage
display stp brief
display mac-address 0011-2233-4455
display stp root
判断:
display stp brief里所有端口都是DESI且没有ALTE,但网络还有环路 → STP 没生效display mac-address同一个 MAC 在多个端口来回跳 → 确定是环路- CPU 高 + 广播包多 → 广播风暴
处理:在环路上的某个口直接 shutdown 定位,再回来配 STP。
system-view
stp global enable
interface GigabitEthernet1/0/1
stp edged-port
stp bpdu-protection
undo shutdown
quit
接终端的口开 edged-port,能省掉 30 秒收敛;开 bpdu-protection 防止有人私接小交换机。
验证
display stp
display stp brief
display cpu-usage
环路口会显示 ALTE(阻塞),CPU 回落到个位数,MAC 表不再漂移。
回滚
如果开了 bpdu-protection 结果把正常口也锁了:
interface GigabitEthernet1/0/1
undo shutdown
undo stp bpdu-protection
被保护的端口会进入 STP BPDU-protected 状态,只能手动 undo shutdown 恢复。
坑
- 别用
undo stp enable当排障手段,那是把环路保护关了,只会更糟。 - 私接的小交换机如果不支持 STP,会持续发 BPDU,
bpdu-protection会不断锁口,得找到源头。 - 收敛慢不一定是 STP 的问题,也可能是上行链路抖动。
- 环路上的广播风暴会把管理口也冲掉,最好从带外或邻近设备进。
- 排查完记得把临时 shutdown 的口恢复,别留在现场。