网络不通排查 5 步法

在企业级系统、云原生架构或本地开发环境中,“网络不通”几乎是最频繁也最棘手的问题之一。它可能是一个简单的配置疏漏,也可能是隐藏在多跳链路中的路由错误、服务端口未开放、安全策略限制,甚至是物理链路故障。问题看似简单,实则错综复杂。

为了有效应对这类问题,我们提出一套“网络不通排查五步法”,并将其串联成一条清晰的命令链条,帮助工程师在最短时间内找准症结,避免盲目调试与无效尝试。


一、五步法概览:从底层链路到上层协议

这套方法以“从低到高”、“从通到用”为基本原则,分为以下五步:

步骤核心问题工具命令目标
1️⃣ 本机网络状态本机是否具备网络能力ip a, ip r, nmcli, ifconfig排除自身问题
2️⃣ 连通性测试是否能达目标主机ping, traceroute / mtr定位链路中断位置
3️⃣ 端口可达性服务是否监听 / 防火墙是否放行telnet, nc, ss, nmap验证端口级连通性
4️⃣ 协议层分析应用是否能正常通信curl, wget, openssl s_client判断协议是否握手成功
5️⃣ 抓包定位数据包是否正确转发/接收tcpdump, wireshark精准追踪异常数据流

二、第一步:本机网络状态确认

网络不通,先别忙着找别人锅,先看自己是不是瘫了

✅ 关键命令:

ip a         # 查看网卡状态、是否有 IP
ip r         # 查看路由表
ping 127.0.0.1  # 本地回环测试
nmcli dev status  # NetworkManager 统一查看连接状态

🔍 典型问题:

  • 网卡 DOWN、无线未连接

  • 没有默认网关或 DNS 配置错误

  • DHCP 未生效,IP 配置缺失


三、第二步:连通性测试

一旦确认本机 OK,下一步是看是否能触达目标地址

✅ 常用命令:

ping <IP或域名>
traceroute <IP或域名>
mtr <IP>    # 实时路由质量分析

🔍 排查点:

  • 无法 ping 通?可能是目标主机没开 ICMP、路由不可达、防火墙拦截

  • traceroute 可以定位在哪一跳中断,适用于排查跨区域网络

💡 实战技巧:

  • ping -c 4 -W 2 设置超时和次数,避免阻塞终端

  • 使用 mtr 替代 traceroute,可动态观察丢包/延迟点


四、第三步:端口可达性测试

如果 ping 通,说明能到机器;但服务可能没开/被拦。此时要验证端口是否畅通。

✅ 命令组合:

telnet <host> <port>    # 适合 TCP 测试
nc -zv <host> <port>    # 检查端口是否开放
ss -tunlp               # 查看本机监听端口
nmap -p <port> <host>   # 探测远程主机端口状态

🔍 常见问题:

  • 服务未监听指定端口(ss 无输出)

  • 防火墙(如 firewalld / iptables / cloud security group)拦截了端口

  • 只监听了 127.0.0.1 而非 0.0.0.0(常见于开发环境)

💡 典型示例:

nc -zv 192.168.1.100 3306

检查 MySQL 服务端口是否可访问


五、第四步:协议层验证

有时端口通,但服务协议本身异常(如 SSL 握手失败、HTTP 500、认证失败等)。这一步检查协议行为是否正确。

✅ 常见命令:

  • HTTP:

curl -v http://example.com
curl -k https://example.com   # 跳过证书校验
  • HTTPS / TLS:

openssl s_client -connect example.com:443
  • WebSocket:

curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" ...

🔍 排查内容:

  • 服务返回 5xx、404 等错误码

  • SSL/TLS 证书过期、域名不匹配

  • 请求被重定向、限速、403 禁止


六、第五步:抓包精查

这是网络排查的“放大镜”,用于确认数据是否真的发送/接收成功,非常适用于:

  • 双向都通但连接失败

  • 数据包被丢弃/篡改

  • 认证过程卡死等问题

✅ 抓包命令:

sudo tcpdump -i eth0 port 443 and host 192.168.1.10

✅ 分析步骤:

  • 先看三次握手是否完整

  • 再分析是否有重传、RST、ACK 异常

  • 最后确认应用层响应(如 HTTP Header)

💡 提示:

可结合 Wireshark 可视化查看 .pcap 抓包结果,效果更佳。


七、连不上公网 API 的案例

场景:某台后端服务器访问公网 API https://api.example.com 失败

  1. ip a → 网卡正常,已配置 IP

  2. ping 8.8.8.8 → 不通 → ip r 检查默认路由丢失

  3. 添加默认路由 → ping

  4. curl https://api.example.com → 证书校验失败

  5. openssl s_client -connect api.example.com:443 → 域名不匹配

  6. 发现服务配置了过期证书 → 修复 → 问题解决


八、结语

网络故障是每一位工程师都必须直面的挑战。“重启一下试试”固然是万能口头禅,但真正的高手,靠的是结构化的诊断流程工具组合拳

“网络不通排查五步法”正是将纷繁复杂的问题,抽象为一套可执行、可复用的链条式操作体系。

从网络底层到协议应用层,从链路状态到数据行为,只有逐层深入,我们才能真正“看见”问题,而不是“感觉”问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试者家园

你的认同,是我深夜码字的光!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值