DNS 记录类型速查(解析与邮箱配置)

5 个速查板块 · 关联 5 款站内工具 · 数据最后核对 2026-10-05

A、AAAA、CNAME、MX、TXT、NS、CAA 各自管什么、怎么填,以及为什么宿主机(根域名)不能直接设 CNAME。

域名解析的规则其实很朴素:有人问你「example.com 在哪」,你按记录类型给出对应的答案。A 记录答「IPv4 地址是多少」,MX 记录答「邮件投给哪台服务器」,TXT 记录则像一个可以贴任意说明的公告栏。

配置出错时,大多数问题都能归到两类:记录类型选错了,或者记录之间互相冲突。下面先给全量类型对照,再单独讲三个最容易踩的坑——CNAME 的使用限制、TTL 的设置权衡,以及邮箱配置为什么需要三条 TXT 记录配合。

1常见记录类型对照

同一个域名下可以并存多种类型的记录,各自回答不同的问题,互不干扰(CNAME 是例外,见下一节)。

类型回答什么问题填写示例
A域名对应的 IPv4 地址www → 203.0.113.10
AAAA域名对应的 IPv6 地址www → 2001:db8::1
CNAME本域名是另一个域名的别名blog → example.github.io
MX该域名的邮件投递给谁(带优先级)@ → 10 mx1.example.com
TXT一段文本说明,用于验证与反垃圾策略@ → v=spf1 include:spf.example.com -all
NS该域名由哪些域名服务器负责解析@ → ns1.example.com
SOA区域的管理信息(序列号、刷新间隔等)由 DNS 服务商自动生成,通常不用手填
SRV某个服务的地址(优先级 / 权重 / 端口 / 目标)_sip._tcp → 10 5 5060 sip.example.com
CAA只允许哪些 CA 为该域名签发证书@ → 0 issue "letsencrypt.org"
PTR反向解析:IP 对应的域名由 IP 持有方设置,通常看邮箱服务商要求
NAPTR基于规则的地址重写,多见于电信与 ENUM一般场景用不到
ALIAS / ANAME非标准扩展:在根域名上实现「类似 CNAME」的效果由部分云解析服务商提供

2TTL:缓存多久才合适

TTL(Time To Live)是「这条记录允许被各级 DNS 缓存多少秒」。它是可用性与变更速度之间的取舍,没有唯一正确答案。

TTL 越长
解析查询越少、响应越快、更省服务商的查询额度;但记录变更后,全球生效要等旧缓存过期
TTL 越短
变更传播快,适合迁移期;但查询次数上升,解析服务商的免费额度消耗更快
常见取值
稳定性优先用 3600 到 86400 秒(1 小时到 1 天);发布迁移前提前把 TTL 降到 300 秒,迁移完成后再调回去
本地缓存干扰排查
改了记录但自己看还是旧的,先清本地 DNS 缓存(Windows 用 ipconfig /flushdns,macOS 重启 mDNSResponder),或直接用运营商之外的公共 DNS 复查
生效时间的上限
理论上是「旧 TTL 剩余时间」,实际操作中还会受各级缓存与客户端缓存影响,所以迁移务必预留至少一整个旧 TTL 的窗口

3CNAME 的两条硬限制

CNAME 是最容易用错的一类记录,限制来自规范本身:一个名字如果被声明成别名,就不能再有自己的其它记录。

限制一:不能与其它记录共存
如果 www 设了 CNAME,就不能再给 www 配 A、MX、TXT 等任何记录。因为「别名」的语义是「我的一切都跟另一个名字走」,再挂别的记录就自相矛盾了
限制二:根域名(裸域)不能设 CNAME
example.com 本身必须要有 SOA 和 NS 记录,而 CNAME 不允许与它们共存。所以「把裸域指向 CDN / 托管平台」这件事,标准 CNAME 做不到
替代方案
部分云解析商提供 ALIAS / ANAME 这类非标准记录,作用类似 CNAME 但只在解析时展开,能在根域名上使用;否则只能让平台给出固定 A 记录
邮件与 CNAME 的冲突
若在根域名上误设 CNAME,会导致所有邮件记录失效——这是「网站正常但收不到邮件」的典型原因之一

4邮箱配置:SPF / DKIM / DMARC 三条记录

这三条都是 TXT 记录(DKIM 有时使用专门的子域名),分别解决「谁可以替我发信」「这封信有没有被篡改」「收信方该怎么处理可疑邮件」。三条配合,邮件才不容易进垃圾箱。

记录位置作用示例
SPF根域名 TXT声明哪些服务器有权以本域名发信v=spf1 include:spf.example.com -all
DKIM选择器子域名 TXT用公钥验证邮件签名,确认内容未被篡改selector._domainkey → v=DKIM1; k=rsa; p=MIGf...
DMARC_dmarc 子域名 TXT告诉收信方:SPF/DKIM 都不过时怎么处理,并接收报告v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com
域名归属验证根域名或指定子域名 TXT云平台 / 邮箱服务商用来确认域名归你所有平台会给出具体字符串,照抄即可

SPF 的结尾 `-all` 表示「未列出的服务器一律拒绝」,比 `~all`(软失败,仅标记)更严格。新上线建议先用 `~all` 观察一段时间,确认没有遗漏的发信源,再收紧成 `-all`。

5常用的公共 DNS 服务

排查解析问题时,换一个公共 DNS 往往能快速区分「是本地网络的问题」还是「记录本身填错了」。

服务商首选备选
阿里云公共 DNS223.5.5.5223.6.6.6
腾讯 DNSPod119.29.29.29182.254.116.116
114 DNS114.114.114.114114.114.115.115
百度公共 DNS180.76.76.76—
Google Public DNS8.8.8.88.8.4.4
Cloudflare1.1.1.11.0.0.1

DNS 缓存与 DNS 劫持是两个不同的问题:前者改记录后短暂不生效,后者是解析结果被篡改。启用 DNSSEC 或改用可信的加密 DNS(DoH / DoT)能缓解劫持问题,但不改变缓存行为。

关于「DNS 记录类型速查(解析与邮箱配置)」的常见问题

为什么根域名不能直接设置 CNAME?

因为规范要求根域名(裸域)必须存在 SOA 与 NS 记录,而 CNAME 的语义是「这个名字的全部解析都跟随另一个名字」,不允许与任何其它记录并存。两者冲突,所以标准 DNS 里根域名无法使用 CNAME。常见的绕法是使用云解析商提供的 ALIAS / ANAME 这类非标准记录,它在应答时才展开成目标地址,因此能与 SOA、NS 共存;否则只能请托管平台提供一个固定的 A 记录。

改了 DNS 记录为什么半天还不生效?

因为记录被各级 DNS 缓存了,缓存时长就是 TTL。解析器在 TTL 到期前会一直返回旧值,所以「生效时间」的上限就是旧记录的剩余 TTL 加上各级缓存叠加的延迟。想让变更快速传播,应在修改前先把 TTL 调到 300 秒左右,等旧 TTL 过期后再改记录。另外,自己的电脑也会缓存,检查时先刷新本地 DNS 缓存,或换一个公共 DNS 再看,避免被本机缓存误导。

SPF、DKIM、DMARC 三个都要配吗?

建议都配。SPF 声明「哪些服务器有权以你的域名发信」,DKIM 用数字签名证明「这封信确实是你发的、内容没被改过」,DMARC 则把前两者的检查结果与你的处理策略挂钩,并让收信方定期给你发报告。只配 SPF 时,转发场景容易因路径变化而失配;加上 DKIM 可显著改善;DMARC 则让你能掌控「检查不通过时是拒收还是隔离」,并收到汇总报表便于排查。

TTL 设多少合适?

稳定运行期用 3600 秒(1 小时)到 86400 秒(1 天)都常见,取长一点能减少查询量、加快响应。需要变更(换服务器、迁移 CDN)之前,先把 TTL 降到 300 秒,让全球缓存尽快刷新到新记录,变更完成确认无误后再调回较长值。要注意的是 TTL 会被各级解析器缓存,实际生效时间以「修改前已下发的旧 TTL」为准,所以迁移最好预留一整天作为保险。

内容标识:本页内容由人工智能辅助生成,并经人工核对与编辑。详见 人工智能生成内容标识说明。
内容说明:本页速查数据由本站自行整理,事实性内容以对应官方规范与文档为准,未复制第三方速查表或百科的表述。数据最后核对日期:2026-10-05。若发现错误或已更新的标准,欢迎通过页脚反馈入口告知。