网络不通怎么排查
网络不通的排查要从近到远逐层推进:先确认本机有没有监听,再看访问策略是否放行,接着核对路由,然后检查对端服务与策略,最后用抓包确认报文是否真的到达。每一步只验证一件事,避免多头并进导致结论互相矛盾。
基本信息
| 第一步 | 确认本机端口是否处于监听状态以及监听地址范围 |
|---|---|
| 第二步 | 核对两端的安全组与系统内防火墙是否放行该端口 |
| 第三步 | 检查子网路由表与下一跳,确认流量路径正确 |
| 第四步 | 检查对端服务与策略:上游配置、监听地址与访问规则 |
| 第五步 | 在两端抓包,确认报文到达情况与响应行为 |
| 判断原则 | 抓包是分水岭:能收到请求说明网络通,问题在主机侧 |
典型排查动作
- 确认服务是否在监听:监听地址只写回环时外部永远连不上
- 核对访问策略:云上安全组与主机内防火墙是两层,都要放行
- 确认流量路径:路由表缺默认路由或下一跳指向错误都会不通
- 检查上游配置:反向代理的后端地址、端口与超时设置是否正确
- 抓包对照:一端抓包有请求、另一端抓包没有,说明中间被拦截
- 按时间对齐:把日志、事件与抓包时间对齐,避免把两个问题混成一个
现象与判断
| 表现 | 可能原因 | 验证方式 |
|---|---|---|
| 连接被拒绝 | 端口没监听或策略拒绝 | 查看监听状态与两端放行规则 |
| 连接超时无响应 | 路由不通或被静默丢弃 | 查看路由表并抓包 |
| 时通时不通 | 多路出口冲突或部分实例异常 | 按实例与出口分别验证 |
| 本机可通外部不通 | 监听地址限于回环或策略受限 | 查看监听地址范围 |
| 域名不通但地址可通 | 解析配置问题 | 对比域名与地址的连通结果 |
分步命令示例
分步命令示例
ss -lntp | grep 8080 # 本机是否在监听、监听在哪个地址
nc -zv 10.10.0.5 8080 # 快速测试目标端口
sudo tcpdump -ni any port 8080 -c 20 # 抓包看报文是否到达
# 一端有请求另一端没有,说明中间链路或策略把流量拦下了
# 只有请求没有响应,再查两端策略与对端服务状态抓包是排查的分水岭:能抓到请求说明网络链路是通的,问题在主机策略或服务本身;只有请求没有响应,再回到策略与监听上找原因。
只在客户端排查是常见误区:服务端的监听状态、安全组与防火墙同样是盲区,两端都要看。
先改策略后找原因是低效路径:一上来就调整安全组,改完仍不通才发现服务根本没启动,白折腾一轮。
记录每一步的验证结果:把监听、策略、路由、抓包结论写下来,多人协同时才不会重复劳动或得出相反结论。