我最近更新了 Ubuntu 16.04(通过系统更新程序),并立即注意到几乎无法访问任何网站(我一直收到 DNS 错误)。此时,我安装了 Ubuntu 17.10(而不是试图找出 16.04 的问题),作为一个全新安装。它运行良好,直到我进行系统更新,现在我的 17.10 安装也遇到了同样的问题。
我在网上查了一下,发现 17.04 在发布时也存在类似的问题,但这个问题已经修复了。我在网上找到的建议解决方法是:
1套DNSSEC=off
2)从systemd-resolved
不受约束
这两种方法都可以在这篇文章Ubuntu 17.04 systemd DNS 问题中找到。
我的问题是:
第一个选项有多安全?
从绑定更改
systemd-resolved
为非绑定会导致计算机间歇性地断开与 wifi 的连接(不会抛出错误)。这是非绑定的已知问题吗?可以修复吗?这个问题似乎是 17.04 中问题的重复,在 17.10 中是否有已知的解决方案?我在 Launchpad 上找不到任何相关参考。
编辑:我忘了提到设置dnssec=off
确实可以解决这个问题。
答案1
我怀疑这可能与您的网络适配器或适配器驱动程序有关。我在多台虚拟机上运行 Ubuntu 17.10,并且将其作为我的 HP Spectre X360 笔记本电脑的主要主机操作系统。我还向大约 30 名学生教授网络安全,每个学生都在 VMWare 和 Virtual Box 上使用多台 Ubuntu 虚拟机,还有少数学生在他们的硬件上本地运行它。他们都没有遇到过这个问题。
如果您使用的是笔记本电脑,有时更换网络适配器可能会很困难,但恢复使用旧版本的驱动程序可能会更好。
抱歉,但情况似乎有点棘手 :-/
编辑:添加额外信息
我的意思是适配器驱动程序更有可能是罪魁祸首,这只是一个有根据的猜测。操作系统(以及位于其上的应用程序)打包请求后,会将其传递给 TCP-IP 堆栈,后者执行 DNS 查找并将其发送出去。听起来这就是事务中断的地方。
它可以可能是由系统上的某些软件(如代理)或甚至是键盘记录器或木马等恶意程序引起的,但我的第一猜测是网络适配器驱动程序。
至于 DNSSEC,我不会关闭它。这可以防止 DNS 缓存中毒攻击。这就是让我想到病毒或木马的原因。
有可能有什么东西想要关闭你的 DNSSEC,但这个错误太过隐晦,无法构成有效攻击。如果是病毒,那么在我看来,它只会关闭 DNSSEC 本身,而不是产生一个奇怪的问题,需要谷歌搜索才能确定在文本文件中禁用 DNSSEC 是一种有效的解决方法。这似乎对普通用户(病毒的目标)要求太高了。
此外,您说您已经执行了全新安装,然后问题在更新后再次出现,这表明不是病毒,而是网络适配器/驱动程序组合。