如果递归查看DNS停止点,它会从dns2.stabletransit.com检索NS记录(nsX.macmonster.co.uk)并将其传回客户端?
新添加的名称服务器记录是:
subdomain.codecrab.org. 300 IN NS ns1.macmonster.co.uk.subdomain.codecrab.org. 300 IN NS ns2.macmonster.co.uk.
跟踪
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> +trace subdomain.codecrab.org ns;; global options: printcmd. 94441 IN NS f.root-servers.net.. 94441 IN NS g.root-servers.net.. 94441 IN NS h.root-servers.net.. 94441 IN NS i.root-servers.net.. 94441 IN NS j.root-servers.net.. 94441 IN NS k.root-servers.net.. 94441 IN NS l.root-servers.net.. 94441 IN NS m.root-servers.net.. 94441 IN NS a.root-servers.net.. 94441 IN NS b.root-servers.net.. 94441 IN NS c.root-servers.net.. 94441 IN NS d.root-servers.net.. 94441 IN NS e.root-servers.net.;; Received 228 bytes from 83.138.151.80#53(83.138.151.80) in 0 msorg. 172800 IN NS a0.org.afilias-nst.info.org. 172800 IN NS b2.org.afilias-nst.org.org. 172800 IN NS c0.org.afilias-nst.info.org. 172800 IN NS a2.org.afilias-nst.info.org. 172800 IN NS d0.org.afilias-nst.org.org. 172800 IN NS b0.org.afilias-nst.org.;; Received 442 bytes from 192.5.5.241#53(f.root-servers.net) in 96 mscodecrab.org. 86400 IN NS dns2.stabletransit.com.codecrab.org. 86400 IN NS dns1.stabletransit.com.;; Received 95 bytes from 199.19.56.1#53(a0.org.afilias-nst.info) in 108 mssubdomain.codecrab.org. 300 IN NS ns1.macmonster.co.uk.subdomain.codecrab.org. 300 IN NS ns2.macmonster.co.uk.;; Received 92 bytes from 65.61.188.4#53(dns2.stabletransit.com) in 0 ms;; connection timed out; no servers Could be reached
标准查询
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> subdomain.codecrab.org NS;; global options: printcmd;; Got answer:;; ->>header<<- opcode: query,status: SERVFAIL,ID: 50516;; flags: qr rd ra; query: 1,ANSWER: 0,AUTHORITY: 0,ADDITIONAL: 0;; QUESTION SECTION:;subdomain.codecrab.org. IN NS;; query time: 1 msec;; SERVER: 83.138.151.80#53(83.138.151.80);; WHEN: Thu Sep 26 16:32:34 2013;; MSG SIZE rcvd: 40
额外
[root@monty webtools]# dig ns1.macmonster.co.uk +short1.1.1.1
有任何想法吗 ?
解决方法 递归DNS解析器要求递归获取的信息具有权威性,以将其作为对查询的响应返回;它没有做出推论.使用SOA和NS记录在DNS中建立权限.前者用于在权威服务器之间建立权限,并在区域内提供服务.例如,当某个区域的权威DNS服务器正在进行区域传输时,SOA记录指示区域数据的哪个副本更新.后者用于在查询时建立权限.
当子域的NS记录在域中,并且具有它的服务器不是要查询的名称的权威服务器时,此NS记录是委派记录.因此,递归解析器将查询以root开头的委托记录.在您的情况下,它从dns2.stabletransit.com向上响应此响应:
subdomain.codecrab.org. 300 IN NS ns1.macmonster.co.uk.
这是一个委托记录,因为这个数据不存在:
subdomain.codecrab.org. 300 IN NS dns2.stabletransit.com
实际存在的是:
codecrab.org. 86400 IN NS dns2.stabletransit.com.
所以,服务器在dns2.stabletransit.com.可以为codecrab.org.提供权威回复,因为之前的解析器将该区域委托给它.但它对subdomain.codecrab.org不具有权威性,因此无法回答查询;它只能委托.
DNS解析器当然可以配置为对管理员想要的任何名称具有权威性.但是,如果它们被配置为对他们试图委派的区域具有权威性,那么它们将提供回复(没有数据),因此显然没有这样做.
递归的工作方式很简单,如果不是最初直观的话.递归解析器将完整查询发送给名称服务器. (它在根区域的提示文件中有).这个. nameserver发送回复,但回复有两个我们为此目的关心的组件:权限部分和答案部分(还有附加部分和问题部分).回复将包含以下记录:
org. 172800 IN NS b0.org.afilias-nst.org.
这告诉递归解析器在那里重复其查询,因为区域是委派的.它还在附加部分中包含“胶水”,在权限部分提供名称服务器的IP地址,因为它知道您将无法找到名称服务器来查询它.这是管理DNS的管理决策;如果胶水记录不存在,递归解析器将在继续之前查询其中一个权威服务器的AAAA或A记录.
因此,当您发送查询IN NS subdomain.codecrab.org时,您可能会注意到.到最后一个代表团,dns2.stabletransit.com.,回复如下:
;; ->>header<<- opcode: query,status: NOERROR,ID: 35461;; flags: qr rd; query: 1,AUTHORITY: 2,ADDITIONAL: 1;; WARNING: recursion requested but not available;; OPT PSEUDOSECTION:; ednS: version: 0,flags:; udp: 4096;; QUESTION SECTION:;subdomain.codecrab.org. IN NS;; AUTHORITY SECTION:subdomain.codecrab.org. 300 IN NS ns2.macmonster.co.uk.subdomain.codecrab.org. 300 IN NS ns1.macmonster.co.uk.;; query time: 104 msec;; SERVER: 65.61.188.4#53(65.61.188.4);; WHEN: Sat Sep 28 14:50:45 MDT 2013
注意你既不会得到一个额外的部分也不会得到一个答案部分(而且还有NOERROR的返回状态).这是因为该记录是ns2.macmonster.co.uk的一个代表团.对于subdomain.codecrab.org.,为dns2.stabletransit.com.知道它不具有权威性.没有额外的部分,因为名称服务器在co.uk中结束.在行政上,没有必要包括胶水,因为它们可以在那里解析(当然,胶水本来可以包括在内).因此,要回答您的问题,因为答案必须来自答案部分(意味着它由答复服务器识别为来自权威机构的答案),您的递归解析器将尝试查找ns1.macmonster.co.uk.,并在1.1.1.1找到它,将在那里发送它的查询.
当然(因为这个地址是debogon前缀),那里还没有名称服务器.至于ns2.macmonster.co.uk.在2.2.2.2,如果Wanadoo France的某个人决定要为subdomain.codecrab.org提供一个带有权威记录的域名服务器.特别是:
subdomain.codecrab.org 99999999 IN NS Now.go.away.or.i.will.taunt.you.a.second.time.
一半的时间(通常选择该名称服务器),查询将返回Now.go.away.or.i.will.taunt.you.a.second.time.作为你的区域的名称服务器,即使常识表明它应该是ns2.macmonster.co.uk. (即使是后者的名称服务器权威地给出了答案).
总结以上是内存溢出为你收集整理的domain-name-system – 挖掘查找不返回namservers全部内容,希望文章能够帮你解决domain-name-system – 挖掘查找不返回namservers所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)