Debian 9 找不到仅 IPv6 的 DNS 名称的 AAAA 记录

Debian 9 找不到仅 IPv6 的 DNS 名称的 AAAA 记录

我有一个仅支持 AAAA 的 DNS 名称:superdns.cyberfusion.cloudnslookup在 Debian 9 上使用不带选项,我得到No answernslookup在 Ubuntu 上使用不带选项,我得到正确答案(AAAA 记录)。但我无法在 Debian 10 上重现此行为...

Ubuntu 18.04:

$ nslookup superdns.cyberfusion.cloud
Server:     2a0c:eb00:0:f7:185:233:175:142
Address:    2a0c:eb00:0:f7:185:233:175:142#53

Non-authoritative answer:
Name:   superdns.cyberfusion.cloud
Address: 2a0c:eb00:0:f7:185:233:175:211

我的网络中的 Debian 9:

$ nslookup superdns.cyberfusion.cloud
Server:     2a0c:eb00:0:f7:185:233:175:142
Address:    2a0c:eb00:0:f7:185:233:175:142#53

Non-authoritative answer:
*** Can't find superdns.cyberfusion.cloud: No answer

我的网络中的 Debian 10:

$ nslookup superdns.cyberfusion.cloud
Server:     185.233.175.142
Address:    185.233.175.142#53

Non-authoritative answer:
Name:   superdns.cyberfusion.cloud
Address: 2a0c:eb00:0:f7:185:233:175:211

Debian 9外部我的网络使用 Cloudflare DNS:

$ nslookup superdns.cyberfusion.cloud
Server:     1.1.1.1
Address:    1.1.1.1#53

Non-authoritative answer:
*** Can't find superdns.cyberfusion.cloud: No answer

因此,我开始研究这三台机器之间的差异,但没有发现任何与查找相关的重大配置错误:

gai.conf所有机器上都相同:

label ::1/128 0
label ::/0 1
label 2002::/16 2
label ::/96 3
label ::ffff:0:0/96 4
label fec0::/10 5
label fc00::/7 6

systemd-resolved所有机器上均无:

$ systemctl status systemd-resolved
● systemd-resolved.service - Network Name Resolution
   Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-resolved.service.d
           └─resolvconf.conf
   Active: inactive (dead)

而且,如前所述,我已经在两台使用不同解析器的 Debian 9 机器上进行了测试。

我发现的唯一共同特征是,行为“错误”的机器运行 Debian 9,而行为“正确”的机器运行 Ubuntu 或 Debian 10。我在 Debian 10 更新日志中搜索了与 IPv6 相关的更改,但找不到太多。

此行为并非特定于nslookup。我使用了一些 Ruby DNS 库,它在找不到我的 AAAA 记录的机器上找不到 AAAA 记录nslookup,但在找到我的 AAAA 记录的机器上找到了 AAAA 记录nslookup,因此这一定是系统范围的设置。

问题:除此之外/etc/gai.conf,哪种机制控制是否查找 AAAA 记录?

答案1

如果您参考 dnsutils 包中包含的 nslookup:

  • Debian 9:9.10.3
  • Debian 10:9.11.5
  • Ubuntu 18.04:9.11.3

我相信您在 Debian 9(9.10.3)中缺少的功能是通过此提交引入的:

4420. [func] nslookup 现在默认查找 AAAA 以及 A。

随后它作为测试版和候选版发布,这两个版本后来都成为 bind 及其实用程序的稳定版本 9.11.0。

为了获得 Debian 9 的更高版本,您可以查看 stretch-backports 存储库,它将使您能够在 Debian 9 上以干净的方式安装 9.11.5。

相关内容