同一子域名的多个TXT字段

我想了解一下,同一个子域名是否可以有多个TXT记录,这样做会不会引起问题。特别是,我们需要在根域名上添加一个SPF记录和一个Google域名验证记录。 在AWS Route 53中,他们明确支持以下方式: 输入多个值,每行一个。用引号括起来。例如: "示例文本条目" "用引号括起条目" 这样,一个单独的TXT字段就可以包含SPF和Google域名验证记录。 然而,当我向name.com咨询时,他们建议添加两个单独的TXT记录,因为不支持Route 53的方法。
3个回答

所描述的方法是在Route 53上创建多个记录的方式。 在文本区域中输入两个值,用换行符分隔,将会在DNS中生成两个不同的记录。这就是为什么亚马逊称其为“记录集” - 它是一组记录。

12OP不可能是唯一犯这个错误的人;这真的不明显。当你尝试以“更明显”的方式添加第二个TXT记录时,没有合理的错误信息来解释这个问题。 - Bobby Jack
1尽管这个答案是完全正确的,但我不得不读几遍才能理解它的意思。请考虑在一开始就强调“是的,使用相同名称创建两个独立记录是可以的”,然后再解释亚马逊的换行方法实际上是创建了两个具有相同名称的独立记录。 - Jorge Galvão
Azure DNS不允许在同一子域上设置多个TXT记录...每个记录集中的多个记录是正确的做法。 - Greg Woods
我认为值也可以或应该用引号括起来,例如:"value 1"\n"value 2"\n"value 3"。AWS在处理这个方面做得不太好,当前的编辑器对于编辑现有的TXT记录来说非常糟糕。 - fIwJlxSzApHEZIl

Michael在你困惑的地方是正确的。我将继续以我通常的严肃态度回答那些通过谷歌搜索而来的人的更大问题。
  • 根据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.
简而言之,不符合SPF语法要求的TXT记录将被忽略。只有在多个记录匹配SPF语法的情况下才会发生错误。 (对于可能想知道的人来说,DMARC语法也有同样的限制。)

不过,在我看来,不同的TXT记录将共享相同的TTL(生存时间)?我刚刚添加了第二个TXT记录,由随机字母和数字组成——为了记住哪一个是最新的(我添加的那个,还是一个旧的也带有随机数字和字母的),我设置了1802秒的TTL("2",就像数字2一样)——但是两个TXT记录的TTL都变成了1802——尽管第一个之前是1800。——其他方面都正常,谢谢 - KajMagnus
1@KajMagnus 我目前对我的RFC引用感到困惑,但我相信这是因为任何给定的请求资源(名称、类别、类型)的元组只有一个与之关联的TTL。如果您正在使用BIND,我相信它会忽略给定元组的所有中间TTL值,并且只使用区域文件中列出的最后一个TTL值。如果其他实现行为类似,我也不会感到惊讶。 - Andrew B
Andrew,谢谢你提供有关TTL和BIND的信息:-) - KajMagnus

如果您正在使用Google Domains,在编辑TXT记录时,会在TXT值旁边出现一个加号(+)符号... 点击它可以添加多个值。

4我知道这不是问题具体要求的内容,但是你刚刚帮了我一个大忙,我花了一个小时试图弄清楚是否可以只用一个TXT记录来管理!非常感谢!Google的用户体验工程师们真的需要解决这个问题! - vikarjramun