Linux 常见网络故障排查案例集锦与诊断方法
一、网络故障排查通用方法论
标准化流程(推荐):
- 明确现象:什么症状?何时开始?影响范围?近期变更?
- 分层排查:物理链路 → 接口 → IP/路由 → 传输层 → 应用层 → 外部依赖。
- 工具组合:ip/ss → tcpdump → 日志 → 监控指标。
必备工具: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 22iptables -L -n -v + nft list ruleset
常见根因:
解决:对应调整规则、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
案例4:间歇性丢包
排查:
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 日志 - 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
六、路由与接口高级故障
案例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 等。