0aa8fe6
这次没有正文改动。
这是 network/环路与生成树排查.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
be5956e
@@ -0,0 +1,78 @@ +--- +tags: [STP, 环路, 广播风暴] +order: 30 +--- + +# 环路与生成树排查 + +## 场景 + +网络突然变慢、丢包,交换机 CPU 打到 90% 以上,MAC 表里同一个 MAC 在两个口之间跳。 +九成是二层环路。 + +## 前置条件 + +- 能登交换机看 CPU、MAC 表和 STP 状态 +- 知道拓扑大概长什么样 +- 别急着拔线,先确认是不是 STP 没开或被关掉 + +## 配置 + +以 H3C 为例,先看: + +```text +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。 + +```text +system-view +stp global enable +interface GigabitEthernet1/0/1 + stp edged-port + stp bpdu-protection + undo shutdown + quit +``` + +接终端的口开 `edged-port`,能省掉 30 秒收敛;开 `bpdu-protection` 防止有人私接小交换机。 + +## 验证 + +```text +display stp +display stp brief +display cpu-usage +``` + +环路口会显示 `ALTE`(阻塞),CPU 回落到个位数,MAC 表不再漂移。 + +## 回滚 + +如果开了 `bpdu-protection` 结果把正常口也锁了: + +```text +interface GigabitEthernet1/0/1 + undo shutdown + undo stp bpdu-protection +``` + +被保护的端口会进入 `STP BPDU-protected` 状态,只能手动 `undo shutdown` 恢复。 + +## 坑 + +- **别用 `undo stp enable` 当排障手段**,那是把环路保护关了,只会更糟。 +- 私接的小交换机如果不支持 STP,会持续发 BPDU,`bpdu-protection` 会不断锁口,得找到源头。 +- 收敛慢不一定是 STP 的问题,也可能是上行链路抖动。 +- 环路上的广播风暴会把管理口也冲掉,最好从带外或邻近设备进。 +- 排查完记得把临时 shutdown 的口恢复,别留在现场。