如何从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
,如何进行此更改?
首先, 可以手动编辑/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,请将其删除或在/etc/default/bind9
设置RESOLVCONF=no
。
参考: https : //bugs.launchpad.net/debian/+source/bind9/+bug/933723
尝试
sudo vi /run/resolvconf/interface/NetworkManager
删除或替换nameserver 127.0.0.1,然后使用
sudo resolvconf -u.
检查您的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