David Asked: 2024-07-09 04:32:33 +0800 CST2024-07-09 04:32:33 +0800 CST 2024-07-09 04:32:33 +0800 CST 升级到 Ubuntu 23.10 和 Ubuntu 24.04 后 DNS 停止解析 772 我刚刚将我的 Ubuntu 22.04 升级到 23.10,然后升级到 24.04。 他们停止解析 DNS 查询。 他们正在使用 systemd-resolved 和 resolvconf。 dns 2 个回答 Voted Best Answer David 2024-07-09T04:32:33+08:002024-07-09T04:32:33+08:00 如果您的/etc/resolv.conf文件显示您的名称服务器,127.0.0.53那么您很可能正在使用 resolvconf 和 systemd-resolved。 1.确保已安装 systemd-resolved: sudo apt install systemd-resolved (您可能需要临时更改您的 resolve.conf 以直接使用知名的 dns 服务器,例如 Google 的 8.8.8.8、CloudFlare 的 1.1.1.1 或其他) 2. 确保您的配置文件中包含对 DNS 服务器的引用。 对于使用 Debian 风格/etc/network/interfaces配置文件的系统,请确保已dns-nameservers在 iface 部分进行设置。例如: auto eth0 iface eth0 inet static address 1.2.3.4 netmask 255.255.255.0 gateway 1.2.3.1 dns-nameservers 8.8.8.8 如果你有较新的安装,你可以使用 Netplan。配置文件通常为/etc/netplan/01-netcfg.yaml network: version: 2 renderer: networkd ethernets: enp1s0: addresses: - 1.2.3.4/24 routes: - on-link: true to: 0.0.0.0/0 via: 1.2.3.1 nameservers: addresses: - 8.8.8.8 - 1.1.1.1 3. 将更改恢复到 resolv.conf 撤消步骤 1 中对文件所做的任何更改resolv.conf。也就是说,带有以下内容的行nameserver应该只是nameserver 127.0.0.53 4. 重启服务 重启网络 systemctl restart systemd-networking 重启已解决 systemctl restart systemd-resolved JMKõ 2024-07-15T03:26:42+08:002024-07-15T03:26:42+08:00 将我的 22.04 升级到 24.04 时也遇到了类似的问题。重启后,无法解析 DNS(但使用 IP 地址进行 ping 可以正常工作)。尝试了类似的方法手动修复 resolv.conf(确实“损坏”,并重新安装了 systemd-resolved)。不幸的是,这些步骤对我不起作用。 能够通过以下方法解决: 执行“sudo apt update”。注意您的 Ubuntu 安装尝试访问的服务器。 使用另一台计算机或其他设备(我使用了手机)查找上面识别的服务器的 IP 地址。 编辑 /etc/hosts 文件以包含这些 IP 地址。我使用了“sudo gedit /etc/hosts” 重新启动安装并重新登录 现在使用“sudo apt install --reinstall resolvconf”重新安装“resolvconf”。我注意到这还触发了 systemd-resolved 的更新。 重启。 完成这些步骤后,DNS 解析即可运行。我进一步执行了“sudo apt update”和“sudo apt upgrade”,以“确保”软件包已安装。我重新启动后,系统似乎运行正常。提前为我对软件包和具体编辑缺乏技术细节而道歉 - 这不是我的强项。但我相信将所需的 Ubuntu 服务器手动放入 hosts 文件的整体方法允许系统实用程序完成其工作以修复安装。
如果您的
/etc/resolv.conf
文件显示您的名称服务器,127.0.0.53
那么您很可能正在使用 resolvconf 和 systemd-resolved。1.确保已安装 systemd-resolved:
(您可能需要临时更改您的 resolve.conf 以直接使用知名的 dns 服务器,例如 Google 的 8.8.8.8、CloudFlare 的 1.1.1.1 或其他)
2. 确保您的配置文件中包含对 DNS 服务器的引用。
对于使用 Debian 风格
/etc/network/interfaces
配置文件的系统,请确保已dns-nameservers
在 iface 部分进行设置。例如:如果你有较新的安装,你可以使用 Netplan。配置文件通常为
/etc/netplan/01-netcfg.yaml
3. 将更改恢复到 resolv.conf
撤消步骤 1 中对文件所做的任何更改
resolv.conf
。也就是说,带有以下内容的行nameserver
应该只是nameserver 127.0.0.53
4. 重启服务
重启网络
systemctl restart systemd-networking
重启已解决
systemctl restart systemd-resolved
将我的 22.04 升级到 24.04 时也遇到了类似的问题。重启后,无法解析 DNS(但使用 IP 地址进行 ping 可以正常工作)。尝试了类似的方法手动修复 resolv.conf(确实“损坏”,并重新安装了 systemd-resolved)。不幸的是,这些步骤对我不起作用。
能够通过以下方法解决: