在 Debian 12 中,都知道通过修改/etc/resolv.conf文件来设置系统的DNS,但是重启后会自动恢复原来的设置。查阅了大量资料,终于解决。正确方法如下:

/etc/resolv.conf 是 Linux 系统中用于配置 DNS 解析器的文件。确认 systemd-resolved 或 NetworkManager 服务是否仍在管理 DNS 设置

1、检查 systemd-resolved 服务的状态:

systemctl status systemd-resolved

如果服务正在运行,你会看到 active (running) 的状态信息。

2、检查 NetworkManager 服务的状态:

systemctl status NetworkManager

类似上面。

使用 resolvconf
确认前面服务是否开放将其关闭后,

在 Debian 12 中,要永久设置 DNS 服务器为 8.8.8.8 和 8.8.4.4,你可以按照以下步骤操作:

1、打开 /etc/resolvconf/resolv.conf.d/head 配置文件,

sudo vi /etc/resolvconf/resolv.conf.d/head

如果没有 /etc/resolvconf/ 目录,记着安装 resolvconf 包:sudo apt install resolvconf
2、在文件中添加以下两行,指定你希望使用的 DNS 服务器地址:

nameserver 8.8.8.8
nameserver 8.8.4.4

3、保存更改后,重启 resolvconf 服务:

sudo systemctl restart resolvconf.service

或者重启:

sudo reboot

4、重启后,查看 /etc/resolv.conf 文件:

cat /etc/resolv.conf

结尾说明
安装完成后,你可以使用 /etc/resolvconf/resolv.conf.d/ 文件来管理 DNS 解析设置。这些文件允许你修改 /etc/resolv.conf 文件的内容:

  • head 文件的内容会被添加到自动生成的 /etc/resolv.conf 文件的最前面。
  • base 文件包含基本的解析器信息,当没有接口配置时,这个文件中的行也会被包含在解析器配置文件中。
  • tail 文件的内容会被添加到自动生成的 /etc/resolv.conf 文件的最后面。


有时候重启刷新是其他网络管理的服务对其覆盖操作,建议是逐一排查能够自启动的服务,官方还存在一种硬核手法,就是直接限制文件的可写,但是这种方法可能会导致某些服务异常

Debian 官方建议参考:https://wiki.debian.org/resolv.conf
MJJ参考:https://www.nodeseek.com/post-128750-1
https://www.nodeseek.com/post-398450-2#16,懒得测试了。

相关新闻

发表回复

Please Login to Comment
客服一线

店铺运营:13293092970
网站推广:13293092970
网站建设:13293092970

QQ客服
微信客服
微信客服
分享本页
返回顶部
做1688运营7天升级4A店铺!详情请咨询客服!