一、深夜警报:全公司网络突然“卡死”
2026年3月的一个傍晚,昆明某中型贸易公司的IT主管老张火急火燎地给我打电话:“王工,快救命!全公司从下午4点开始网络就断断续续,现在基本全瘫了,ERP登不上,邮件发不出,连微信文件都传不动!”
这家公司我服务了三年,网络架构并不复杂:一台核心交换机(H3C S5500),下联四台接入层交换机(H3C S3100),再连接到各个办公区域。平时网络还算稳定,怎么突然就全瘫了?我立刻驱车赶往现场。
路上我让老张先做一件事:拔掉所有接入交换机上除了上联口以外的网线。老张照做后,核心交换机上的指示灯终于不再疯狂闪烁,办公区有几台电脑能ping通网关,但依然很慢。我确定:大概率是二层网络环路。
二、现象确认:广播风暴的典型症状
到达现场后,我先观察了几个典型现象:
- 核心交换机CPU负载接近100%,指示灯狂闪,几乎变成常亮状态。
- 任意两台电脑互ping延迟超过2000ms,丢包率80%以上。
- DHCP无法获取IP地址,部分电脑显示“未识别的网络”。
这些症状完全符合广播风暴的特征。所谓广播风暴,就是当网络中存在环路时,广播帧会在环路中无限循环复制,瞬间占满交换机带宽,导致正常数据无法转发。
我打开笔记本电脑,接上核心交换机的管理口,用SSH登录进去,敲下命令:display cpu-usage。果不其然,CPU占用率99%,大部分被“STP”和“广播报文”进程消耗。
三、逐步锁定:用排除法缩小范围
由于已经让老张拔掉了所有接入交换机的下联网线,核心交换机上的指示灯恢复正常。我决定按以下步骤逐步恢复:
步骤1:恢复核心交换机与一台接入交换机的连接
我让老张先只接回一台接入交换机(例如“3楼办公区”那台),观察网络是否稳定。接回后,核心交换机CPU从99%降到30%,办公区电脑能正常上网。这说明问题出在剩下的几台接入交换机上。
步骤2:逐台接入并观察
我让老张一台一台地接回接入交换机。当接回“2楼仓库区”那台交换机时,核心交换机CPU瞬间飙到90%以上,网络再次瘫痪。问题锁定在2楼仓库区交换机。
步骤3:检查该交换机下联端口
拔掉2楼仓库区交换机的所有下联网线,只保留上联口。然后一根一根地插回去。当插到第8个端口时,广播风暴再次出现。我看了一下端口标签,写着“仓库监控NVR”。
我让老张顺着网线找到那台NVR(网络录像机),发现它有两个网口,一个接在交换机上,另一个竟然也接在交换机上——一个网口接在端口8,另一个接在端口12。这就是典型的物理环路:NVR的两个网口将交换机端口8和端口12连接起来,形成了一个环。
四、根因分析:STP协议为何没起作用?
按理说,交换机默认都启用了STP(生成树协议),它能自动检测环路并阻塞其中一个端口,避免广播风暴。但为什么这里STP失效了?我检查了2楼仓库区交换机的配置:
display stp brief结果显示:STP协议处于关闭状态。- 进一步查看全局配置:
undo stp enable赫然在列。
原来,之前某次网络优化时,有同事为了“提高性能”手动关闭了STP,因为觉得仓库区网络简单,不会出环路。结果一台NVR的双网口连接就酿成了大祸。
另外,核心交换机上虽然启用了STP,但接入交换机关闭了STP,导致核心交换机无法通过BPDU报文感知到下游环路,广播帧直接从核心转发到接入,再在接入交换机内部疯狂循环。
五、修复方案:三步根治环路问题
1. 立即恢复:拔掉环路网线
我让老张拔掉NVR其中一个网口(拔掉端口12的线),网络立即恢复。核心交换机CPU降到15%,所有电脑上网正常。
2. 开启STP并优化配置
在2楼仓库区交换机上执行:
system-view
stp enable
stp mode rstp // 启用快速生成树,收敛更快
stp root primary // 如果这是核心,可设为主根桥
quit
save同时在核心交换机上检查STP状态:display stp,确保所有端口都处于转发或阻塞状态,没有异常。
3. 部署环路保护机制
为了防止未来再发生类似问题,我建议部署以下措施:
- 启用STP边缘端口:在接入交换机上,将所有连接终端(PC、打印机、摄像头)的端口设为边缘端口,这样当这些端口出现环路时,能快速阻塞,避免影响全网。
- 开启环路检测功能:H3C交换机支持
loopback-detection功能,可以自动检测端口环路并关闭相应端口。配置命令:loopback-detection enable和loopback-detection action shutdown。 - 物理隔离:对于NVR、服务器等需要双网口冗余的设备,建议使用链路聚合(Link Aggregation)而不是简单地把两个网口都插上交换机。
六、实战总结:给中小企业IT的5条建议
这次故障从接到电话到完全恢复,用时约1小时。总结下来,有几点经验值得分享:
- 不要轻易关闭STP:哪怕网络再简单,也建议保留STP。现在的交换机CPU性能足够,开启STP对性能影响微乎其微,但它能救你于水火。
- 养成“先拔后查”的习惯:遇到网络瘫痪,第一时间拔掉所有非上联网线,观察核心交换机CPU是否下降。这是最快最有效的应急手段。
- 给交换机端口贴标签:很多中小企业交换机端口没有任何标识,导致排查时一头雾水。建议用标签纸或标签机标明每个端口连接的设备。
- 部署基础的网络监控:推荐使用Zabbix或简单的SNMP监控工具,设置交换机CPU和流量阈值告警。当CPU超过80%时自动发短信或微信通知IT人员。
- 定期审计网络配置:每季度检查一次交换机配置,确保STP、环路检测等安全功能处于开启状态。可以使用脚本批量导出配置进行比对。
在云南,很多中小企业只有一两个兼职IT人员,甚至全权交给外包公司。网络故障往往不是技术多难,而是基础配置不规范。这次的环路问题,如果当初STP没被关闭,根本不会发生。希望这篇文章能帮助大家重视网络基础安全,少踩一些坑。