如何让 Ubuntu 服务器 18.04 使用 /etc/network/interfaces 中的 dns-nameservers?

如何让 Ubuntu 服务器 18.04 使用 /etc/network/interfaces 中的 dns-nameservers?

在 Ubuntu 服务器 18.04 上,我已禁用 netplan 并使用 /etc/network/interfaces。

sudo apt-get -y install ifupdown

cat <<EOM  | sudo bash -c 'cat > /etc/network/interfaces'
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.5.5
netmask 255.255.255.0
gateway 192.168.5.254
dns-nameservers 192.168.5.53 192.168.5.5
EOM

sudo ifdown --force eth0 lo && sudo ifup -a

sudo systemctl stop networkd-dispatcher
sudo systemctl disable networkd-dispatcher
sudo systemctl mask networkd-dispatcher
sudo apt-get -y purge nplan netplan.io

但显然 systemd-resolve 没有考虑到这个dns-nameservers领域。

其中/etc/resolv.conf只包含以下内容:

nameserver 127.0.0.53

的输出ls -la /etc/resolv.conf为:

lrwxrwxrwx 1 root root 39 Oct  2 15:28 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

的输出sudo systemd-resolve --status | grep -A3 Server为空。

我可以像这样定义 DNS 服务器/etc/systemd/resolved.conf

[Resolve]
DNS=192.168.5.53 192.168.5.5

那么的输出sudo systemd-resolve --status | grep -A3 Server是:

     DNS Servers: 192.168.5.53
                  192.168.5.5
      DNSSEC NTA: 10.in-addr.arpa
                  16.172.in-addr.arpa

并且它们被正确使用并出现在 中/etc/resolv.conf

如何让dns-nameservers配置行工作?

答案1

resolvconf您也需要这个包裹。

因此,要完全摆脱 netplan:

  1. 配置/etc/network/interfaces
  2. 安装 ifupdown 和相关工具:$ sudo apt install ifupdown resolvconf
  3. 删除 netplan:$ sudo apt remove nplan netplan.io

答案2

如何使 dns-nameservers 配置行工作?

通过状态命令可以看到,该线路运行正常:

DNS Servers: 192.168.5.53
              192.168.5.5

符号链接 /etc/resolv.conf 显示:

nameserver 127.0.0.53

这表明 dnsmasq 正在此处运行:https://help.ubuntu.com/community/Dnsmasq

简而言之,这意味着域名查找将首先查询本地缓存,以查看该站点是否曾经被访问过。127.0.0.xx 在此上下文中为“本地”。如果是,本地缓存将提供 IP 地址。如果该站点之前没有被访问过,并且本地缓存中没有可用的引用,则只会使用列出的 DNS 名称服务器;在您的情况下,将使用 192.168.5.53 和 192.168.5.5。

您上面给出的读数完全正常且在意料之中。

答案3

查看答案这里

您需要编辑/etc/systemd/resolved.conf文件来更改 Ubuntu 18.04 上的 DNS。

答案4

网络接口文件在 ubuntu 18 上发生了很大变化。我建议你查看这个网站或另一个网站,以正确配置你的网络适配器

如何配置 ubuntu 18 网络

无论如何,您也可以(这是最简单的方法)从设置中的网络管理器配置您的 IP 和名称服务器。

相关内容