3. 网络层故障诊断:IP地址冲突、路由环路、VLAN配置错误、MTU不匹配问题排查

网络层出问题,说实话,在风电场上是最让人头疼的。因为风电场网络环境复杂,风机分布广,交换机层级多,一旦网络层出故障,往往不是单一原因。我这些年处理过的网络层故障,少说也有上百起。今天我把最常见的四类问题——IP地址冲突、路由环路、VLAN配置错误、MTU不匹配——掰开揉碎了讲清楚。

3.1 IP地址冲突:最隐蔽的“双胞胎”问题

IP地址冲突,说白了就是两台设备用了同一个IP。在风电场里,这情况太常见了。新接入的风机、临时调试的笔记本、甚至更换了网卡的工控机,都可能引发冲突。

典型症状:

  • 某台风机时通时不通,ping一下,有时候通,有时候不通
  • 网络管理平台显示设备在线,但就是采集不到数据
  • 两台风机同时掉线,或者交替掉线

排查方法:

我个人习惯,第一步先看ARP表。在核心交换机上执行:

display arp | include 192.168.1.100

如果发现同一个IP对应了两个不同的MAC地址,那基本就实锤了。嗯,这里要注意,有时候ARP表会缓存旧的记录,记得先清一下缓存再查。

我的小技巧: 在风电场里,我建议给每台风机分配一个固定的IP,并且在交换机上做IP+MAC绑定。这样就算有人乱插设备,也冲突不起来。
避坑指南: 我曾经遇到过一件事——排查了半天,发现是风机的PLC重启后,DHCP服务器给它分配了一个新IP,而原来的静态IP还在用。所以,要么全静态,要么全DHCP,千万别混着来。

3.2 路由环路:数据包在“鬼打墙”

路由环路,你想想看,就像数据包在路由器之间来回转圈,永远到不了目的地。在风电场这种多级网络架构里,环网协议配置不当、静态路由写错、或者动态路由协议收敛慢,都可能导致环路。

典型症状:

  • 网络延迟突然飙升,从几毫秒变成几百毫秒甚至几秒
  • 某些网段的流量异常大,CPU占用率居高不下
  • TTL值在每一跳都减少,但就是到不了目标

排查方法:

我最常用的命令是 tracerttraceroute。在风电场监控中心执行:

tracert 192.168.5.50

如果发现路径在几个路由器之间来回跳,比如 1→2→3→2→3→2→3……那基本就是环路没跑了。

为什么会这样?说白了,就是路由表里出现了矛盾。比如路由器A认为去192.168.5.0网段要走路由器B,而路由器B认为要走路由器A,这就形成了环路。

快速恢复: 如果确认是路由环路,最快的办法是手动删除或修改那条错误的路由。等网络恢复后,再慢慢查为什么会出现这条错误路由。在风电场,时间就是金钱,先恢复再说。
我的经验: 在风电场部署动态路由协议(比如OSPF)时,我建议开启环路检测功能。另外,静态路由一定要写精确,别写默认路由指向环网口,那简直是给自己挖坑。

3.3 VLAN配置错误:隔墙有耳,但墙砌错了

VLAN配置错误,在风电场里太容易发生了。新接入一台风机,交换机端口忘了划到对应的VLAN;或者Trunk口忘了允许某个VLAN通过;再或者VLAN ID配错了。这些我都遇到过。

典型症状:

  • 某台风机能ping通网关,但ping不通同网段的其他风机
  • 某几台风机之间通信正常,但和监控中心不通
  • 广播风暴,整个网络变慢

排查方法:

第一步,检查交换机的端口配置。看看端口是不是在正确的VLAN里:

display port vlan
display interface GigabitEthernet 0/0/1

第二步,检查Trunk口。很多问题出在Trunk口上——允许通过的VLAN列表里,漏掉了某个VLAN:

display interface GigabitEthernet 0/0/24 | include trunk
故障现象 可能原因 排查命令
单台风机不通 接入端口VLAN配置错误 display port vlan
多台风机不通 Trunk口VLAN允许列表缺失 display interface trunk
广播风暴 VLAN配置导致环路 display stp brief
避坑指南: 我曾经在某个风电场,发现所有风机都ping不通监控中心。查了半天,结果是核心交换机的Trunk口忘了允许管理VLAN通过。你说冤不冤?所以,每次改Trunk口配置,一定要检查VLAN允许列表。

3.4 MTU不匹配:大包过不去,小包没问题

MTU不匹配,是个比较“刁钻”的问题。大包过不去,小包却没问题。在风电场里,不同厂商的设备MTU默认值可能不一样,比如华为交换机默认1500,而某些风机控制器默认1492,这就容易出问题。

典型症状:

  • ping小包(比如64字节)正常,ping大包(比如1500字节)不通
  • 某些应用(比如文件传输、视频流)卡顿或失败
  • 网络管理平台显示设备在线,但数据采集不全

排查方法:

用ping命令测试不同大小的包:

ping -l 1472 192.168.1.1   # Windows系统
ping -s 1472 192.168.1.1   # Linux系统

如果小包通、大包不通,那基本就是MTU问题了。注意,ping包的大小要加上IP头和ICMP头的28字节,所以实际测试的MTU值是 ping包大小 + 28。

快速恢复: 临时解决办法是在终端设备上降低MTU值,比如改成1400。但长期来看,我建议统一全网设备的MTU值,最好都设成1500。如果中间有VPN隧道,还要考虑隧道封装带来的额外开销。
我的经验: 在风电场,我建议在核心交换机上开启 ip mtuip tcp adjust-mss 功能。这样TCP连接会自动协商MSS,避免MTU问题。说白了,就是让网络设备帮你处理这个麻烦。

知识体系总览

下面这张图,是我梳理的网络层故障诊断核心逻辑。你可以把它当作排查时的“地图”。

网络层故障诊断知识体系 网络层故障 IP地址冲突 路由环路 VLAN配置错误 MTU不匹配 症状:时通时不通 排查:display arp 症状:延迟飙升 排查:tracert 症状:部分不通 排查:display port vlan 症状:大包不通 排查:ping -l 1472 IP+MAC绑定 启用环路检测 统一VLAN规划 统一MTU/调整MSS 排查原则:先看症状 → 再查配置 → 最后恢复 先恢复业务,再深究根因

网络层故障排查,说白了就是“对症下药”。先看症状,再查配置,最后恢复。在风电场这种7×24小时运行的场景里,我的原则是——先恢复业务,再深究根因。毕竟,风机停转一分钟,损失的都是真金白银。


公众号:蓝海资料掘金营,微信deep3321