我正在使用全新安装的 Ubuntu,遇到了一个奇怪的问题,我认为该问题与 DNS 有关,但我不知道如何解决它。简而言之,我连接到网络,但无法拉下任何网站。
不过我要先说的是,我的所有其他设备(包括使用我安装到问题 PC 上的相同 iso 文件创建的 Ubuntu VirtualBox 实例)都可以正常连接和上网。此外,更改网络 UI 的“编辑连接”中的设置没有任何效果。
问题的关键如下。如果我 ping 一个 IP,例如 8.8.8.8,一切看起来都正常。但是,如果我 ping 或对主机名使用 host 命令,则会失败。
我尝试更改 resolv.conf,即使我知道重新启动后更改将被覆盖,只是为了看看它是否会改变行为,而且它确实改变了。
但是,ping 结果并没有改变,我的浏览器也无法访问互联网。
我尝试了网上能找到的所有解决方案,但都无济于事。我真是绞尽脑汁,所以任何帮助我都非常感谢。
该网站告诉我,我还不允许在问题中嵌入图像,因此这里有一些在完成上述操作时终端的屏幕截图的链接:
答案1
值得庆幸的是,我找到了解决这个问题的方法。或者更准确地说,我找到了一篇文章,作者在 Ubuntu 17.04 上也遇到过同样的问题,幸运的是,他比我更有知识。
大意是,这确实是 DNS 问题。问题是由名为“systemd-resolved”的服务引起的。更具体地说,该服务的 DNSSEC 功能与 resolv.conf 配合不佳。解决方法是禁用该功能(不安全)或将其替换为另一个名为“unbound”的服务。就我而言,我按照作者的步骤禁用了 DNSSEC,它立即解决了问题。这足以证明这就是问题所在;因此,我按照他的步骤将 systemd-resolved 替换为 unbound。我现在可以放心地浏览互联网了。
以下是文章如果有人愿意提供一些深入的技术解释,我会很高兴。否则,感谢您的收看。