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