TXT记录(文本记录)

DNS记录类型
存储文本数据的DNS记录,通常用于电子邮件身份验证(SPF、DKIM、DMARC)、域名验证等。
← 返回词汇表

什么是TXT记录?

TXT(文本)记录是与域关联的任何文本字符串的DNS记录类型。最初用于人类可读的注释,TXT记录已成为机器可读数据的必要部分,如电子邮件身份验证政策、域所有权验证和特定于服务的配置。

常见TXT记录用途

电子邮件身份验证

SPF(发件人政策框架)
example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

指定哪些服务器可以为你的域发送电子邮件。

DKIM(域名密钥标识邮件)
google._domainkey.example.com.    IN    TXT    "v=DKIM1; k=rsa; p=MIGfMA0..."

包含用于电子邮件签名验证的公钥。

DMARC(基于域的消息身份验证)
_dmarc.example.com.    IN    TXT    "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"

定义电子邮件身份验证政策和报告。

域验证

Google搜索控制台
example.com.    IN    TXT    "google-site-verification=abc123..."
Microsoft 365
example.com.    IN    TXT    "MS=ms12345678"
SSL证书验证
_dnsauth.example.com.    IN    TXT    "validation-token-from-ca"

其他应用

Facebook域验证
example.com.    IN    TXT    "facebook-domain-verification=xyz789"
Keybase身份
_keybase.example.com.    IN    TXT    "keybase-site-verification=..."
自定义应用数据
_app.example.com.    IN    TXT    "config=value123"

TXT记录格式

基本语法

name    IN    TXT    "text content here"

多个TXT记录

域可以有多个TXT记录:

example.com.    IN    TXT    "v=spf1 include:_spf.google.com ~all"

example.com. IN TXT "google-site-verification=abc123"

example.com. IN TXT "facebook-domain-verification=xyz789"

长TXT记录

TXT记录字符串限制为每字符串255个字符,但多个字符串可以连接:

selector._domainkey.example.com.    IN    TXT    (

"v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

"...long key continues..."

)

DNS客户端自动连接这些字符串。

检查TXT记录

使用dig
dig example.com TXT

; 答案部分:

example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"

检查特定子域TXT
dig _dmarc.example.com TXT

dig selector._domainkey.example.com TXT

使用DomScan
curl "https://domscan.net/v1/health?domain=example.com"

# 返回DNS详情中的hasTXT和电子邮件身份验证状态

TXT记录最佳实践

对于电子邮件身份验证

1. 始终一起配置SPF、DKIM和DMARC

2. 使用单个SPF记录 - 多个SPF记录会造成问题

3. 将SPF查询保持在10以下 - 超过会造成失败

4. 在部署前测试 - 使用在线验证程序

对于域验证

1. 不要移除验证TXT记录 - 服务可能会重新验证

2. 文档每个TXT记录的用途 - 它们可以积累

3. 清理未使用的记录 - 移除你不再使用的服务的记录

对于自定义应用

1. 使用下划线前缀(_app.example.com)以避免冲突

2. 文档格式 - 未来的你会忘记

3. 考虑TTL - 对于经常改变的配置使用较低的TTL

安全考虑

信息泄露

TXT记录是公开的。不要存储敏感信息:

# 不好 - 暴露内部信息

example.com. TXT "internal-api-key=secret123"

SPF漏洞

过于宽松的SPF记录可以启用电子邮件欺骗:

# 不好 - 允许任何人发送

example.com. TXT "v=spf1 +all"

# 好 - 限制性

example.com. TXT "v=spf1 include:_spf.google.com -all"

故障排除TXT记录

多个SPF记录:仅一个SPF记录每个域有效。将多个SPF政策合并为一个。 截断的记录:如果你的TXT记录看起来被切割,确保正确的字符串引用和连接。 传播延迟:TXT记录更改遵循基于TTL的传播。在进行验证记录更改前降低TTL。

TXT记录是DNS的瑞士军刀——功能多样但需要仔细管理,因为它们的使用增长。

将知识付诸实践

使用 DomScan 的 API 检查域名可用性、健康状态等。