如何testingDNS胶水logging?

您好,我刚刚为我的域example.org设置了一个DNS服务器,其中包含两个名称服务器ns1.example.org和ns2.example.org。 我曾试图在我的注册商处为ns1和ns2build立胶水logging

它似乎现在工作,当我做一个dig example.org,但是当我做一个whois example.org时,它列出了ns1.example.org和ns2.example.org,但不是他们的IP地址,应该被设置为胶水logging。

所以我想知道如何检查胶水logging的存在? 我是否用whois来做? 我见过.com和.net whoislogging既有域名也有名称服务器的IP地址,是.org不同的? 有什么正确的方法来testing呢?

谢谢。

胶水logging只存在于域名的父区域中。

因此,在您的example.org域名的情况下,首先find.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. 

然后,对于你想testing的许多这样的,明确地询问这些名称服务器为你的域的NSlogging:

 % dig +norec @a0.org.afilias-nst.info. example.org. NS 

您应该在“答案部分”中找回正确的NSlogging列表。 对于已正确configuration胶水的任何名称服务器,您应该看到在“ADDITONAL SECTION”中出现胶水A (和/或AAAA )logging。

要检查是否设置了GLUElogging:

 dig +trace @a.root-servers.net ns0.nameserverhere.com 

如果设置了GLUE,则应该看到一个以下列结尾的logging:

 “Recevied XXX bytes from x.GTLD-SERVERS.NET.” 

还有一些网站会为你做,如http://www.intodns.com/

这是一个实现Alnitak答案的小shell脚本:

 #!/bin/sh S=${IFS} IFS=. for P in $1; do TLD=${P} done IFS=${S} echo "TLD: ${TLD}" DNSLIST=$(dig +short ${TLD}. NS) for DNS in ${DNSLIST}; do echo "Checking ${DNS}" dig +norec +nocomments +noquestion +nostats +nocmd @${DNS} $1 NS done 

传递域的名称作为参数:

 ./checkgluerecords.sh example.org 

dig +trace通常是检查代表团链条最直接的方式。 但是,胶水logging位于附加部分,默认情况下,跟踪输出不包含附加部分。 您将需要明确指定您希望这包括在输出中。

 dig +trace +additional example.com 

如果这个想法是检查授权链的完整性,那么在这种情况下,您可能也会想要查看授权的NSlogging:

 dig +trace +additional example.com NS 

您还可以使用registry支持的whois来直接检查给定名称服务器的胶水存在。 例如,要检查serverfault.com的名称服务器之一:

 whois ns-860.awsdns-43.net. 

为了更简洁的回应:

 whois ns-860.awsdns-43.net. | grep "No match\|IP" | xargs 

注意:这对于.net和.com名称空间中的名称服务器肯定有效,但可能不适用于大多数其他registry。