Ste*_*ler 5 dns resolv.conf static-ip resolvconf
我的台式计算机配置了静态 IP 地址:

但是,/etc/resolve.conf不断被覆盖:
nameserver 127.0.0.1
search localdomain example.com
Run Code Online (Sandbox Code Playgroud)
这似乎会定期发生或在我运行时发生sudo resolvconf -u。
我真的很想example.com从 dns 搜索域列表中删除。我曾经把它放在那里,但现在它引起了问题。我似乎无法把它弄出来。我不知道它是从哪里来的,也不知道为什么它总是被放回去。据我所知example.com,我的/etc目录中的任何地方都不再有任何内容。
什么将此搜索域放入我的resolv.conf文件中,我该如何防止它这样做?
小智 3
对于 ipv4,@stalet 的编辑建议/etc/dhcp/dhclient.conf应该可行;还尝试从 中删除domain-search和。验证设置是否有效。domain-namerequest/var/lib/NetworkManager/dhclient-[connection-uuid]-[ifname].lease
然而,不需要的搜索域可能来自 ipv6 dhcp 服务器,正如我在 16.04/Xenial 上发现的那样。如果 NetworkManager 的dhclient -6命令成功并且 dhcp 服务器设置了搜索域,NetworkManager 会将这些域合并到 ipv4 搜索域列表中。
在逐个连接的基础上解决此问题的一个简单方法是将连接的 ipv6 设置配置为“方法:自动,仅地址”甚至“方法:忽略”。
为每个连接设置这个可能会变得很烦人,我看起来很努力,但找不到全局解决这个问题的方法。添加supersede dhcp6.domain-search和删除request dhcp6.domain-search似乎/etc/dhcp/dhclient.conf没有帮助。此外,将该文件复制到 会/etc/dhcp/dhclient6.conf导致 NetworkManager 将其正确模板化为/var/lib/NetworkManager/dhclient6-[ifname].conf,但 NetworkManager 坚持添加also request dhcp6.domain-search;,并且仍然添加不需要的搜索域。
小智 2
该search内容由 dhcp 提供,并且可以/etc/dhcp/dhclient.conf通过用空值取代这些变量来覆盖。
在底部添加这些行/etc/dhcp/dhclient.conf
supersede domain-name "";
supersede domain-search "";
supersede search "";
Run Code Online (Sandbox Code Playgroud)
要使更改影响您的系统,您可以重新连接到网络或重新启动网络管理器服务。
sudo service network-manager restart
Run Code Online (Sandbox Code Playgroud)