当前位置: 首页>>技术教程>>正文


17.04 升级到 17.10 后 DNS 不工作

, , ,

问题描述

我刚刚将笔记本电脑从 Xubuntu 17.04 升级到 17.10。\n最终重新启动后,DNS 停止工作。这显然是有问题的!我可以 ping 已知的 IP 地址;只是没有DNS解析。

我没有修改过任何 DNS 设置;据我所知,我之前有标准的 DNS 配置。它只是一台笔记本电脑,它使用 DHCP 从我的家庭 WiFi 路由器获取详细信息。

显然,当系统本身无法解析任何网址时,诊断此问题的能力就会受到限制。我在手机上进行了一些谷歌搜索,我发现的大多数答案似乎都建议关闭 dnsmasq。然而,dnsmasq 已经关闭。但 /etc/resolv.conf 显示 127.0.1.1,这似乎意味着它期望 dnsmasq 运行。

我通过编辑 /etc/NetworkManager/NetworkManager.conf \n 并添加来打开 dnsmasq

[main]
dns=dnsmasq

然后我运行了这个命令

sudo systemctl restart NetworkManager

我的 DNS 解析现在可以工作了。

然而,考虑到默认的 Ubuntu 配置不使用 dnsmasq,我实际上应该做什么来诊断和修复这个问题呢?

最佳方法

我今天将 Ubuntu 从版本 16.10 更新到 17.04 到 17.10。对我来说 DNS 也停止工作了。 resolv.conf 符号链接是

/etc/resolv.conf -> /run/NetworkManager/resolv.conf

对于 17.10,这显然是错误的。\n上一位发布者得到的错误消息来自 resolvconf -service 的输出:

$ systemctl status resolvconf

它给出了以下输出。

resolvconf[623]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf

通过删除原始符号链接,将 /run/resolvconf/resolv.conf 链接到 /etc/resolv.conf 并重新启动 resolvconf -service DNS 再次开始工作:

$ sudo rm /etc/resolv.conf
$ sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
$ systemctl restart resolvconf

有趣的是,即使在符号链接指向正确的文件之前,resolvconf-service 的退出代码也是成功的。

次佳方法

我发现这里报告了这个错误:https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1725840;请确认您也患有此病。它通过一个简单的 dpkg-reconfigure resolvconf 来解决。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14143.html,未经允许,请勿转载。