resolveconf -u 不断将不需要的搜索域添加到 resolve.conf 中

resolveconf -u 不断将不需要的搜索域添加到 resolve.conf 中

我的台式计算机配置了静态 IP 地址:

然而,/etc/resolv.conf不断被覆盖:

nameserver 127.0.0.1
search localdomain example.com

这似乎会定期发生或在我跑步时发生sudo resolvconf -u

我真的很想从 dns 搜索域列表中删除它。我以前有它,但现在它造成了问题。我似乎无法将它删除。我不知道它来自哪里,也不知道为什么它总是被放回去。据我所知,在我的example.comdns 搜索域列表中找不到任何指向example.com/ETC目录。

将此搜索域放入我的解析配置文件文件以及如何阻止它这样做?

答案1

对于 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 "";

要使更改影响您的系统,您可以重新连接到您的网络或只需重新启动网络管理器服务。

sudo service network-manager restart

答案3

我今天看到了 resolveconf 1.78ubuntu5 的更新(https://launchpad.net/ubuntu/xenial/+source/resolvconf/+changelog),引用此 Launchpad 错误,https://bugs.launchpad.net/maas/+bug/1711760。也许这个问题现在已经解决了?

相关内容