适用场景
二层环路是内网最凶的故障之一:一个接错的口,几分钟能把全网打瘫。防的手段就三样:STP 配置规范、接入口开 BPDU 保护、聚合链路正确配置并验证。
配置步骤(环路告警与快速定位)
# 1) 环路特征
# - 端口广播/组播包速率暴涨
# - CPU 使用率飙升(协议报文被大量处理)
# - MAC 地址表频繁漂移
# - 全网时延上升、丢包
# 2) 快速定位步骤
a) 看端口广播速率,找到异常端口
display interface | include 'Broadcast|broadcast'
display counters rate inbound interface
b) 看 MAC 漂移
display mac-address | include <MAC>
c) 拔掉可疑口,观察广播是否立刻下降
d) 找到源头:私接交换机 / 网线短接 / 无线桥接
# 3) 收敛后处置
# - 开启风暴抑制
storm-constrain broadcast 3000 2000
# - 接入口全部开 BPDU 保护
关键参数与建议
- STP 模式统一:全网统一 RSTP 或 MSTP,避免混用
- 根桥固定:核心交换机手工设为根桥(优先级 0 或 4096),不要让接入设备抢根
- 边缘端口:接入口启用边缘端口 + BPDU 保护(接到交换机/环路时自动 err-disable)
- 聚合规范:跨设备聚合用堆叠/M-LAG,成员口数量与速率一致,模式用 LACP
- 流量分布:配置合适的哈希(源+目的 MAC/IP),避免单成员口跑满
- 告警:STP 拓扑变更、端口 err-disable、广播包速率异常要告警
- 巡检:根桥、阻塞端口、聚合状态、错误计数按月看
- 接入口:面向用户/办公区端口一律不做 Trunk,防止私接交换机
容易踩的坑
- 环路发生后一直在重启设备,没看端口计数
- 没配风暴抑制,广播包把带宽和 CPU 吃满
- 找不到源头,因为接入口没做端口隔离
- 只在核心查,接入设备没登录账号
- 事后没加 BPDU 保护,下次同样问题再来
- 没编好应急脚本(哪些口该关),现场手忙脚乱
验证与巡检
display counters rate inbound interface | head -30
display interface | include 'broadcast|Broadcast'
display mac-address | head -20
# 阈值:广播包 < 1000pps(办公网);CPU < 60%
- 巡检:接入口 BPDU 保护 100%、风暴抑制已配、应急脚本可用、月度广播速率检查
小结
二层验收:接入口插成环不瘫网(BPDU 保护生效)、根桥与设计一致、聚合链路状态正常、广播速率在阈值内。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。