您好,我刚刚为我的域名 example.org 设置了 DNS 服务器,其中包含 2 个名称服务器 ns1.example.org 和 ns2.example.org。我已尝试在我的注册商处为 ns1 和 ns2 设置胶合记录。
当我执行 dig example.org 时,它现在似乎可以工作,但是当我执行 whois example.org 时,它列出了 ns1.example.org 和 ns2.example.org,但没有列出它们的 IP 地址,而后者应该设置为粘合记录。
所以我想知道如何检查胶水记录是否存在?我可以用 whois 来做吗?我见过 .com 和 .net whois 记录,它们既有域名,也有名称服务器的 IP 地址,.org 有什么不同吗?测试它的正确方法是什么?
谢谢。
答案1
粘合记录仅存在于域名的父区域中。
因此,对于您的example.org
域名,首先找到.org
名称服务器:
% dig +short org. NS
a0.org.afilias-nst.info.
a2.org.afilias-nst.info.
b0.org.afilias-nst.org.
b2.org.afilias-nst.org.
c0.org.afilias-nst.info.
d0.org.afilias-nst.org.
然后,对于您想要测试的尽可能多的内容,明确地向这些名称服务器请求NS
您的域名的记录:
% dig +norec @a0.org.afilias-nst.info. example.org. NS
NS
您应该会在“AUTHORITY SECTION”中得到正确的记录列表。对于任何正确配置了 Glue 的名称服务器,您应该会看到这些 Glue A
(和/或AAAA
)记录出现在“ADDITONAL SECTION”中。
答案2
dig +trace
通常是检查委托链的最直接方法。但是,粘合记录位于附加部分,默认情况下跟踪输出不包括附加部分。您需要明确指定要将其包含在输出中。
dig +trace +additional example.com
如果要检查委托链的健全性,您可能还希望查看权威NS
记录,在这种情况下:
dig +trace +additional example.com NS
答案3
要检查是否设置了 GLUE 记录:
dig +trace @a.root-servers.net ns0.nameserverhere.com
如果设置了 GLUE,您应该会看到以以下内容结尾的记录:
“Received XXX bytes from x.GTLD-SERVERS.NET.”
还有一些网站可以帮你做这件事,例如http://www.intodns.com/
答案4
您还可以使用whois
(如果注册表支持)直接检查给定名称服务器的 glue 是否存在。例如,要检查 serverfault.com 的名称服务器之一:
whois ns-860.awsdns-43.net.
更简洁的回答如下:
whois ns-860.awsdns-43.net. | grep "No match\|IP" | xargs
注意:这当然适用于 .net 和 .com 名称空间中的名称服务器,但可能不适用于大多数其他注册中心。