什么是 DNS TXT 记录?

TXT 记录让域管理员能够在 DNS 服务器上留下注释。

学习目标

阅读本文后,您将能够:

  • 了解 TXT 记录的用途
  • 描述 TXT 记录的主要用途
  • 说明 TXT 记录如何帮助防止垃圾邮件

复制文章链接

什么是 DNS TXT 记录?

DNS“文本”(TXT) 记录允许管理员将文本输入到域名系统 (DNS) 中。文本以一个或多个用引号引起来的字符串的形式存储。TXT 记录最初的目的是用作存放人类可读笔记的地方。但是,现在也可以将一些机器可读的数据放入 TXT 记录中。一个域可以有许多 TXT 记录。

TXT 记录示例:

example.com record type: value: TTL
@ TXT “这是一个很棒的域名!绝对不是垃圾邮件。” 32600

如今,DNS TXT 记录的两个最重要用途是防止垃圾邮件和域名所有权验证,尽管 TXT 记录最初并非为这些用途而设计。

注册
所有 Cloudflare 计划中均包含免费 SSL

什么样的数据可以放在 TXT 记录中?

原始 RFC 仅指出“文本字符串”要放在 TXT 记录的“value”字段中。这可以是管理员想要与他们的域名相关联的任何文本。

大多数 DNS 服务器会对 TXT 记录的大小和可存储字串的数量进行限制,所以管理员无法使用 TXT 记录来存储大量数据。

字符串限制为 255 个字节,但应用通常不关心字符串之间的区别,而只是将它们连接在一起,将多个字符串视为一个字符串。

在 TXT 记录中存储数据的“正式”格式是什么?

1993 年,互联网工程任务组 (IETF) 定义了一种格式,用于在 TXT 记录的“value”字段中存储属性和它们的相应值。该格式十分简单,就是将属性和值包含在引号 (") 中,并以等号 (=) 隔开,例如:

"attribute=value"

定义此格式的 1993 年文档 RFC 1464 中包含以下示例:

host.widgets.com record type: value:
@ TXT "printer=lpr5"

sam.widgets.com record type: value:
@ TXT "favorite drink=orange juice"

这个定义被认为是实验性的,在实践中,它并不经常被采用。一些 DNS 管理员在 TXT 记录中采用自己的格式,如果他们利用 TXT 记录的话。TXT 记录也可以依据具体的方式进行格式设置,以用于下面描述的某些用途——例如,DMARC 政策必须以标准化的方式进行格式设置。

However, TXT records still store their content within quotation marks ("").

报告
保护您的 DNS 基础设施

TXT 记录如何帮助防止垃圾邮件?

垃圾邮件发送者经常试图伪造或假冒他们发送电子邮件的域。TXT 记录是几种不同的电子邮件验证方法的关键组成部分,它可帮助电子邮件服务器确定邮件是否来自可信的来源。

常见的电子邮件身份验证方法包括域密钥识别邮件 (DKIM)、发送方策略框架 (SPF) 以及基于域的邮件身份验证、报告和一致性 (DMARC)。通过配置这些记录,域运营商可以使垃圾邮件发送者更难伪造他们的域,并且可以跟踪此类尝试。

SPF 记录:SPF TXT 记录列出了所有被授权从一个域发送电子邮件的服务器。

DKIM 记录:DKIM 的工作原理是使用一个公钥-私钥对,对每封电子邮件进行数字签名。这有助于验证电子邮件确实来自它所声称的域。公钥被存放在与域关联的 TXT 记录中。(了解有关公钥加密的更多信息)。

DMARC 记录:DMARC TXT 记录引用域的 SPF 和 DKIM 政策。它应该存储在标题 _marc.example.com 下,“example.com”用实际域名代替。记录的“值”是域的 DMARC 政策(可在此处找到创建该政策的指南)。

TXT 记录如何帮助验证域所有权?

虽然域所有权验证最初不是 TXT 记录的一个功能,但这种方法已经被一些网站管理员工具和提供商采用。

管理员可以通过上传包含特定信息的新 TXT 记录,或编辑当前的 TXT 记录,来证明他们控制着该域。工具或云提供商可以检查 TXT 记录,并看到它已按要求进行了更改。这有点像用户通过打开并点击发送到该电子邮件的链接来确认其电子邮件地址,证明他们拥有该地址。

深入了解不同类型的 DNS 记录