问题背景
公司办公楼 3 楼为市场部和法务部办公区,该楼层通过一台 H3C S5130 接入交换机上联至核心交换机。接入交换机下联约 60 个工位端口和一个会议室的墙插。网络规划为 VLAN 30(192.168.30.0/24),网关为 192.168.30.1,由核心交换机提供 VLAN 间路由。
故障现象
下午 2:30 开始,3 楼多名同事反馈网络间歇性断网。现象非常规律:
- 每 15-20 分钟触发一次
- 断网期间 ping 网关
192.168.30.1丢包率 80-90% - 断网持续 2-3 分钟后自动恢复
- 恢复后一切正常,直到 15 分钟后再次断网
- 断网期间可以在本网段内互 ping(同 VLAN 通信正常,跨 VLAN 不通)
典型现象是浏览器页面打不开、企业微信掉线、内网 OA 超时。
排查过程
第一步:基础网络诊断
断网时登录到故障终端检查:
|
|
网关 IP 对应了两个不同的 MAC 地址——这是 ARP 欺骗的经典特征!
00-0c-29-3a-7b-1e是 VMware 虚拟网卡(核心交换机的 MAC)8c-53-c3-12-45-8f是小米设备的 OUI(小米公司)
第二步:抓包确认
在接入交换机上做端口镜像,用 Wireshark 在断网期间抓包:
|
|
一台小米设备在以 192.168.30.1 的身份广播免费 ARP(Gratuitous ARP),持续宣告"我才是网关"。
第三步:追踪恶意设备
MAC 地址表追踪:
|
|
对应端口为 G1/0/12——会议室墙插。
会议室里发现了一台员工自带的小米路由器。该路由器 WAN 口接入了墙插,LAN 口被用来给手机充电(只插了电源线无网线),但路由器的 DHCP 服务已自动开启。
第四步:分析断网-恢复的循环机制
小米路由器通过 WAN 口从公司 DHCP 获取了 192.168.30.200,但它自身开启了 DHCP 服务且地址池默认为 192.168.30.100-192.168.30.250,发送的 DHCP OFFER 中也包含自己作为网关。
同时,路由器启动了 ARP 代理功能,收到 ARP 请求时会以自己的 MAC 地址应答——于是出现了"双网关 MAC"现象。
为什么是 15 分钟周期?因为 Windows 的 ARP 缓存超时时间默认为 ArpCacheLife = 15 分钟。终端缓存了正版网关的 ARP 后在周期内正常,过期后重新发起 ARP 请求,有概率收到小米的伪造应答,于是切换到"假网关",流量被黑洞。
解决方案
-
物理拔除:立即拔掉小米路由器的 WAN 口网线,问题当场恢复。
-
交换机端口安全加固:
|
|
- 全局开启 DHCP Snooping + DAI(Dynamic ARP Inspection):
|
|
根因分析
直接原因:员工自带的小米路由器接入公司网络后,其内置 DHCP 服务和 ARP 代理功能干扰了正常网络通信,终端随机获取到假网关的 MAC 地址。
深层原因:
- 接入交换机未启用端口安全,任何设备插上就能通信
- 未部署 DHCP Snooping,无法阻止非法 DHCP 服务器
- 未部署 ARP 防护(DAI),无法过滤伪造的 ARP 报文
- 缺少"禁止私接网络设备"的行政管理制度
预防措施
- 技术层面:
- 全交换机启用 DHCP Snooping + DAI + IP Source Guard
- 接入端口绑定端口安全(max-mac-count=1)
- 802.1X 准入控制,陌生设备无法获取网络访问权限
- 管理层面:
- 发布《办公网络安全管理规定》,明确禁止私接路由器、随身WiFi等设备
- 新员工入职时签署网络安全承诺书
- 监控告警:
- 监控交换机日志中的 MAC flapping 和 duplicate IP 事件
- ARP 表异常变动触发告警
总结
一个价值 99 元的小米路由器,差点瘫痪了整个楼层的网络。“自带设备"是办公网络中最大的不可控因素。ARP 欺骗不是只有黑客才会做,很多时候一个同事的无心之举就能造成同等级别的破坏。从源头上看,只要开启 DHCP Snooping + DAI + 端口安全这"三件套”,99% 的类似事件都可以在接入层被扼杀在摇篮里。