如何在 /etc/network/interfaces 中添加两个 IPv6 dns 名称服务器?

如何在 /etc/network/interfaces 中添加两个 IPv6 dns 名称服务器?

使用 IPv4,我可以毫无问题地添加两个 DNS 名称服务器,如下所示:

"dns-nameservers 8.8.4.4 8.8.8.8"

然后在我的 resolv.conf 上我得到:

   nameserver 8.8.4.4
   nameserver 8.8.8.8

但是,它不适用于 IPv6,只有第一个 IPv6 DNS 服务器出现在我的 resolv.conf 中,看:

"dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888"

但是,我的 resolv.conf 只保留第一个:

   nameserver 2001:4860:4860::8844

显然,Ubuntu(resolvconf / ifupdown)忽略了第二个 DNS 名称服务器,那么,如何修复它?!

这是我的/etc/network/interfaces文件:

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet6 static
        address 2800:210:0:4::2
        netmask 64
        gateway 2800:210:0:4::1
        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888

答案1

resolv.conf 中只能有三个名称服务器。如果您删除其中一个 IPv4 名称服务器,则会添加第二个 IPv6 名称服务器。

答案2

我最初以为这是一个错误,但我假设@Sander 的答案在这里是正确的。不过,我不确定 resolvconf 是否使用 resolv.h 或其他东西来获取最大名称服务器值。

一般来说,不要使用 resolv.conf,而是尝试以下几种方法:

您可以尝试按照建议编辑 dhclient.confGoogle 开发文档

prepend domain-name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;

对于 Ubuntu 上的这种方法,我相信当前路径是/etc/dhcp/dhclient.conf

同一文档还提供了使用 NetworkManager 的说明。如果您使用它,您可以右键单击网络图标,找到您的连接,然后选择“编辑”,然后转到 IPv6 选项卡。您可以在那里设置“其他 DNS 服务器”。

答案3

将其手动添加到 /etc/resolv.conf

 nameserver 2001:4860:4860::8844

 nameserver 2001:4860:4860::8888

答案4

尽管设置了 MAXNS,resolvconf 仍可以使用 /etc/resolvconf/resolv.conf.d 添加任意数量的 NS

在那里你会发现“head”,它包含在 /etc/resolv.conf 顶部的警告消息和一个名为“base”的文件(可能为空)。

您可以随意编辑这些文件以在 resolv.conf 中添加额外的行(例如“nameserver xx.xx.xx.xx”)。

添加 >MAXNS 行是否真的起作用是另一回事,但这就是如何将自定义内容强制放入 resolv.conf 本身。

相关内容