ubuntu使用很久之后网络突然连不上解决方法

📅 2026/7/7 4:53:13 👁️ 阅读次数 📝 编程学习
ubuntu使用很久之后网络突然连不上解决方法

Ubuntu DNS 解析失败 Bug 排查与解决

一、Bug 现象

Ubuntu 使用一段时间后,所有需要域名解析的程序突然无法正常工作,例如:

pinggitee.com

提示:

ping: gitee.com: Temporary failure in name resolution

但是直接访问 IP 地址却正常,例如:

ping8.8.8.8

可以正常通信。


二、Bug 原因

出现该问题说明:

网络连接正常,但 DNS 域名解析失败。

DNS(Domain Name System)的作用是将域名转换为对应的 IP 地址。

例如:

gitee.com │ ▼ DNS服务器 │ ▼ 180.xxx.xxx.xxx

如果 DNS 无法正常工作,就会导致:

  • ping 域名失败
  • Git 无法连接远程仓库
  • 浏览器打不开网站
  • wget、curl 等工具无法访问域名

但由于 IP 地址无需经过 DNS 解析,因此直接访问 IP 仍然正常。


三、排查过程

(1)确认网络是否正常

首先测试是否能够访问公网 IP:

ping8.8.8.8

若能够正常通信,则说明:

  • 网卡正常
  • 路由正常
  • 网络连接正常

问题基本可以确定不是网络故障。


(2)确认是否为 DNS 故障

继续测试域名解析:

pinggitee.com

若提示:

Temporary failure in name resolution

则说明:

DNS 解析失败。


(3)查看当前 DNS 配置

查看系统 DNS:

cat/etc/resolv.conf

可以看到:

nameserver 127.0.0.53

说明 Ubuntu 使用的是:

systemd-resolved

进行 DNS 解析。


(4)查看真正使用的 DNS 服务器

执行:

resolvectl dns ens34

查看网卡当前使用的 DNS。

例如:

192.168.2.2

说明 Ubuntu 实际向:

192.168.2.2

发送 DNS 查询请求。


(5)测试 DNS 服务器

测试该 DNS 是否正常:

nslookupgitee.com192.168.2.2

如果出现:

communications error timeout

或者解析速度非常慢,

说明:

当前 DNS 服务器工作不稳定。


(6)使用公共 DNS 测试

例如:

nslookupgitee.com223.5.5.5

如果能够立即解析成功,则说明:

问题出在原来的 DNS 服务器,而不是 Ubuntu 系统本身。


四、问题原因分析

本次问题的根本原因是:

DHCP 自动分配的 DNS(192.168.2.2)响应速度慢、稳定性较差。

Ubuntu 长时间运行后仍然继续使用该 DNS,因此出现:

Temporary failure in name resolution

虽然网络连接正常,但域名解析失败。


五、解决方法

(1)临时解决

重新启动 DNS 服务:

sudosystemctl restart systemd-resolved

或者:

sudosystemctl restart NetworkManager

也可以直接重启 Ubuntu。

该方法可以恢复 DNS,但不能彻底解决问题。


(2)长期解决(推荐)

不要继续使用 DHCP 自动分配的 DNS。

改为固定使用公共 DNS,例如:

阿里 DNS:

223.5.5.5

腾讯 DNS:

119.29.29.29

配置命令:

sudonmcli connection modify"Wired connection 2"ipv4.ignore-auto-dnsyessudonmcli connection modify"Wired connection 2"ipv4.dns"223.5.5.5 119.29.29.29"sudonmcli connection down"Wired connection 2"sudonmcli connection up"Wired connection 2"

最后验证:

nmcli connection show"Wired connection 2"|grepdns

应看到:

ipv4.dns: 223.5.5.5,119.29.29.29 ipv4.ignore-auto-dns: yes

说明以后 Ubuntu 将固定使用公共 DNS,不再依赖 DHCP 分配的 DNS。


六、总结

本次 Bug 并非网络故障,而是DNS 服务器不稳定导致的域名解析失败。通过排查网络连通性、DNS 配置和 DNS 服务器响应情况,最终定位到 DHCP 分配的 DNS 存在稳定性问题。采用固定公共 DNS(如 223.5.5.5 和 119.29.29.29)后,可以有效避免该问题再次发生,提高 Ubuntu 长时间运行时的网络稳定性。