SOA 和主 NS 記錄 (DNS)
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
?
RFC 1035說:
MNAME
作為該區域的原始或主要數據源的名稱伺服器的 <domain-name>。儘管在實踐中,這個
MNAME
領域在SOA
這些天大多是未使用的。但是,如果您使用 DNS 動態更新,則它必須引用要接收動態更新消息的 DNS 伺服器的名稱。
另請參閱這個(過期的)網際網路草案,其中詳細討論了該
MNAME
欄位,以及 DNS UPDATE 消息如何成為它的唯一目前用途。
名稱伺服器記錄在您的區域文件中指定。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
編輯: AUTHORITY: 0 表示伺服器 a.dns.hostway.net 沒有權威回答。當 ANSWER: 0 部分存在時,這似乎很明顯,但區分權威答案和非權威答案實際上很重要。在 DNS 中,權威表明您從中獲得答案的伺服器是否真的可以信任以知道它在說什麼。
至於為什麼在 SOA 中列出了一個伺服器,我不知道我曾經讀過他們把它放在那裡的原因,但是該伺服器應該是區域的主伺服器,因此是授權開始或 SOA。情況並非總是如此,因為我的所有 1400 多個域的 SOA 都在 SOA 中列出了一個主查詢伺服器,但權限的實際開始是在一個任何人都無法訪問的隱藏主機上。