当前位置:首页>Linux>Linux 常见网络故障排查案例集锦与诊断方法

Linux 常见网络故障排查案例集锦与诊断方法

  • 2026-10-15 11:16:44
Linux 常见网络故障排查案例集锦与诊断方法

Linux 常见网络故障排查案例集锦与诊断方法

一、网络故障排查通用方法论

标准化流程(推荐):

  1. 明确现象:什么症状?何时开始?影响范围?近期变更?
  2. 分层排查:物理链路 → 接口 → IP/路由 → 传输层 → 应用层 → 外部依赖。
  3. 工具组合:ip/ss → tcpdump → 日志 → 监控指标。
  4. 假设验证:逐一排除。
  5. 记录与复盘:文档化,纳入知识库。

必备工具:ip、ss、tcpdump、mtr、dig、journalctl、dmesg、sar。

二、连通性故障案例

案例1:服务器突然无法 Ping 通

现象:本地能 Ping 网关,但无法 Ping 外网,其他服务器正常。

排查:

ping -c 4 192.168.1.1          # 网关ip route show                  # 默认路由ip addr show                   # 接口 UP?ethtool eth0                   # Link detected?dmesg | tail                   # 网卡驱动错误

根因:默认路由丢失(NetworkManager 重启或配置覆盖)。

解决:

ip route add default via 192.168.1.1 dev eth0# 永久修复配置并重启 network 服务

预防:配置备份 + 配置变更审批。

案例2:SSH 连接超时或拒绝

排查:

  • telnet server_ip 22 或 nc -zv server_ip 22
  • ss -ltnp | grep 22
  • iptables -L -n -v + nft list ruleset
  • journalctl -u sshd
  • tcpdump port 22 抓三次握手。

常见根因:

  • 防火墙规则误删/顺序错误。
  • SELinux/AppArmor 阻挡。
  • sshd_config 变更未重启。
  • TCP backlog 满。

解决:对应调整规则、setenforce 0 测试、systemctl restart sshd。

三、性能与延迟类故障

案例3:服务延迟突然升高

排查:

ss -ssar -n TCP 1 10tcpdump -i eth0 port 80 -c 50cat /proc/net/sockstat

根因:大量 TIME_WAIT(连接复用不足)或 SYN Flood。

解决:

  • 启用 net.ipv4.tcp_tw_reuse=1
  • 调大 somaxconn 和 tcp_max_syn_backlog
  • 应用侧使用连接池 + Keep-Alive。

案例4:间歇性丢包

排查:

  • mtr 看丢包位置
  • ethtool -S eth0 | grep error
  • 检查 MTU(ip link vs 路径 MTU)
  • 交换机/云控制台日志

根因:MTU 不一致、网卡 Offload 异常、链路拥塞。

解决:iptables -t mangle ... TCPMSS 或统一 MTU 9000(巨型帧)。

四、DNS 与 DHCP 相关故障

案例5:域名解析偶尔失败

排查:

dig +trace example.comcat /etc/resolv.confsystemd-resolve --statisticstcpdump port 53

根因:上游 DNS 不可达、本地缓存污染、防火墙挡 UDP 53。

解决:多 nameserver 配置、切换 Unbound、添加 iptables ACCEPT。

案例6:DHCP 客户端无法获取 IP

排查:

  • 服务器端:journalctl -u dnsmasq 或 dhcpd 日志
  • 客户端:dhclient -v
  • tcpdump udp port 67 or 68

根因:Relay 未配置、范围耗尽、MAC 绑定冲突。

解决:检查 dhcp-range、添加 relay agent。

五、防火墙与安全类故障

案例7:新部署服务外部不可访问

排查:

iptables -L -n -v --liness -ltnpcurl -v telnet://localhost:port   # 本地测试

根因:INPUT 链默认 DROP,未添加对应规则;或 nat 表问题。

解决:插入规则(-I INPUT 1)并保存。

案例8:DDoS 或 CC 攻击

现象:CPU/连接数异常高。

排查:ss -s、iftop、tcpdump 看源 IP 分布。

解决:

  • iptables limit / connlimit
  • 云高防 + 清洗
  • Fail2Ban 动态封禁
  • BBR + SYN cookies

六、路由与接口高级故障

案例9:多线路流量不均衡

排查:

ip rule showip route show table allip route get 目标IP

根因:策略路由 rule 优先级错误或 mark 未生效。

解决:调整 rule 序号 + flush cache:ip route flush cache

案例10:Bond 接口频繁 flapping

排查:/proc/net/bonding/bond0、ethtool、dmesg

根因:LACP 协商失败或网线问题。

解决:交换机侧配置一致,调整 miimon 参数。

七、容器与云环境特有故障

  • Docker 网络:bridge 冲突 → 检查 docker network ls 和 iptables Docker 链。
  • K8s:Pod 通信失败 → kubectl describe pod + Cilium/Hubble 排查。
  • 云 VPC:安全组 + 路由表 + ENI 多 IP。

排查命令:ip netns、crictl 等。

最新文章

随机文章