问题描述
我刚刚将笔记本电脑从 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
来解决。