在使用 `resolvconf` 的 Ubuntu 系统上持久化 DNS 设置

适用于:Ubuntu 18.04 / Jetson(JetPack)等使用 resolvconf 管理 DNS 的系统

判断依据:/etc/resolv.conf 是指向 ../run/resolvconf/resolv.conf 的软链接


🔍 问题背景

默认情况下,直接修改 /etc/resolv.conf临时生效的,系统重启或网络服务重启后会被覆盖。

你的系统使用的是 resolvconf 服务:

bash 复制代码
$ ls -l /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Mar  5  2021 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

永久设置 DNS (如 8.8.8.8114.114.114.114),需通过 resolvconf 的配置接口。


✅ 持久化 DNS 配置步骤

1. 编辑 head 配置文件

该文件内容会被优先插入 到最终的 /etc/resolv.conf 中。

复制代码
sudo nano /etc/resolvconf/resolv.conf.d/head

2. 添加 DNS 服务器

在文件中添加以下内容(可放在注释下方):

复制代码
nameserver 8.8.8.8
nameserver 114.114.114.114

✅ 支持多行 nameserver,系统会按顺序尝试。

3. 应用更改

运行以下命令立即更新 /etc/resolv.conf

复制代码
sudo resolvconf -u

4. 验证配置

bash 复制代码
# 查看最终 resolv.conf
cat /etc/resolv.conf

# 测试域名解析
nslookup google.com
# 或
ping -c 3 ports.ubuntu.com

预期输出应包含你设置的 DNS 服务器,且能成功解析域名。


🔁 重启后是否有效?

是的!
resolvconf 服务在每次网络启动、DHCP 更新或系统重启时,都会自动重新生成 /etc/resolv.conf,并包含 /etc/resolvconf/resolv.conf.d/head 中的内容。


🛠 附:检查 resolvconf 是否已安装

bash 复制代码
dpkg -l | grep resolvconf

若未安装(罕见),可执行:

bash 复制代码
sudo apt update
sudo apt install resolvconf
sudo systemctl enable --now resolvconf

✅ 总结

目标 操作
永久设置 DNS 编辑 /etc/resolvconf/resolv.conf.d/head
立即生效 运行 sudo resolvconf -u
验证 cat /etc/resolv.conf + nslookup

完成后,apt install、Kafka 连接等依赖网络解析的功能将恢复正常。

相关推荐
2401_8734794018 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
守城小轩18 小时前
基于Chrome140的Yahoo自动化(关键词浏览)——需求分析&环境搭建(一)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
charlie11451419119 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler0119 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy11319 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息19 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
切糕师学AI19 小时前
深入解析 Zsh 与 Oh-My-Zsh:打造高效现代化终端
linux·终端·zsh
切糕师学AI20 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
日取其半万世不竭20 小时前
LVM 逻辑卷管理:不停机扩容磁盘的正确方式
运维·服务器
老黄编程21 小时前
大型工地实时数据处理与三维重构系统方案
人工智能·ubuntu·信息可视化·重构·入侵检测·大型数据集中处理