250403 - 网络问题排查

以下是针对嵌入式 Linux 系统 网关信息丢失网络掉线 问题的故障树分析,结合硬件、驱动、协议栈、配置及外部环境因素,按优先级分步排查:


故障树分析

网关丢失 + 网络掉线
物理层问题
网络配置异常
驱动/固件缺陷
系统资源不足
协议栈/内核问题
外部设备干扰
网线/接口接触不良
电磁干扰/信号衰减
网卡硬件故障
电源不稳导致网卡复位
DHCP配置错误
静态网关被覆盖
路由表误删/未持久化
MTU不匹配导致分片失败
网卡驱动不兼容
固件版本过低
中断处理异常
卸载功能(TSO/GRO)冲突
内存泄漏占用网络缓冲区
CPU过载导致协议栈延迟
进程争用网络资源
ARP表异常
ICMP协议栈丢包
路由缓存失效
防火墙规则误拦截
网关设备故障
交换机/路由器MTU限制
网络环路/广播风暴

分步排查指南

1. 物理层问题(B 分支)

  • 检测方法

    # 检查网卡接口状态(LINK/SPEED) ethtool eth0 # 确认连接状态及速率 dmesg | grep eth0 # 查看硬件错误日志 # 更换网线或接口测试
  • 解决方案

    • 重新插拔网线或更换接口。
    • 添加磁环抑制电磁干扰。
    • 检查电源稳定性(示波器测量电压波动)。

2. 网络配置异常(C 分支)

  • 检测方法

    # 检查当前路由表和网关 route -n # 查看网关是否消失 ip route show # 显示详细路由规则 # 验证 DHCP 或静态配置 cat /etc/network/interfaces # Debian 系配置 cat /etc/sysconfig/network-scripts/ifcfg-eth0 # RHEL 系配置 # 测试 MTU 兼容性 ping -M do -s 1472 <网关IP> # 检查分片问题
  • 解决方案

    • 禁用冲突服务(如 NetworkManager​ 与 systemd-networkd​ 共存)。
    • 持久化路由配置(写入 /etc/rc.local​ 或 systemd​ 服务)。
    • 调整 MTU 至路径最小值(如 ip link set eth0 mtu 1400​)。

3. 驱动/固件缺陷(D 分支)

  • 检测方法

    # 查看驱动和固件版本 ethtool -i eth0 # 驱动名称及版本 ethtool -S eth0 # 统计信息(error/drop 计数) # 关闭卸载功能测试 ethtool -K eth0 tso off gro off gso off
  • 解决方案

    • 更新驱动或回退稳定版本。
    • 调整中断亲和性(smp_affinity​)或启用多队列(ethtool -L​)。

4. 系统资源不足(E 分支)

  • 检测方法

    # 监控资源使用 free -m # 内存占用 top -p $(pidof 主进程) # 查看 CPU 和内存占用 ss -s # 统计套接字缓冲区使用 # 检查 OOM 日志 dmesg | grep "Out of memory"
  • 解决方案

    • 优化应用程序内存使用(避免内存泄漏)。
    • 增大内核网络缓冲区(sysctl -w net.core.rmem_max=16777216​)。

5. 协议栈/内核问题(F 分支)

  • 检测方法

    # 检查 ARP 表 arp -n # 网关 MAC 是否正常 # 跟踪内核丢包 cat /proc/net/netstat | grep -i "TcpExtTCPSynRetrans" # SYN 重传统计
  • 解决方案

    • 启用 ARP 缓存持久化(arp -s <网关IP> <MAC>​)。
    • 调整 TCP 参数(sysctl -w net.ipv4.tcp_retries2=3​)。

6. 外部设备干扰(G 分支)

  • 检测方法

    # 测试网关设备状态 ping <网关IP> -c 100 -i 0.2 -W 1 # 连续 ping 网关,统计丢包率 # 检查交换机日志 # (需登录交换机 CLI,查看端口错误计数)
  • 解决方案

    • 更换网关设备或交换机端口。
    • 在交换机启用 STP 防止环路。

优先级排序

  1. 物理层问题(B1/B2) → 最易排查且常见。
  2. 网络配置异常(C1/C2) → 检查静态/DHCP 配置。
  3. 驱动/固件缺陷(D1/D2) → 更新驱动或关闭卸载功能。
  4. 系统资源不足(E1/E2) → 监控内存和 CPU。
  5. 协议栈问题(F1/F3) → 分析 ARP 和路由缓存。
  6. 外部设备干扰(G1/G3) → 协同网络管理员排查。

关键工具总结

工具 用途
ethtool 网卡状态、驱动信息、错误统计
route -n​ / ip route 路由表及网关验证
ping -M do -s MTU 兼容性测试
dmesg 内核日志(硬件错误、驱动故障)
tcpdump 抓包分析分片/丢包问题

通过逐层排除,可快速定位根本原因,优先解决物理层和配置问题,再深入内核和外部设备。

  • 网络
    142 引用 • 184 回帖 • 4 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...