domain-name-system – 挖掘查找不返回namservers

domain-name-system – 挖掘查找不返回namservers,第1张

概述在我的域中添加一些名称服务器进行子代理后,我看到如果我直接运行跟踪和/或查询名称服务器,我会得到正确的名称服务器,但是如果我只是通过挖掘查询名称服务器记录,我就不会得到响应, 如果递归查看DNS停止点,它会从dns2.stabletransit.com检索NS记录(nsX.macmonster.co.uk)并将其传回客户端? 新添加的名称服务器记录是: subdomain.codecrab.org 在我的域中添加一些名称服务器进行子代理后,我看到如果我直接运行跟踪和/或查询名称服务器,我会得到正确的名称服务器,但是如果我只是通过挖掘查询名称服务器记录,我就不会得到响应,

如果递归查看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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存