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

前端之家收集整理的这篇文章主要介绍了domain-name-system – 挖掘查找不返回namservers前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的域中添加一些名称服务器进行子代理后,我看到如果我直接运行跟踪和/或查询名称服务器,我会得到正确的名称服务器,但是如果我只是通过挖掘查询名称服务器记录,我就不会得到响应,

如果递归查看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 ms

org.                    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 ms

codecrab.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 ms

subdomain.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 +short
1.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. (即使是后者的名称服务器权威地给出了答案).

原文链接:https://www.f2er.com/html/228927.html

猜你在找的HTML相关文章