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 ~all

DMARC 记录

试试看 →

一条带有汇总和取证报告的严格 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 记录,多条记录会导致永久错误。

← 返回所有工具