DNS 检查命令

Email Routing 出问题时,先确认 DNS 链路。邮件能不能转发,第一步取决于发件方能不能解析到正确 MX。

下面命令把 example.com 换成自己的域名。

检查 NS

dig NS example.com +short

正常结果应该是 Cloudflare 的 nameserver:

alice.ns.cloudflare.com.
bob.ns.cloudflare.com.

如果不是 Cloudflare,说明注册商 NS 没改对,或者还没生效。

检查 MX

dig MX example.com +short

正常结果应该是 Cloudflare Email Routing 的 MX:

10 route1.mx.cloudflare.net.
20 route2.mx.cloudflare.net.
30 route3.mx.cloudflare.net.

如果没有 MX,或者 MX 指向其他邮箱服务,Cloudflare Email Routing 就收不到邮件。

检查 TXT / SPF

dig TXT example.com +short

Cloudflare Email Routing 会使用 SPF 相关 TXT 记录。不同场景下 TXT 可能不止一条。

如果同一个域名已有其他发信服务,注意 SPF 通常应该合并到同一条 v=spf1 ...,不要随便堆多条 SPF。

检查 DNSSEC / DS

dig DS example.com +short

如果这里有 DS 记录,但 Cloudflare DNSSEC 没正确配置,可能导致解析 SERVFAIL

进一步检查:

dig MX example.com +dnssec

如果出现 SERVFAIL,优先怀疑 DNSSEC/DS 不匹配。

简单处理:

如果不确定 DNSSEC 怎么配,先去注册商后台删除旧 DS / 关闭 DNSSEC。
等解析恢复后,再考虑是否重新开启 Cloudflare DNSSEC。

检查权威委派链路

dig NS example.com +trace

这个命令能看到从根 DNS、TLD 到权威 DNS 的完整委派过程。

如果在 TLD 层返回的 NS 就不是 Cloudflare,说明注册商/注册局还没有把域名委派到 Cloudflare。

如果 trace 在中间失败,结合域名状态和 DNSSEC 排查。

检查域名状态

如果系统有 whois

whois example.com | grep -iE "status|name server|dnssec|hold|pending|inactive"

重点看:

clientHold
serverHold
inactive
pendingVerification

如果出现这些状态,域名可能被注册商或注册局暂停解析。需要去注册商后台处理实名认证、邮箱验证、风控或域名状态问题。