如何测试DNS粘合记录?


24

您好,我刚刚为我的域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是否有所不同?什么是正确的测试方法?

谢谢。

Answers:


44

胶水记录仅存在于域名的父区域中。

因此,对于您的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在“答案部分”中找回正确的记录列表。对于任何已正确配置胶水的名称服务器,您应该看到那些胶水A(和/或AAAA)记录出现在“ ADDITONAL SECTION”中。


对于我的域,附加部分包含粘合记录,但也包含其他一些NS记录,这些记录不属于我在注册表中设置的粘合。我该如何区分?
Calimo '17

7

要检查是否已设置GLUE记录,请执行以下操作:

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

如果已设置GLUE,则应看到一条记录以以下结尾:

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

也有一些网站可以为您做到这一点,例如http://www.intodns.com/


谢谢,intdns很好用,使胶水和NS上的所有绿色记号都完整显示。我没有得到dig命令。我确实收到了一条收到的消息。特别是,我得到了这样的信息:“在183毫秒内从192.33.4.12#53(c.root-servers.net)接收到433个字节。” 但是,它的结尾是:“连接超时;无法访问任何服务器”当对ns部分使用随机数时,例如ns384289.example.org,我也收到类似的消息。

9
挖诊断测试是完全错误的...
Alnitak

我知道这很老但是很有帮助。我将结果传送到sed / awk中,以比较根服务器与名称服务器,以识别不匹配的NS记录。
jeffatrackaid 2013年

4

这是一个实现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

3

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

dig +trace +additional example.com


如果您要检查委托链的完整性,则可能还需要查看权威NS记录,在这种情况下:

dig +trace +additional example.com NS

0

您也可以whois在注册表支持的地方使用,以直接检查给定名称服务器的粘胶是否存在。例如,要检查serverfault.com的名称服务器之一:

whois ns-860.awsdns-43.net.

对于更简洁的响应:

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

注意:这当然适用于.net和.com名称空间中的名称服务器,但可能不适用于大多数其他注册表。


1
Whois确实不是查询胶水是否存在的正确工具。 dig比较合适。
sendmoreinfo

我不同意:您可以使用whois 直接检查是否存在粘胶(即,无需将域名委派给该名称服务器),但是现在我已经检查了.org TLD的情况。我的答案对.net / .com是正确的,但这不是原始问题,因此我认为这不是一个很好的答案。
user3166580

我还认为原始帖子的关键是,如果组织父区域中不存在胶水,那么您将无法将域委托给名称服务器。即因为您不能拥有无胶合的bailiwick名称服务器。
user3166580

对于这两个顶级域名,您的答案都是正确的。whois与可操作的DNS无关,也不是用来查看胶水的工具。您可以使用whois搜索注册表中存在的名称服务器,但是名称服务器存储在此处的对象这一事实并不意味着该名称服务器被bailiwick所在的域使用,这是唯一需要将其发布为胶。
Patrick Mevzek '18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.