您好,我刚刚为我的域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的许多这样的,明确地询问这些名称服务器为你的域的NS
logging:
% dig +norec @a0.org.afilias-nst.info. example.org. NS
您应该在“答案部分”中找回正确的NS
logging列表。 对于已正确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
如果这个想法是检查授权链的完整性,那么在这种情况下,您可能也会想要查看授权的NS
logging:
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。