6

我注意到一些服务提供商正在为其客户的域运行 DNS 服务,其 NS 名称为区域设置并由权威名称服务器返回(在权威部分/NS 和 SOA 记录中)与返回的 NS 名称不匹配由上游服务器(例如 TLD 服务器)并用于查找。

例子:

$ 挖-域名-here.com NS

; <<>> DiG 9.4.2-P1 <<>> the-domain-name-here.com NS
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7844
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;the-domain-name-here.com.          IN      NS

;; ANSWER SECTION:
the-domain-name-here.com.   172370  IN      NS      ns1.service-provider-here.net.
the-domain-name-here.com.   172370  IN      NS      ns2.service-provider-here.net.

;; ADDITIONAL SECTION:
ns1.service-provider-here.net.      7200    IN      A       192.168.100.1
ns2.service-provider-here.net.      7200    IN      A       192.168.100.2

;; Query time: 65 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Wed Mar 11 19:44:00 2009
;; MSG SIZE  rcvd: 118

$挖掘@ns1.service-provider-here.net。域名-here.com

; <<>> DiG 9.4.2-P1 <<>> @ns1.service-provider-here.net  the-domain-name-here.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48010
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;the-domain-name-here.com.          IN      A

;; ANSWER SECTION:
the-domain-name-here.com.   86400   IN      A       192.168.100.3

;; AUTHORITY SECTION:
the-domain-name-here.com.   86400   IN      NS      ns1.different-trade-name.net.
the-domain-name-here.com.   86400   IN      NS      ns2.different-trade-name.net.

;; Query time: 68 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Wed Mar 11 19:46:00 2009
;; MSG SIZE  rcvd: 100

gTLD 服务器说名称服务器是 ns1.service-provider-here.net,当我们在该服务器上查找名称时,它会给出权威答案,但会在权限部分泄漏不同的 NS 名称 (ns1.different-trade-name 。网)。

以这种方式配置的域有数千个。它似乎没有引起任何问题,但它似乎是错误的。

这真的重要吗?是否会出现解析器/客户端会因此进行额外查找甚至无法解析名称的情况?

4

2 回答 2

5

嗯,答案取决于观点。

从技术上讲,毫无疑问,父区域和区域之间的任何差异都是错误的。它不应该发生(一些注册中心使用自动工具来检查,例如Zonecheck in .fr)。

实际上,它经常发生。最常见的原因是人们更改了他们区域中的 NS 记录,而忘记告诉注册表(或注册商,如果注册表强迫您通过中间人)有关更改。

真的有关系吗?好吧,正如您所说,只要两组之间存在非空交集,它就应该起作用。但是依赖它是危险的,因为再改变一次,两组可能会完全分开。因此,接受差异不是一个好主意。

从法律上讲,child zone 永远是对的,parent 中的 NS 记录不具有权威性。解析器必须用他们在子区域中找到的列表替换委托。

于 2009-03-12T10:56:24.040 回答
2

如果父级具有引用对该区域具有权威性的 DNS 服务器的有效记录,则解析应该主要工作。

我至少可以想到一种情况,如果您有不同的记录和其他一些错误配置,它们可能会成为问题。

该问题与名称服务器如何在区域更新时发出通知有关。例如,当您在主 dns 服务器上使用 bind 时,更新区域然后重新加载,bind 将向区域中列出的所有服务器发送更新通知。如果他们是另一台权威服务器,在主区域中没有 NS 记录,那么它不会收到通知,并且会有较旧的数据。如果父母指向未获得更新的该服务器,那么您可能会遇到问题,因为该服务器将提供数据不足的结果。

另外,请记住,存在“水平分割”DNS 这样的东西。有时,您需要为网络内部的内部主机提供不同的区域视图,而不是向公众显示的视图。当您比较名称服务器记录时,请确保您从同一角度查看区域。

于 2009-03-11T21:10:50.717 回答