从 Ubuntu 17.10 中的 resolv.conf 中删除搜索条目

从 Ubuntu 17.10 中的 resolv.conf 中删除搜索条目

我的 /etc/resolv.conf(以及 /run/systemd/resolve/resolv.conf)包含一个我没有放在那里并且我不想放在那里的条目。这似乎searchwifi.ns.nl我现在遇到的一个问题有关,即我无法解析一些网址。resolv.conf 文件由 systemd-resolved 管理,并告诉我不要手动编辑它们。如果我这样做,无论如何都不会发生任何变化,如果我重新启动 sytsemd-resolvd,它会将 resolv.conf 文件更改回其原始状态。

search wifi.ns.nl条线可能是在我尝试连接到由 运营的强制 wifi 网络后出现的ns.nl。连接到 wifi 后,但在接受网络门户上的条款之前,我尝试使用 SSH 连接到服务器。这没有用,通过 wifi 访问任何其他网站也不起作用。当我回到家并连接到我的家庭网络时,连接到我想要连接的服务器仍然不起作用,systemd-resolve现在显示resolve call failed: No appropriate name servers or networks for name found该服务器和 *.wifi.ns.nl。(我仍然可以使用 ip 地址连接到服务器,并且我可以dig在远程 dns 服务器上解析名称,因此问题只是我的本地 DNS 解析器。)

如果我这样做,systemd-resolve --status它还会告诉我“wifi.ns.nl”是我的全球 DNS 域之一。

显然某个地方的某个东西记住了某些设置,可能与强制 wifi 网络和有关wifi.ns.nl。我试过重新启动、、,systemd-resolved但搜索条目仍然存在。networkingnetwork-manager

(我也做了一个,除了 resolv.conf 文件之外,sudo grep -R wifi.ns.nl /etc它在其他地方都找不到“wifi.ns.nl” )/etc

除了重新启动系统外,我怎样才能删除该搜索条目?

答案1

这似乎是描述的错误这里。如果同时安装了 systemd-resolved 和软件包,resolvconf它们就会争夺谁来管理/etc/resolv.conf。如果该文件中有任何search行,这些域就会因为我还不太明白的原因而中断。

在我的例子中,安装了这两个软件包后,它就变成了一个符号链接,/etc/resolv.conf并且重新启动服务后,问题就解决了。/run/resolvconf/resolv.confresolvconf/run/systemd/resolve/stub-resolv.confsystemd-resolved

答案2

我有同样的问题,最简单的解决方案是编辑/etc/resolve.conf并删除“搜索”行。

无需重新启动,一切即可恢复正常运行。

然而,这并不是解决方案,因为每当我使用 vpn 或将笔记本电脑连接到工作网络时,这种情况就会再次发生。我也不明白这个错误(甚至还没有尝试过,因为自从从 17.04 上的 Unity 切换到 17.10 上的 Gnome 以来,我遇到了太多其他新烦恼)。但这是一个无需重启即可解决您的(或稍后出现的其他人)问题的答案。

相关内容