if xyz.com uses nameserver ns1.xyz.info,
在这种情况下,您的本地解析器将首先询问服务器.com
(例如a.gtld-servers.net)在哪里可以找到xyz.com域的名称服务器。.com域服务器通常将为xyz.com域的名称服务器的IP地址提供粘合记录。
例如:
$ dig gmail.com @a.gtld-servers.net
; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> gmail.com @a.gtld-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46893
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 5
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;gmail.com. IN A
;; AUTHORITY SECTION:
gmail.com. 172800 IN NS ns2.google.com.
gmail.com. 172800 IN NS ns1.google.com.
gmail.com. 172800 IN NS ns3.google.com.
gmail.com. 172800 IN NS ns4.google.com.
;; ADDITIONAL SECTION:
ns2.google.com. 172800 IN A 216.239.34.10
ns1.google.com. 172800 IN A 216.239.32.10
ns3.google.com. 172800 IN A 216.239.36.10
ns4.google.com. 172800 IN A 216.239.38.10
;; Query time: 375 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Thu Jul 10 01:10:57 EST 2014
;; MSG SIZE rcvd: 181
以我的经验,您所说的“如果域及其名称服务器不共享TLD,则通常无法使用胶水记录”是不正确的。但是,它取决于域的注册服务商提供的数据,并且它们的策略会有所不同。有些要求指定IP。有些人将其留给域所有者。我想我记得在澳大利亚有一个不支持他们的人。如果处理您所在国家/地区域名的注册服务商数量很少,那么在域名空间的那部分也许是正确的,但是对于整个网络而言,这是非典型的。
对于域所有者而言,提供Glue记录当然是一个好习惯,但是有时可以通过名称指定DNS服务器而不用钉住IP的能力被视为提供了灵活性,并且许多域所有者都不了解由此产生的性能问题。
如果您要提供DNS报告工具,那么您是否真的对这种错误配置有绝对的限制?当然,更重要的是,即使出现一个这样的丢失的粘合记录问题,也要报告缺失的粘合记录作为警告。您可能希望至少跟踪一些您提供的间接信息(并报告缺少的粘合记录),但是必须遵循一定的限制。如果DNS报告工具警告前3个左右,我会很高兴,因为我只对将粘合记录添加到我的域中,或将域的DNS提供程序切换到功能更强大的DNS感兴趣。
我对您在BIND上建议的DOS方法表示怀疑,因为BIND会缓存它收集的有关名称服务器位置的信息。攻击者必须建立许多没有胶水的域,然后对它们进行大量查询。设置域名的成本可能会在使用后被注册服务商取消,这很可能使攻击者无法承受。