Linux服务器网络故障排查工具:零基础也能用的诊断指南

Linux服务器网络故障排查工具:零基础也能用的诊断指南

当你的网站打不开、SSH连不上或者服务响应慢,多数情况是网络层面出了问题。
掌握几个 Linux服务器网络故障排查工具,能帮你快速定位是本地丢包、端口不通还是路由受阻。
这篇文章我会按零基础能用得上的方式,讲清楚每个命令的作用、实操场景和避坑要点。

做排查前必须确认的三件事

  1. 你有服务器 SSH 权限(root 或 sudo 用户)。
  2. 服务器能联网(最低要求能 ping 外网)。
  3. 系统中已安装基础网络工具(大部分工具默认包含,但部分精简版系统需手动装)。

验证服务器基础连通性:

ping -c 4 8.8.8.8

如果没反应,先检查网卡状态:ip link show,确保 state UP

五个最常用的排查工具及场景

1. ping —— 最基础的连通性测试

作用:检查目标主机是否可达,以及往返时延和丢包率。

# 持续 ping 直到按 Ctrl+C
ping baidu.com
# 只发 4 个包,适合脚本
ping -c 4 baidu.com

如果 ping 不通,说明链路或路由有问题;
如果 ping 通但网站访问慢,则继续查端口或 DNS。

2. traceroute —— 看数据包走哪条路

作用:显示数据包从本机到目标每一跳的 IP 和时延,帮助找出哪个路由节点丢包。

traceroute baidu.com

输出中如果某一跳显示 * * *,可能是那个节点禁用了 ICMP,也可能是真正丢包。
连续多跳都 * 且目标不可达,则怀疑网络断点。注意:部分云服务器默认禁用了 UDP 模式的 traceroute,可改用 -I(ICMP 模式):traceroute -I baidu.com

3. netstat 和 ss —— 查看本机端口与连接状态

ss 是 netstat 的现代替代,更高效。
查看哪些端口在监听:

# 查看所有 TCP 监听端口(常用)
ss -tlnp
# 或者用 netstat(需要安装 net-tools)
netstat -tlnp

-t 表示 TCP,-l 表示监听,-n 显示数字端口,-p 显示进程。
如果你部署了 Nginx 但 ss -tlnp 看不到 80 端口,说明 Nginx 没启动或端口被其他程序占用。

4. telnet —— 测试远程端口是否开放

作用:快速判断某个 IP + 端口能否连上。

telnet 192.168.1.100 22

如果连接成功,会显示 SSH 协议的欢迎信息;
如果卡住或返回“Connection refused”,说明端口没开或被防火墙拦截。telnet 可能没安装,也可用 nc -zvnc -zv 192.168.1.100 22

5. curl —— 模拟 HTTP 请求

作用:测试 Web 服务是否能返回正确状态码和内容。

curl -I https://baidu.com

-I 只返回响应头,看 HTTP 状态码。
返回 200 说明正常,500 说明服务端错误,连接超时说明网络或防火墙问题。

常见故障排查组合口诀

| 症状 | 优先使用的排查命令 | 可能原因 |
|------|-------------------|----------|
| 完全连不上服务器 | pingtraceroute | 物理断开或路由丢失 |
| 能 ping 通但业务端口连不上 | ss -tlnp 看本地,telnet 看远程 | 服务没启动,或防火墙拦截 |
| 网站打开很慢 | curl -w "%{time_total}" -o /dev/null -s 测试响应时间 | DNS 解析慢,或带宽不足 |
| 偶尔掉线 | ping -c 100 统计丢包率 | 线路不稳或网卡故障 |

避坑提醒(新手最容易忽略的几点)

  1. 防火墙拦截:即使服务端端口监听正常,iptables 或云平台安全组规则也可能拦截入站。用 iptables -L -n 查看规则,或检查云控制台入方向规则。
  2. DNS 问题ping 域名报错“Name or service not known”时,用 nslookup baidu.com 检查解析是否正常。可临时改用 IP 测试。
  3. 部分工具未安装traceroutetelnetncnetstat 在最小化安装的系统中可能缺少。用包管理器安装:
  • CentOS/RHEL:yum install traceroute telnet nc net-tools
  • Ubuntu/Debian:apt install traceroute telnet netcat-openbsd net-tools
  1. 非 root 用户权限ss -tnlp 能查看端口和进程,但部分进程信息需要 root 权限。建议用 sudo。

验证修复效果

完成调整后,依次执行以下步骤确认问题已解决:

  1. 再次 ping 目标,观察丢包率是否为 0%。
  2. 使用 ss -tlnp 确认关键端口处于 LISTEN 状态。
  3. telnetnc -zv 从另一台机器测试端口连通性。
  4. 如果测试 Web 服务,用 curl -I 检查返回 200。

如果你在处理实际故障时卡住,优先对照上表的组合口诀,然后检查防火墙和进程状态。
掌握这些 Linux服务器网络故障排查工具,多数日常网络问题都能在十分钟内定位。

分享到:
上一篇
WordPress网站SEO关键词优化
下一篇
Docker部署frp教程指南
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意