升级17.04到17.10后DNS无法正常工作

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

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

显然,当系统本身无法解析任何Web地址时,诊断此function的能力有限。 我在手机上进行了一些谷歌搜索,我发现的大部分答案似乎都建议关闭dnsmasq。 但是,dnsmasq已经关闭了。 但/etc/resolv.conf显示127.0.1.1,这似乎意味着它期待dnsmasq正在运行。

我通过编辑/etc/NetworkManager/NetworkManager.conf并添加来打开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来说,这显然是错误的。 上一张海报得到的错误信息来自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

我遇到了同样的问题,看到了这个看resolvconf

 Oct 20 00:36:17 drew-8570w resolvconf[708]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf 

重新创建符号链接修复它。 现在默认使用127.0.0.53?

 $ ls -al /etc/resolv.conf lrwxrwxrwx 1 root drew 27 Apr 6 2017 /etc/resolv.conf -> /run/resolvconf/resolv.conf $ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN # 127.0.0.53 is the systemd-resolved stub resolver. # run "systemd-resolve --status" to see details about the actual nameservers. nameserver 127.0.0.53