在切换名称服务器之前测试 Glue 记录

在切换名称服务器之前测试 Glue 记录

我有一个类似 example.com 的域名,它是从 google domains 获得的。我创建了 2 个名称服务器,分别称为 dns1.example.com 和 dns2.example.com。我完成了它们的配置,并在它们上打开了端口 53(22 已经打开)。然后,我在 google domain dns 设置页面中将它们添加为胶水记录。现在有没有办法在切换名称服务器之前测试胶水记录?我尝试使用地址 dns1.example.com 通过 ssh 进入机器。但那不起作用,它无法解析主机。使用 IP 地址的 ssh 可以正常工作。为什么胶水记录无法解析主机?

我使用以下命令对其进行了测试:

dig @dns1.example.com example.com

我收到错误:

dig: couldn't get address for 'dns1.example.com': failure

如果我做

dig +norec @h.gtld-servers.net. example.com NS

我确实在附加部分中获得了列出具有正确 IP 地址的名称服务器。

为什么无法获取 dns1.example.com 的地址?

答案1

dns1.example.com 的粘合记录将不会在正常名称解析中使用。

您可以通过dig查找域的 NS RR 进行测试,粘合记录将出现在响应的“附加部分”中。例如:

$ dig NS google.com @g.gtld-servers.net
; <<>> DiG 9.10.3-P4-Ubuntu <<>> NS google.com @g.gtld-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7732
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 9
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.            IN  NS

;; AUTHORITY SECTION:
google.com.     172800  IN  NS  ns2.google.com.
google.com.     172800  IN  NS  ns1.google.com.
google.com.     172800  IN  NS  ns3.google.com.
google.com.     172800  IN  NS  ns4.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.     172800  IN  AAAA    2001:4860:4802:34::a
ns2.google.com.     172800  IN  A   216.239.34.10
ns1.google.com.     172800  IN  AAAA    2001:4860:4802:32::a
ns1.google.com.     172800  IN  A   216.239.32.10
ns3.google.com.     172800  IN  AAAA    2001:4860:4802:36::a
ns3.google.com.     172800  IN  A   216.239.36.10
ns4.google.com.     172800  IN  AAAA    2001:4860:4802:38::a
ns4.google.com.     172800  IN  A   216.239.38.10

答案2

在线检查工具(例如 Zonemaster)能够测试非授权区域。您可以指定要测试的区域和名称服务器,如果需要,还可以指定它们的 IP,这正是您的情况。

去尝试一下https://zonemaster.net/,选择“选项”,然后输入要测试的特定名称服务器(否则适用正常授权规则)。其常见问题解答中提供了解释https://zonemaster.net/en/faq#q12

你也可以使用https://www.dnsviz.net/并在开始测试之前进入分析选项,输入您要查询的具体权威名称服务器。

至于

为什么无法获取 dns1.example.com 的地址?

这是因为仅在需要时才插入粘合记录。

让我们假设example.com现在由dns1.example.org和提供服务dns2.example.org。权威域名服务器中没有粘合记录,.com因为您的域不使用辖区内域名服务器。如果您有一个条目,如果您的查询是或 ,您应该会得到结果,但如果您查询任何权威域名服务器,则不会dns1.example.com得到结果dns1.example.orgdns2.example.org.com

现在,只要您更改权威名称服务器,和由和example.com处理,那么只有的权威名称服务器才会开始为这两个名称提供粘合,否则解析将永远无法正常进行。但在您切换名称服务器之前,粘合是不需要的。dns1.example.comdns2.example.com.com

相关内容