先判断是本机还是网络环境问题,询问他人、测试不同服务或更换网络环境;2. 使用ip addr show检查网卡状态和ip分配,启用网卡或重新获取dhcp地址;3. 依次ping 127.0.0.1、网关、8.8.8.8、域名,确认协议栈、局域网、公网连通性和dns解析;4. 查看ip route show确认默认路由和目标路由,缺失则手动添加;5. 检查iptables、firewalld或ufw防火墙规则,必要时临时关闭测试;6. 用telnet或nc测试端口连通性,服务端用ss -tulnp检查服务监听状态;7. 使用tcpdump抓包分析请求与响应,定位故障环节;常见问题包括无ip(dhcp失败)、能上内网不能上外网(路由缺失)、能ping ip不能访问网站(dns问题)、所有ping超时(网络中断或防火墙拦截)、特定端口不通(服务未启动或防火墙限制),排查应由近及远,结合ping、ip、nslookup、ss和tcpdump工具完成诊断,最终精准定位并解决问题。

排查Linux网络故障需要系统性地检查各个网络层次,从本地配置到远程连接,逐步缩小问题范围。以下是常见的网络问题诊断流程,适用于大多数Linux发行版。
首先判断问题是出在本机,还是整个网络环境或远程服务。
如果只有本机出问题,继续排查本机配置;如果所有设备都异常,可能是路由器或ISP问题。
使用基础命令查看网卡是否启用、IP是否正确分配。
ip addr show # 或使用旧命令 ifconfig -a
关注点:
UP
RX/TX errors
若网卡未启用:
sudo ip link set eth0 up
若使用DHCP,可尝试重新获取IP:
sudo dhclient eth0
ping 127.0.0.1
如果失败,说明TCP/IP协议栈或内核网络模块有问题(极少见)。
ping 192.168.1.1 # 替换为你的网关
ip route | grep default
ping 8.8.8.8
ping google.com
检查DNS配置:
cat /etc/resolv.conf
确保有有效的DNS服务器,如:
nameserver 8.8.8.8 nameserver 114.114.114.114
测试DNS解析:
nslookup google.com # 或 dig google.com
若解析失败,可临时更换DNS服务器测试。
查看数据包是否知道如何到达目标网络:
ip route show
或
route -n
关键点:
default via 192.168.1.1 dev eth0
若缺失默认路由,手动添加:
sudo ip route add default via 192.168.1.1 dev eth0
Linux本地防火墙可能阻止出站或入站流量。
对于
iptables
sudo iptables -L -n -v
查看是否有DROP规则影响网络。
对于
firewalld
sudo firewall-cmd --state sudo firewall-cmd --list-all
对于
ufw
sudo ufw status
可临时关闭防火墙测试:
sudo systemctl stop firewalld # 或 sudo ufw disable
测试后记得恢复。
若特定服务无法访问(如无法SSH、无法访问网页):
telnet
nc
telnet 192.168.1.100 22 # 或 nc -zv 192.168.1.100 80
在服务端检查:
ss -tulnp | grep :22 # 或 netstat -tulnp | grep :22
确认服务是否监听正确IP和端口。
当上述方法无法定位问题时,使用
tcpdump
sudo tcpdump -i eth0 host 8.8.8.8
或抓ICMP包:
sudo tcpdump -i eth0 icmp
观察是否有请求发出、是否有响应返回,判断是发不出去还是收不到回应。
| 现象 | 可能原因 | 检查命令 | 
|---|---|---|
| 无IP地址 | DHCP失败或网卡未启用 | @@######@@、@@######@@ | 
| 能上内网不能上外网 | 默认路由缺失 | @@######@@ | 
| 能ping IP不能访问网站 | DNS问题 | @@######@@、@@######@@ | 
| 所有ping都超时 | 网络不通或防火墙拦截 | @@######@@、@@######@@ | 
| 特定端口不通 | 服务未启动或防火墙限制 | @@######@@、@@######@@ | 
基本上就这些步骤。网络故障排查讲究由近及远:先本地配置,再网关,再DNS,最后外部因素。掌握
ip addr
dhclient
ip route
cat /etc/resolv.conf
dig
ping 网关
tcpdump
ss -tuln
firewall-cmd
ping
ip
nslookup
ss
tcpdump
以上就是如何排查Linux网络故障 常见网络问题诊断流程的详细内容,更多请关注php中文网其它相关文章!
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号