Linux系统凭借稳定性和灵活性被广泛应用于服务器、开发环境等场景,网络功能是系统运行的核心支撑之一,一旦网络出现问题会直接影响业务开展。掌握常见网络问题的排查和解决方法,是Linux使用者必备的技能。

一、无法连接网络问题
无法连接网络是最基础的网络故障,通常表现为无法访问外部站点、无法ping通网关等,排查可以从以下几个步骤入手。
1. 检查网络接口状态
首先确认网卡是否正常启动,可以使用ip addr命令查看所有网络接口的状态,如果对应网卡没有获取到IP地址,可能是接口未激活。
# 查看网络接口状态 ip addr # 激活eth0网卡(根据实际网卡名调整) sudo ip link set eth0 up # 使用dhcp获取IP地址 sudo dhclient eth0
2. 检查网关连通性
如果网卡已经获取到IP,接下来测试是否能连通网关,网关地址可以通过ip route命令查看。
# 查看默认网关 ip route show default # 假设网关是192.168.1.1,测试连通性 ping 192.168.1.1
如果ping不通网关,需要检查物理网线是否连接正常,或者虚拟机的网络适配器配置是否正确。
二、DNS解析失败问题
DNS解析失败的表现是可以ping通IP地址,但是无法访问域名,比如ping通8.8.8.8但是无法访问百度站点。
1. 检查DNS配置
Linux系统的DNS配置通常存放在/etc/resolv.conf文件中,查看该文件确认是否有正确的DNS服务器地址。
# 查看DNS配置 cat /etc/resolv.conf
如果文件中没有nameserver字段或者地址无效,可以手动添加公共DNS服务器,比如阿里DNS、谷歌DNS。
# 编辑resolv.conf文件,添加DNS服务器 sudo vim /etc/resolv.conf # 添加以下内容,保存退出 nameserver 223.5.5.5 nameserver 8.8.8.8
2. 排查DNS缓存问题
部分系统会启用DNS缓存服务,如果缓存记录过期也会导致解析失败,可以清除DNS缓存后重新测试。
# 如果使用的是systemd-resolved服务,清除缓存 sudo systemd-resolve --flush-caches # 测试域名解析 nslookup baidu.com
三、网络延迟过高、丢包问题
网络延迟高或者丢包会导致服务响应慢、请求失败,这类问题需要逐步定位故障节点。
1. 使用traceroute定位故障节点
traceroute命令可以显示数据包从本机到目标地址经过的所有路由节点,帮助定位哪一跳出现了延迟或者丢包。
# 安装traceroute工具(Debian/Ubuntu系统) sudo apt install traceroute # 跟踪到百度的路由路径 traceroute baidu.com
2. 检查本地网络负载
如果本地网络带宽被占满,也会导致延迟升高,可以使用nethogs工具查看各个进程的网络占用情况。
# 安装nethogs工具 sudo apt install nethogs # 查看进程网络占用 sudo nethogs
找到占用带宽过高的进程后,可以根据业务需求限制其带宽或者暂时停止该进程。
四、端口无法访问问题
端口无法访问通常表现为外部无法连接本机开启的服务,比如本机开启了80端口的web服务,但是外部无法访问。
1. 检查端口监听状态
使用ss或者netstat命令查看端口是否处于监听状态。
# 查看80端口的监听状态 ss -tuln | grep 80 # 或者使用netstat命令 netstat -tuln | grep 80
如果端口没有监听,需要检查对应的服务是否正常启动。
2. 检查防火墙规则
Linux系统自带的防火墙可能会拦截外部对本机端口的访问,需要确认防火墙是否开放了对应端口。
# 查看防火墙状态(使用ufw防火墙的系统) sudo ufw status # 开放80端口 sudo ufw allow 80/tcp # 如果使用firewalld防火墙 sudo firewall-cmd --add-port=80/tcp --permanent sudo firewall-cmd --reload
常见问题汇总表
| 问题类型 | 典型表现 | 核心排查命令 |
|---|---|---|
| 无法连接网络 | 无IP地址、ping不通网关 | ip addr、ip route、ping |
| DNS解析失败 | 可ping通IP但无法访问域名 | cat /etc/resolv.conf、nslookup |
| 延迟高丢包 | 请求响应慢、部分请求失败 | traceroute、nethogs |
| 端口无法访问 | 外部无法连接本机服务 | ss -tuln、ufw/firewall-cmd |
注意:修改网络配置文件前建议先备份原文件,避免配置错误导致网络完全不可用。如果是远程连接的服务器,修改网络配置前最好准备好本地控制台访问方式,防止远程连接断开后无法恢复。
Linux_networknetwork_troubleshootingnetwork_configurationping_command修改时间:2026-06-13 10:03:28