Debian 网络排查入门:ping、ss 与 curl
服务器连不上,第一反应别急着重启,先分层定位:本机、网关、外网,一步步收窄范围,问题自然会停在某一步上。
一、ping:先看通不通,再看稳不稳
ping 127.0.0.1 先确认本机协议栈正常;再 ping 网关,最后 ping 外网地址。能通内网不通外网,多半是网关或路由的问题;全都不通,先看网卡和 IP 配置。
ping -c 4 223.5.5.5
重点看丢包率和往返时间。偶发丢包可能是链路拥塞,持续丢包可以结合 traceroute 看在哪一跳开始丢。注意有些主机禁 ping,ping 不通不等于服务不通,这时要换 ss、curl 继续验证,别只凭 ping 下结论。
二、ss:端口在监听吗,连接卡在哪
ss -tlnp 看 TCP 监听端口和对应的进程。服务没起来、端口没在监听,curl 再怎么试也没有用。ss -tnp 看当前连接状态:TIME_WAIT 大量堆积、SYN_SENT 迟迟建连不成,分别指向不同的问题。
ss -tlnp
ss -tnp
常见组合:端口监听正常但连不上,先查防火墙放行情况;端口压根没监听,先查服务本身有没有启动、配置文件里的监听地址是不是 127.0.0.1。
三、curl:服务层面到底回了什么
curl -I 先看 HTTP 状态码,再用 -w 输出总耗时、建连耗时和首字节时间,分清是建连慢还是服务端处理慢。加上 -v 还能看到 TLS 握手细节,证书过期、域名解析失败都藏在这里。
curl -o /dev/null -s -w "http:%{http_code} time:%{time_total}s\n" https://example.com
四、推荐排查顺序
- ip a、ip route,看本机地址与默认路由对不对;
- ping 网关,确认局域网与网关可达;
- ping 外网地址,确认能够出网;
- ss 查端口监听,curl 测业务接口。
每一步只验证一个环节,通了再往下走。把每一步的输出记下来,报障或复盘时也能说清楚问题卡在哪一层,而不是一句“网络不通”。
- 点赞
- 收藏
- 关注作者
评论(0)