DNS 记录中的 TXT 数据的格式?

DNS 记录中的 TXT 数据的格式?

我的域名的 TXT 记录目前包含法律免责声明和条款和条件。它们是在一段时间前由于垃圾邮件发送者和其他不法分子而添加的(以便在我需要时提供法律依据)。

我需要添加更多与第一个不同的信息。根据RFC 1035,3.3.14

3.3.14. TXT RDATA format


    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
    /                   TXT-DATA                    /
    +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

where:

TXT-DATA        One or more <character-string>s.

TXT RRs are used to hold descriptive text.  The semantics of the text
depends on the domain where it is found.

第二(或第三)个字符串究竟是如何添加的?TXT-DATA 的分隔符是什么?

或者我是否要添加第二条(或第三条)TXT 记录?是否允许添加多条 TXT 记录?

答案1

对于named最流行的 DNS 服务器,您可以使用以下任意一种形式来创建更长的 TXT 记录:

  • 一个字符串,一行:

    name IN TXT "very long string here"
    
  • 一行中有多个字符串:

    name IN TXT "very long " "string here"
    
  • 多个字符串,每行一个,括在括号中:

    name IN TXT ("very long "
                 "string here")
    

对于多字符串形式,字符串只是逐字连接在一起(以上所有示例都会给出相同的结果)。

请注意,大多数 DNS 工具不明确支持针对同一name. 创建多个 TXT 记录。此外,在现实生活中,大多数 TXT 记录用于 SPF 或 DKIM。即使您设法针对同一 . 创建多个 TXT 记录name,对于 SPF 来说这也是非法的,因此不推荐。

另外,请从不同的角度来看待这一点。例如,您可以A为给定名称设置多条记录,用于指定您的网站拥有多台服务器。但是,根据 DNS 规则,它必须在 DNS 查询时自动随机化它们的顺序(又称循环),以便大多数客户端请求在所有 IP 地址之间均匀分配。

如果您创建多个 TXT 记录,则意味着 DNS 也必须将它们随机化,并且必须不按特定顺序将它们提供给您。这会非常尴尬:您的文本将读作

"very long ""string here"

"string here""very long "

换句话说,不要尝试这样做 - 只需创建单个多行 TXT 记录并完成即可。

相关内容