如何从 resolv.conf 中删除 localhost 名称服务器

如何从 resolv.conf 中删除 localhost 名称服务器

目前我的/etc/resolv.conf读物:

nameserver 127.0.0.1  
nameserver 10.255.0.101  
nameserver 10.255.0.11  

我希望它改为:

search [my domain]  
nameserver 10.255.0.101  
nameserver 10.255.0.11  
nameserver 208.67.222.222  
nameserver 208.67.220.220  

由于和都/etc/resolv.conf无法/etc/resolv.conf.d/head手动编辑,我该如何进行更改?

答案1

第一的,/etc/resolvconf/resolv.conf.d/head 手动编辑。文件中的注释指出,DO NOT EDIT THIS FILE BY HAND不适用于/etc/resolvconf/resolv.conf.d/head其本身,但适用于/etc/resolv.conf前者所附加的。

尽管如此,在正常情况下您不必编辑/etc/resolvconf/resolv.conf.d/head

这些文件/etc/resolvconf/resolv.conf.d/head/etc/resolvconf/resolv.conf.d/tail被提供作为在特殊情况下需要强制将头部和尾部放到生成的文件上的一种方式resolv.conf,但是如果您正确使用 resolvconf 并且在正常情况下,那么您不必这样做。

你说文件内容是

nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11

该行的存在nameserver 127.0.0.1表明您正在运行本地转发名称服务器,例如 dnsmasq。上述文件不是 resolvconf 在这种情况下通常生成的文件。它通常会生成如下文件。

# 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
nameserver 127.0.0.1
search foo.com

我猜想您的系统上/etc/resolv.conf不是符号链接,../run/resolvconf/resolv.conf而是一个纯文件,它可能由 resolvconf 以外的其他程序生成,也可能不由 resolvconf 生成。如果文件完全是静态的,则只需对其进行编辑,使其看起来符合您的要求即可。如果文件是由 resolvconf 以外的其他工具生成的,则找出生成该文件的工具并配置该工具。

或者,恢复符号链接/etc/resolv.conf -> ../run/resolvconf/resolv.conf并正确配置 resolvconf。

如何从 resolv.conf 中删除本地主机名称服务器?

下列说明仅适用于使用 resolvconf 管理 的情况/etc/resolv.conf,即/etc/resolv.conf是 的符号链接../run/resolvconf/resolv.conf

如果该行nameserver 127.0.0.1位于其中一个文件中,/etc/resolvconf/resolv.conf.d/则将其从那里删除。

否则,该行来自某个本地运行的名称服务器。请卸载该名称服务器,或将该名称服务器配置为不向 resolvconf 注册地址 127.0.0.1。特别是,如果您在本地运行 BIND 9 名称服务器,请将其删除或设置RESOLVCONF=no/etc/default/bind9

参考:https://bugs.launchpad.net/debian/+source/bind9/+bug/933723

答案2

尝试

sudo vi /run/resolvconf/interface/NetworkManager

删除或替换名称服务器 127.0.0.1,然后使用

sudo resolvconf -u.

答案3

检查你的 NetworkManager 配置:

sudo NetworkManager --print-config

如果有

dns=systemd-resolved

然后编辑设置

/run/resolvconf/interface/systemd-resolved

并更新

sudo resolvconf -u

就我而言,还有

/run/resolvconf/interface/tun0.openvpn

文件(由 OpenVPN 创建),可以安全删除以避免干扰:

sudo rm /run/resolvconf/interface/tun0.openvpn

相关内容