SOA和主要NS记录(DNS)


18

这个问题的首当其冲是这样的-什么是在指定的主域名服务器的关系SOA记录,并在指定的域名服务器NS记录。这些东西如何联系在一起?

当我查询大多数网站时,会得到以下信息:

dhamma@sansa:~$ host -t SOA arth.com
arth.com has SOA record ns1.comcastbusiness.net. domreg-tech.comcastbusiness.net. 2009072715 3600 7200 604800 7200

我希望将其ns1.comcastbusiness.net视为主要的名称服务器,因为当我查询NS域的记录时,会得到以下信息:

dhamma@sansa:~$ host -t NS arth.com
arth.com name server ns1.comcastbusiness.net.
arth.com name server ns2.comcastbusiness.net.
arth.com name server ns3.comcastbusiness.net.

这总是使我认为SOA记录以某种方式自动填充了主NS记录?那是真的吗?

因为这是我最困惑的地方:

dhamma@sansa:~$ host -t SOA paulwarnk.com
paulwarnk.com has SOA record a.dns.hostway.net. hostmaster.siteprotect.com. 2009012319 86400 7200 86400 99999

但有人告诉我,也确实要使用这些名称服务器:

dhamma@sansa:~$ host -t NS paulwarnk.com
paulwarnk.com name server adns.cs.siteprotect.com.
paulwarnk.com name server bdns.cs.siteprotect.com.

为什么此名称服务器adns.cs.siteprotect.com未在SOA记录中列为主要名称服务器?

Answers:


14

RFC 1035说:

MNAME 名称服务器的<域名>,是该区域的原始数据或主要数据源。

尽管实际上,这些MNAME字段中的SOA这些天几乎没有使用。

但是,如果您使用的是DNS动态更新,则它必须引用要接收动态更新消息的DNS服务器的名称。

另请参阅此(已过期的)Internet草案,该草案MNAME详细讨论了该字段,以及DNS UPDATE消息如何唯一用于当前用途。


这就是原因。+1是一个简短易读的答案。
womble

这是一个很好的观点……尤其是在最近使用Active Directory集成区域(这是邪恶的,恕我直言)的时候。尽管您是否仅依赖MS DNS服务器都没有关系(我们不这样做),但SOA必须指向AD控制器,带有ADI区域的AD控制器应该是最接近您请求的AD框。
Greeblesnort

2
这个答案令人困惑。
briankip 2015年

1
@Alnitak我不确定您的答案如何将NS记录与SOA记录联系起来...?
Howiecamp

1
@Alnitak您可能想在答案中指出这一点,因为对于尚不知道答案的读者来说,您的回答中并不清楚这一事实。建议您在答案上方简单地添加“它们没有直接关系”。我进行了编辑。
Howiecamp

9

名称服务器记录在区域文件中指定。SOA记录指示该区域的主要名称服务器。两者之间没有自动关系。是有关SOA记录的好读物。简短的答案是SOA记录是包含名称,TTL等的整个记录​​。此外,我强烈建议您阅读O'Reilly DNS&Bind书。这真的很有用。

您的记录超出了paulwarnk.com的根服务器:

paulwarnk.com.      172800  IN  NS  adns.cs.siteprotect.com.
paulwarnk.com.      172800  IN  NS  bdns.cs.siteprotect.com.
;; Received 116 bytes from 192.55.83.30#53(M.GTLD-SERVERS.NET) in 152 ms

paulwarnk.com.      99999   IN  A   69.143.69.166
paulwarnk.com.      99999   IN  NS  adns.cs.siteprotect.com.
paulwarnk.com.      99999   IN  NS  bdns.cs.siteprotect.com.
;; Received 100 bytes from 64.26.28.8#53(adns.cs.siteprotect.com) in 12 ms

现在,这意味着在根服务器上,adns&bdns.cs.siteprotect.com被列为paulwarnk.com的权限。然后,在这些服务器(adns和bdns)上,根记录有一个A记录,指向69.143.69.166。

我认为您要问的是为什么NS记录看起来有所不同。答案是,NS记录可能是由您的注册服务商指定的,指向其对该区域具有权威性的服务器。但是,此输出似乎表明存在问题,因为SOA名称服务器似乎未响应对记录的请求:

; <<>> DiG 9.2.4 <<>> @a.dns.hostway.net paulwarnk.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 37849
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;paulwarnk.com.         IN  A

;; Query time: 10 msec
;; SERVER: 66.113.129.243#53(66.113.129.243)
;; WHEN: Mon Nov 16 23:03:04 2009
;; MSG SIZE  rcvd: 31

编辑:权限:0表示服务器a.dns.hostway.net没有权威回答。当存在ANSWER:0部分时,这似乎很明显,但是区分权威性答案和非权威性答案实际上很重要。在DNS中,授权是指您是否真的可以信任从您那里得到答案的服务器来知道它在说什么。

至于为什么在SOA中列出了一个服务器,我不知道我曾经读过它们放置在其中的原因,但是该服务器应该是该区域的主服务器,因此应该是“授权开始”或SOA。情况并非总是如此,因为我所有1400多个域的SOA都在SOA中列出了一个主查询服务器,但是授权的实际起点是一个没有人可以访问的隐藏主服务器。


非常感谢,这消除了很多。那么,在SOA中指定主要名称服务器的目的是什么?为什么在查询中显示AUTHORITY 0是有原因的?哦,这么多问题。我会拿起O'Reilly的书。
scraft3613

您的编辑是错误的。该AA标志用于指示权威性答案。 AUTHORITY: 0只是意味着响应的“权限”部分中没有答案。
Alnitak

从技术上讲是正确的,但我认为在上下文中我的编辑不会出错。没有aa标志,您不会得到权威的回应。但是,谢谢,让我重新阅读了文档=)
Greeblesnort
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.