从 17.04 升级到 17.10 后 DNS 不起作用

从 17.04 升级到 17.10 后 DNS 不起作用

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

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

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

我打开了 dnsmasq,通过编辑/etc/NetworkManager/NetworkManager.conf 和添加

[main]
dns=dnsmasq

然后我运行了这个命令

sudo systemctl restart NetworkManager

我的 DNS 解析现已正常工作。

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

答案1

我今天正在将 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有趣的是,甚至在符号链接指向正确的文件之前,退出代码就已经成功了。

答案2

我发现这里报告了此错误:https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1725840;请确认您是否也遇到了此问题。只需通过简单的 即可解决dpkg-reconfigure resolvconf

答案3

我遇到了同样的问题,并在查看 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

相关内容