升级后的 Ubuntu 服务器上的 DNS 配置在哪里?

升级后的 Ubuntu 服务器上的 DNS 配置在哪里?

我有一台安装了 Ubuntu 16.04 的 Ubuntu VM。它可以正常访问网络,并能解析 DNS。

然后我将其升级do-release-upgrade到 Ubuntu 18.04、Ubuntu 20.04,然后是 Ubuntu 22.04。每次升级之间都会重新启动。因此,我必须假设 DNS 在 20.04 升级后正常工作,因为它能够下载和处理软件包更新。

现在,使用 22.04,当我尝试通过 进行查找时出现SERVFAIL错误nslookup

$ nslookup google.com
Server:         127.0.0.53
Address:        127.0.0.53#53

** server can't find google.com: SERVFAIL

错误是指 DNS 服务器 127.0.0.53,据我所知,这是一个环回地址。但是,我找不到在哪里可以更改它。

大多数网站都说我应该查看 netplan.yaml 配置,但是 netplan 文件夹是空的:

/etc/netplan$ ls -la
total 16
drwxr-xr-x   2 root root  4096 Sep  7  2021 .
drwxr-xr-x 116 root root 12288 Nov 25 13:32 ..

我尝试编辑/etc/network/interfaces并更改以下dns-nameservers行:

auto eth0
iface eth0 inet static
address 10.100.99.xxx
netmask 255.255.255.0
gateway 10.100.99.yyy
dns-nameservers 8.8.8.8

经过此更改后,我重新启动了networking服务并重新启动 - 没有变化。

我知道我可以编辑/etc/resolv.conf- ,它目前反映的是 127.0.0.53 地址,而且我能够立即让 DNS 服务工作。此更改在重启后不会生效。

systemctl status network-manager揭示network-manager.service could not be found

我在哪里可以更改我的 DNS 设置?

答案1

使用 nmcli,例如:nmcli device mod $deviceName ipv4.dns "8.8.8.8 8.8.4.4".nmcli device列出定义的设备。

要检查 DNS:nmcli device show | grep IP4.DNS

编辑:systemd-resolved 服务会覆盖/etc/resolv.conf。如果它正在运行,您可以设置 DNS/etc/systemd/resolved.conf并使用 重新启动服务systemctl restart systemd-resolved

相关内容