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


10

目前我的/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不能手工编辑,我怎么能做出这种改变?


有关如何使用此功能的说明,请参见askubuntu.com/a/208027/15811
Rinzwind

Answers:


7

首先,/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以外的其他工具生成的,则找出是什么工具在生成文件并配置该工具。

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

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

以下说明仅适用于使用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



1

检查您的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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.