Domain-Name-System

是否有可能 DNS 數據包包含多個 SOA 資源記錄

  • January 13, 2019

我已閱讀RFC 1034RFC 1035以了解 DNS 協議標準。我正在尋找 SOA 資源記錄的限制。我知道 A、AAAA、CNAME、NS、MX、TXT RR 沒有限制。SOA 怎麼樣?

每個區域只能有一個 SOA 記錄。擁有多個可能相互矛盾的 SOA 記錄是沒有意義的。

RFC 1034說明第 10 頁。20(強調我自己的):

雖然在邏輯上是權威數據的一部分,但描述區域頂部節點的 RR 對於區域的管理尤其重要。這些 RR 有兩種類型:列出區域的所有伺服器的名稱伺服器 RR,每個 RR 一個,以及描述區域管理參數的單個 SOA RR

RFC 1035更加明確(第 35 頁):

恰好一個 SOA RR 應該出現在區域的頂部。

**編輯:**正如評論中指出的,問題是關於 DNS 數據包,而不是區域文件。並且RFC 5936狀態(第 11 頁):

傳輸區域內容的 AXFR 響應將包含一系列(可能是一系列長度為 1)的 DNS 消息。在這樣的系列中,第一條消息必須以區域的 SOA 資源記錄開始,最後一條消息必須以相同的 SOA 資源記錄結束。中間消息不能包含 SOA 資源記錄。

因此,一個 AXFR 傳輸將包括每個數據包的兩個SOA 記錄。

引用自:https://serverfault.com/questions/948065