DNS 记录分析器
DNS(域名系统)记录将域名映射到 IP 地址并配置电子邮件路由。此工具解析来自 dig 或 BIND 的区域文件输出,分析电子邮件认证记录(SPF、DMARC、DKIM、BIMI),并警告常见的配置错误。
规范
常见用例
- 分析 dig 或 host 命令输出以进行故障排除
- 在迁移前审计域名 DNS 配置
- 验证电子邮件认证设置(SPF、DMARC、DKIM)
- 调试电子邮件投递问题
- 记录域名 DNS 记录以满足合规要求
- 在申请 SSL 证书前检查 CAA 记录
功能
- 解析 BIND/dig 区域文件输出
- 显示 A、AAAA、NS、MX、TXT、CNAME、SOA、SRV、CAA、TLSA 记录
- 人类可读的 TTL 格式化(5m、2h、1d)
- 自动检测和分析 SPF 记录并解释机制
- 分析 DMARC 策略和报告配置
- DKIM 记录分析(密钥类型、选择器、有效性、测试模式)
- BIMI 记录分析(VMC 存在性、有效性)
- DNSSEC 支持(DNSKEY、DS、RRSIG 记录及过期时间)
- TLSA/DANE 证书绑定显示
- 验证 SPF DNS 查询次数(根据 RFC 7208 最多 10 次)
- 警告电子邮件认证配置错误
示例
区域文件输出
试试看 →dig 输出,显示各种记录类型。
example.com. 300 IN A 192.0.2.1
example.com. 172800 IN NS ns1.example.com.
example.com. 172800 IN NS ns2.example.com.
example.com. 300 IN MX 10 mail.example.com.
example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all"
_dmarc.example.com. 300 IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"SPF 记录
试试看 →一条授权 Google 和 Mailgun 发送电子邮件的 SPF 记录。
v=spf1 include:_spf.google.com include:mailgun.org ip4:192.168.1.0/24 ~allDMARC 记录
试试看 →一条带有汇总和取证报告的严格 DMARC 策略。
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com; adkim=s; aspf=s; pct=100提示
- 使用以下命令获取所有记录:dig example.com ANY +noall +answer
- SPF 允许最多 10 次 DNS 查询。谨慎使用 "include"。
- DMARC p=reject 是最严格的,但建议从 p=none 和 rua 报告开始。
- CAA 记录限制哪些 CA 可以为你的域名颁发证书。
- TLSA 记录启用 DANE 进行证书验证。
理解 DNS 记录分析器
域名系统(DNS)是互联网的目录服务,将人类可读的域名转换为 IP 地址并提供其他关键映射。DNS 记录存储在权威域名服务器的区域文件中,每条记录包含名称、类型、类别、TTL(生存时间)和类型特定数据。
最基本的记录类型处理名称解析。A 记录将域名映射到 IPv4 地址,AAAA 记录映射到 IPv6。CNAME 记录创建别名,将一个名称指向另一个名称。NS 记录将子域委托给特定的域名服务器。MX 记录将电子邮件引导到带优先级值的邮件服务器。SOA 记录包含区域元数据,包括主域名服务器和序列号。
TXT 记录承载电子邮件认证数据。SPF 记录(v=spf1 ...)指定授权的电子邮件发送者。DMARC 记录(v=DMARC1; ...)告诉接收方如何处理 SPF/DKIM 失败。DKIM 记录存储用于电子邮件签名验证的公钥。配置错误的电子邮件认证是投递问题的主要原因。
TTL 值控制解析器缓存响应的时间。高 TTL(86400 秒 = 1 天)减少 DNS 流量,但使变更传播缓慢。低 TTL(300 秒 = 5 分钟)支持快速更新,但增加查询量。在迁移前,提前降低 TTL,以便旧值快速过期。
DNS 实际上并不像该术语暗示的那样"传播"。当记录更改时,解析器继续提供缓存的旧值直到其 TTL 过期,然后从权威服务器获取新值。如果 TTL 为 86400(24 小时),更改最多可能需要 24 小时才能在所有地方可见。要加速更改,请提前降低 TTL(例如在迁移前 48 小时降至 300 秒),进行更新,然后再提高 TTL。
A 记录将域名直接映射到 IPv4 地址,而 CNAME 创建指向另一个域名的别名——解析器沿着链追踪到最终的 A 记录。CNAME 不能用于区域顶点(裸域名如 example.com),因为它们与顶点处必需的 SOA 和 NS 记录冲突。某些 DNS 提供商提供专有的 ALIAS 或 ANAME 记录类型来解决此限制。
设置电子邮件认证涉及三条 DNS 记录。对于 SPF,添加以 "v=spf1" 开头后跟授权发送者的 TXT 记录。对于 DKIM,在选择器子域添加包含电子邮件服务提供的公钥的 TXT 记录。对于 DMARC,在 _dmarc.yourdomain.com 添加指定策略(none、quarantine 或 reject)和报告地址的 TXT 记录。从 p=none 开始可以在执行前监控对齐情况。SPF 失败通常由以下原因导致:超过 10 次 DNS 查询限制、忘记授权某个发送服务、在所有发送者验证前使用 -all(硬失败),或在同一域名上有多条 SPF 记录——只允许一条 v=spf1 记录,多条记录会导致永久错误。