连通性排查的三件工具
网络不通时按分层排查:先用探测工具确认目标主机是否可达以及延迟水平,再用路径工具看数据包经过哪些跳点、在哪一跳出现异常,最后用端口级验证确认具体服务是否可用。三层依次做,能迅速把问题范围从「网络不通」缩小到「某段链路异常」或「服务没监听」。需要注意的是,内网常态化屏蔽探测报文很常见,探测不通并不等于业务端口不通,结论必须由端口级验证来确认。
基本信息
| 探测工具 | 用于测试主机可达性与延迟,可指定次数与源地址 |
|---|---|
| 路径工具 | 显示数据包逐跳路径,可关闭反向解析加快输出 |
| 持续观测 | 连续探测并统计各跳丢包率,适合判断抖动 |
| 端口验证 | 用端口探测或协议工具确认服务是否可访问 |
| 工具可用性 | 最小化安装的系统可能未预装路径与持续观测工具 |
| 适用平台 | Kylin V10 / UOS / openEuler 通用 |
典型使用场景
- 新链路验收:测试目标主机延迟与丢包是否符合预期
- 多网卡机器排障:指定源地址或源接口发起探测,验证路由选择
- 跨网段不通:逐跳看路径在哪一层中断
- 抖动定位:持续观测各跳丢包率,找出问题节点
- 服务可用性确认:用端口级验证区分主机可达但服务不可用
- 临时验证策略:确认调整防火墙后端口是否已放通
典型用法
典型用法
ping -c4 10.0.10.1 # 测基本连通与延迟
ping -c4 -I ens33 10.0.10.1 # 指定源接口,验证多网卡选路
traceroute -n 10.0.20.5 # 看逐跳路径,关闭反解
mtr -n --report -c 20 10.0.20.5 # 持续观测各跳丢包(需装 mtr)
nc -zv 10.0.20.5 8080 # 端口级验证(需装 netcat)
curl -s -o /dev/null -w '%{http_code}\n' http://10.0.20.5:8080/ # 有 HTTP 服务时更直接现象与判断
| 现象 | 可能原因 | 下一步 |
|---|---|---|
| 完全不响应 | 对端禁用探测或链路不通 | 先用端口级验证确认业务是否可用 |
| 延迟高但无丢包 | 链路拥塞或路径较远 | 结合业务峰谷与链路质量判断 |
| 中间跳显示星号 | 该跳设备不回超时报文 | 不一定是故障,看后续跳是否可达 |
| 首跳异常 | 本机网关或路由配置问题 | 核对网关、路由与接口状态 |
| 主机可达端口不通 | 服务未监听或被策略拦截 | 在目标机本机验证监听与规则 |
内网普遍会对探测类流量做限制或限速,因此探测不通不能作为服务不可用的结论。判断业务是否可用应走端口级验证或实际协议请求,两者结论不一致时以端口与协议层的验证为准。
部分工具在最小化安装的系统上并不预装,现场排障前先确认工具是否可用,必要时换用系统自带的手段或先在管理机侧完成验证,避免在客户现场临时找包。