升级至 20.04 后 DNS 解析器停止工作

升级至 20.04 后 DNS 解析器停止工作

Ubuntu 升级到 20.04 后立即/etc/resolv.conf包含:

nameserver 127.0.2.1

并且不起作用。将其更改为以下选项后即可工作:

nameserver 127.0.0.53

但每次重启后它都会被覆盖,我必须再次更改它。

我已经在这个盒子里安装了 Ubuntu 15.10,并定期对其进行升级,这是第一次解析器出现这样的错误行为。真淘气!

如何永久修复此问题?

编辑

输出$ ls -al /etc/resolv.conf

lrwxrwxrwx 1 root root 29 lis  1  2015 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

内容/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
search wroclaw.vectranet.pl

(以前是nameserver 127.0.2.1重启后,但如果不改成,127.0.0.53我就写不出这篇文章了;)

内容/etc/hosts

127.0.0.1   localhost
127.0.1.1   marcin-Lenovo

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

#188.165.239.159 wkaliszu.pl

#10.10.9.157    mskorzewski.axit.pl
X.X.X.X mskorzewski.axit.pl

X.X.X.X是某个真实的 IP 地址。)

答案1

我刚刚安装了 Ubuntu 20.04,不得不删除 netplan(我有自己的理由)。然后我有一个名称解析问题需要解决。以下是我修复它的方法:

编辑/etc/systemd/resolved.conf并更改/添加此行:

DNS=1.1.1.1

(我在这里使用 CloudFlare 的 DNS 服务器。)

/etc/resolv.conf然后像这样更改符号链接:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

最后,重启。希望这能有所帮助!

答案2

我找到了解决这个问题的最简单的方法。

这似乎与 Ubuntu 早期版本(至 20.04)处理 DNS 版本的方式的差异有关。

升级过程中的某些东西无法正确处理更改,因此最简单的方法是通过重新安装几个软件包来强制解决问题

apt install --reinstall resolvconf network-manager libnss-resolve

重新启动系统它就会立即运行。

答案3

TheMSG / Eliah Kagan 我认为这个被接受的答案中的第二个代码块(创建符号链接的行)有一个拼写错误。

我试过了,但该文件在我新更新的 Ubuntu 20.04 机器上不存在。

我必须调整您的行以使用 Marcin Skórzewski 在上面的评论中提到的文件:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

(Markdown 帮助没有说明如何输入用户名,如果我做得不对,请原谅。我试图以评论的形式来做这件事,但我没有足够的代表。)

答案4

我在将虚拟机从 20.04 升级到 20.10 后遇到了这个问题。我尝试了Loadn Abox 提出的解决方案

apt install --reinstall resolvconf network-manager libnss-resolve

不幸的是,这对我来说不起作用。唯一的解决方案是编辑/etc/systemd/resolved.conf并添加条目:

[Resolve] 
DNS=192.168.2.1

相关内容