Domain-Name-System

同一子域的多個 TXT 欄位

  • November 11, 2017

我想了解同一子域的多個 TXT 記錄是否正常或可能導致問題。特別是,我們要求根域上有一個 SPF 記錄和一個 Google 域驗證記錄。

在 AWS Route 53 中,他們通過以下方式明確支持這一點:

在不同的行上輸入多個值。用引號將文本括起來。範例:“範例文本條目”“用引號將條目括起來”

這樣,單個 TXT 欄位就可以同時包含 SPF 和 Google 域驗證記錄。

另一方面,當我詢問 name.com 時,他們建議添加兩個單獨的 TXT 記錄,因為不支持 Route 53 方法。

所描述的方式您在 Route 53 上創建多條記錄的方式。

在由換行符分隔的文本區域中輸入兩個值將導致 DNS 中出現兩條不同的記錄。這就是亞馬遜稱其為“記錄集”的原因——它是一組記錄。

邁克爾關於您的困惑來自何處是正確的。我將繼續我通常的悶悶不樂,並為那些可能通過Google搜尋發生的人回答更大的問題。

  • 根據 DNS 標準,多TXT條記錄是完全合法的。
  • 實施特定標準的多個TXT記錄可能是非法的,但僅限於該標準的範圍內。
  • 鑑於需要多種標準共存並與TXT共享給定名稱的其他記錄很好地配合使用,因此不太可能發生衝突。這樣的要求肯定不太可能成為網際網路標準。

要了解其中的區別,讓我們看一下 SPF 標準 ( RFC 7208 ) 在該主題上的說法:

  Starting with the set of records that were returned by the lookup,
  discard records that do not begin with a version section of exactly
  "v=spf1".  Note that the version section is terminated by either an
  SP character or the end of the record.  As an example, a record with
  a version section of "v=spf10" does not match and is discarded.

  If the resultant record set includes no records, check_host()
  produces the "none" result.  If the resultant record set includes
  more than one record, check_host() produces the "permerror" result.

簡而言之,TXT不符合 SPF 語法要求的記錄將被忽略。只有在多個記錄與 SPF 語法匹配的情況下才會發生錯誤。

(對於那些可能想知道的人,DMARC語法具有相同的限制。)

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