虾米一家
分享生活,分享技术,我们一直在努力

Linux 网络故障排查实战:从 ping 到 tcpdump 的完整诊断流程

Linux 网络故障排查实战:从 ping 到 tcpdump 的完整诊断流程

网络问题是运维工作中最常见的故障类型之一。从 DNS 解析失败到 TCP 连接超时,从带宽瓶颈到路由异常,每一类问题都需要不同的诊断工具和分析方法。本文将带你建立一套系统化的网络排查方法论。

一、排查方法论

网络故障排查的核心思路是分层诊断,按照 OSI 模型从底层到高层逐一排查。

  1. 确认故障范围:单台机器还是整个网络
  2. 检查物理层:网线、交换机、网卡状态
  3. 检查网络层:IP 配置、路由表、DNS
  4. 检查传输层:端口监听、TCP 连接
  5. 检查应用层:HTTP 状态码、API 响应
# 快速诊断清单
ip addr show
ip route show
ping -c 3 $(ip route | grep default | awk '{print $3}')
dig example.com +short
ping -c 3 8.8.8.8

二、常用诊断工具

掌握正确的诊断工具是网络排查的基础。

# ping 高级用法
ping -D -c 100 example.com
traceroute -T -p 443 example.com
mtr --report --report-cycles 10 example.com

# socket 状态
ss -tlnp
ss -t state established | wc -l
ss -s

tcpdump 是网络排查的终极武器:

# 抓包示例
tcpdump -i eth0 port 80 -w capture.pcap
tcpdump -i eth0 host 192.168.1.100
tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'

三、常见故障场景

DNS 解析失败

能 ping 通 IP 但无法访问域名:

  1. 检查 /etc/resolv.conf
  2. 使用 dig 测试不同 DNS
  3. 检查 DNS 缓存
  4. 尝试公共 DNS (8.8.8.8)

TCP 连接超时

原因 诊断 解决
防火墙拦截 检查 iptables 添加规则
路由异常 traceroute 修改路由
服务未监听 ss -tlnp 启动服务
连接耗尽 ss 看 TIME_WAIT 调 tcp_tw_reuse

带宽瓶颈

iftop -i eth0
nethogs eth0
ip -s link show eth0

四、自动化监控

将关键网络指标纳入持续监控:

  • ICMP 延迟和丢包率
  • TCP 连接数分布
  • DNS 解析时间
  • 带宽利用率
  • 网络错误和丢包计数

结合 Prometheus + Blackbox Exporter 可实现完整网络监控。

五、总结

建立标准化排查流程,熟练使用诊断工具,结合自动化监控,可大幅提升故障处理效率。

本文基于实际生产环境经验编写,配置参数需根据具体情况调整。建议在测试环境验证后再应用于生产。

赞(0) 打赏
未经允许不得转载:虾米生活分享 » Linux 网络故障排查实战:从 ping 到 tcpdump 的完整诊断流程

评论 抢沙发

评论前必须登录!

 

虾米一家,生活分享!

关于我们收藏本站

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏