Linux 网络排查实战指南

本文最后更新于 2026年6月25日 上午

Linux 网络排查实战指南

一、网络排查思维

网络故障通常并非单一原因导致,排查时应遵循由上到下的分层思路:

1
2
3
4
5
6
7
应用层

端口层

主机层

网络层

以网站无法访问为例:

1
2
3
4
5
6
7
8
9
10
11
Nginx是否运行

端口是否监听

本机访问是否正常

网络是否连通

DNS是否正常

防火墙或安全组是否拦截

二、查看端口监听状态

现代 Linux 推荐使用 ss 代替 netstat

查看所有监听端口:

1
ss -tuln

查看端口对应进程:

1
ss -tulnp

常用参数:

参数 说明
t TCP
u UDP
l LISTEN
n 数字显示
p 显示进程

查看指定端口:

1
ss -tulnp | grep 80

三、端口占用排查

服务启动失败时,经常出现端口冲突。

例如:

1
systemctl restart nginx

提示:

1
Address already in use

检查占用情况:

1
ss -tulnp | grep 80

输出示例:

1
users:(("apache",pid=888))

说明 Apache 已占用 80 端口。

四、使用 curl 测试服务

curl 是运维人员最常用的 HTTP 测试工具。

测试网页:

1
curl http://127.0.0.1

查看响应头:

1
curl -I http://127.0.0.1

发送 POST 请求:

1
curl -X POST http://api.example.com

如果本机访问正常而外部访问失败,通常需要继续检查防火墙、路由或安全组配置。

五、网络连通性检测

Ping 测试

检测主机连通性:

1
ping 8.8.8.8

常见判断:

现象 结论
IP可达,域名不可达 DNS异常
IP不可达 网络故障
本机可达,远程不可达 防火墙或路由问题

DNS 排查

查看 DNS 配置:

1
cat /etc/resolv.conf

测试解析:

1
nslookup google.com

或:

1
dig google.com

当域名无法解析但 IP 可以访问时,应优先检查 DNS 配置。

六、路由追踪

查看数据包经过的路径:

1
traceroute 8.8.8.8

作用:

  • 判断网络中断位置
  • 排查运营商路由问题
  • 分析跨地域访问延迟

安装命令:

1
2
3
4
5
# CentOS
yum install traceroute

# Ubuntu
apt install traceroute

七、抓包分析

复杂网络问题可使用 tcpdump 抓包。

抓取指定端口:

1
tcpdump port 80

抓取指定网卡:

1
tcpdump -i eth0

保存数据包:

1
tcpdump -i eth0 -w capture.pcap

生成的 pcap 文件可使用 Wireshark 进一步分析。

八、防火墙检查

当服务正常、端口监听正常但仍无法访问时,应检查防火墙策略。

CentOS:

1
firewall-cmd --list-all

Ubuntu:

1
ufw status

云服务器还需检查安全组规则是否放行目标端口。

九、标准排查流程

网站无法访问时建议按以下顺序检查:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 查看服务状态
systemctl status nginx

# 2. 查看端口监听
ss -tulnp | grep 80

# 3. 本机访问测试
curl http://127.0.0.1

# 4. 外部访问测试
curl http://服务器IP

# 5. 检查防火墙
firewall-cmd --list-all

# 6. 检查DNS解析
nslookup 域名

遵循“服务 → 端口 → 网络 → DNS → 安全策略”的排查路径,能够快速定位绝大多数 Linux 网络故障。


Linux 网络排查实战指南
http://example.com/b0d140a4.html
作者
SHAO
发布于
2026年6月22日
许可协议