我正在尝试更改我的 Debian 12 VPS 上的 DNS 设置,我的意思是,我想使用公共解析器(如 1.1.1.1)而不是我的 VPS 主机的解析器。
我记得在 Debian 11 中我可以编辑/etc/resolv.conf
文件,然后重新启动,resolvconf.service
一切都会正常工作。
然而,在 Debian 12 上,当我去编辑时,/etc/resolv.conf
它会出现一个大警告:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "resolvectl status" to see details about the actual nameservers.
那么,如果我无法编辑此文件,我可以在哪里配置我的解析器?
我尝试阅读man resolvconf
,man resolv.conf
但这让我更加困惑。
有任何想法吗?
答案1
警告(这显然是 chatgpt)
systemd-resolved
要在使用 systemd 作为其初始化系统的 Linux 系统(例如许多现代发行版,如 Ubuntu)上添加自定义 DNS(域名系统)名称服务器,您可以按照以下步骤操作:
编辑systemd-resolved配置文件:
systemd-resolved
使用文本编辑器(如nano
或 )打开配置文件进行编辑vi
。在大多数系统上,此文件位于/etc/systemd/resolved.conf
。您可能需要超级用户权限才能编辑此文件,因此请使用sudo
:sudo nano /etc/systemd/resolved.conf
添加名称服务器:
在配置文件中,您可以使用
DNS
指令指定 DNS 服务器。如果指令不存在,您可以添加它。如果指令已存在,您可以将其他 DNS 服务器附加到其中。例如,要添加 Google 的公共 DNS 服务器(8.8.8.8)和 Cloudflare 的 DNS 服务器(1.1.1.1),您可以执行以下操作:
[Resolve] DNS=8.8.8.8 1.1.1.1
您可以添加多个名称服务器,以空格分隔。
重启 systemd-resolved:
编辑配置文件后,您应该重新启动
systemd-resolved
服务以使更改生效:sudo systemctl restart systemd-resolved
验证更改:
systemd-resolved
您可以通过查询DNS 信息来验证您的自定义名称服务器是否正在使用。使用以下systemd-resolve
命令检查:sudo resolvectl status
您应该会在输出中的“DNS 服务器”下看到您的自定义名称服务器列表。
就这样!您已成功使用 添加自定义 DNS 名称服务器systemd-resolved
。这些更改应在重新启动后保留,并且您的系统将使用指定的 DNS 服务器进行名称解析。