解决 Ubuntu DNS 无法解析问题(适用于虚拟机 & 长期使用)

解决 Ubuntu DNS 无法解析问题

在使用 Ubuntu 虚拟机(尤其是在国内)时,经常会遇到这样的错误:

复制代码
Temporary failure resolving 'cn.archive.ubuntu.com'

但是此时又能成功 ping 通 IP,这说明网络是正常的,问题出在 DNS 解析失败 。这通常是因为系统默认启用了 systemd-resolved,但 DNS 解析不稳定或不生效。解决方案如下:

Ubuntu 默认使用 systemd-resolved 来处理 DNS,它监听 127.0.0.53,但在某些网络环境中无法正常解析外部域名。

复制代码
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service

Ubuntu 的 /etc/resolv.conf 是一个软链接,指向 systemd 的 DNS 缓存服务,需要删除它:

复制代码
sudo rm /etc/resolv.conf

创建新的 /etc/resolv.conf 文件,可以选择 Google DNS(适用于国际网络):

复制代码
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" | sudo tee /etc/resolv.conf

或者选择阿里云 DNS:

复制代码
echo -e "nameserver 223.5.5.5\nnameserver 223.6.6.6" | sudo tee /etc/resolv.conf

如果系统使用 NetworkManager 等工具,可能会自动覆盖 /etc/resolv.conf,可以使用 chattr 命令将其锁定:

复制代码
sudo chattr +i /etc/resolv.conf

执行以下命令测试:

复制代码
ping cn.archive.ubuntu.com
sudo apt update

如果看到域名成功解析并开始连接软件源,说明问题已解决!

相关推荐
LYFlied2 分钟前
TypeScript 常见面试问题
ubuntu·面试·typescript
谷隐凡二4 分钟前
etcd在Kubernetes中的作用简单介绍
数据库·kubernetes·etcd
阿杆8 分钟前
如何在 Spring Boot 中接入 Amazon ElastiCache
java·数据库·redis
暴躁的菜鸡8 分钟前
postgresql16.8二进制包编译
ubuntu·postgresql
qq_343247039 分钟前
单机版认证kafka
数据库·分布式·kafka
^乘风破浪^28 分钟前
Ubuntu部署Xingrin(星环)企业级漏洞扫描与资产管理平台
linux·运维·ubuntu
2301_8002561140 分钟前
第十一章 PostgreSQL 服务器编程知识点梳理(1)
服务器·数据库·postgresql
松涛和鸣43 分钟前
DAY32 Linux Thread Programming
linux·运维·数据库·算法·list
秦jh_1 小时前
【Qt】常用控件(上)
服务器·数据库·qt
爬山算法1 小时前
Netty(14)如何处理Netty中的异常和错误?
java·前端·数据库