修改 /etc/resolv.conf
修改 /etc/resolv.conf
如果您们是因为国内 Docker 问题看到这个,建议看这篇 https://www.cnblogs.com/shadow-/p/18314235
/etc/resolv.conf
是 Linux 系统中用于配置 DNS 解析器的文件。确认 systemd-resolved
或 NetworkManager
服务是否仍在管理 DNS 设置
-
检查
systemd-resolved
服务的状态:systemctl status systemd-resolved
如果服务正在运行,你会看到
active (running)
的状态信息。 -
检查
NetworkManager
服务的状态:systemctl status NetworkManager
类似上面。
使用 resolvconf
确认前面服务是否开放将其关闭后,
在 Debian 12 中,要永久设置 DNS 服务器为 8.8.8.8
和 8.8.4.4
,你可以按照以下步骤操作:
-
打开
/etc/resolvconf/resolv.conf.d/head
配置文件,sudo vi /etc/resolvconf/resolv.conf.d/head
如果没有
/etc/resolvconf/
目录,记着安装resolvconf
包sudo apt install resolvconf
-
在文件中添加以下两行,指定你希望使用的 DNS 服务器地址:
nameserver 8.8.8.8 nameserver 8.8.4.4
-
保存更改后,重启
resolvconf
服务sudo systemctl restart resolvconf.service
或者重启
sudo reboot
-
重启后,查看
/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