DNS 记录类型详解:A / AAAA / CNAME / MX / TXT / NS / SRV
一文讲清七种最常用的 DNS 记录各自的用途、写法示例,以及最容易踩的坑。
DNS 记录是域名解析的最小单元。你在域名控制台里添加的每一条记录,本质上都是在告诉全球的解析器:「这个名字应该翻译成什么」。不同类型的记录回答的是不同的问题——有的返回 IP 地址,有的指向另一个名字,有的携带一段文本。下面逐一拆解。
A 记录(IPv4 地址)
A 记录把域名指向一个 IPv4 地址,是最基础、最常见的记录。浏览器访问网站、客户端连接服务器,大多数情况下第一步就是查 A 记录。
www.example.com. A 203.0.113.10
含义:访问 www.example.com 时解析到 203.0.113.10。一个名字可以配多条 A 记录做简单的轮询负载。
AAAA 记录(IPv6 地址)
AAAA(读作「quad-A」)与 A 记录作用相同,只不过返回的是 IPv6 地址。如果你的服务器有 IPv6,建议同时配置 A 和 AAAA,让双栈用户都能访问。
www.example.com. AAAA 2001:db8::1
CNAME 记录(别名)
CNAME 把一个名字指向 另一个名字(而非 IP),解析器会继续对目标名字做查询。它适合把多个子域名统一指向同一目标,目标改 IP 时无需逐一修改。
blog.example.com. CNAME www.example.com.
常见误用:不要给根域(裸域)配 CNAME。 像 example.com(不带 www)这样的根域,按 DNS 规范必须同时携带 SOA、NS 等记录,而 CNAME 要求该名字下不能有任何其他记录,二者冲突。给根域加 CNAME 轻则解析异常,重则邮件、子域全部失效。根域请用 A/AAAA;确需「根域指向别名」时,使用服务商提供的 ALIAS/ANAME/CNAME 展平等替代方案。
MX 记录(邮件路由)
MX(Mail Exchanger)告诉外部邮件服务器:发往 @example.com 的邮件应投递到哪台主机。记录带一个优先级数字,越小越优先。
example.com. MX 10 mail.example.com.
注意 MX 的目标必须是一个能解析出 A/AAAA 的主机名,不能直接写 IP,也不应指向 CNAME。
TXT 记录(文本 / 验证)
TXT 记录存放任意文本,现实中主要用于域名归属验证和邮件安全策略,例如 SPF、DKIM、DMARC。
example.com. TXT "v=spf1 include:_spf.example.net -all"
上例是一条 SPF 记录,声明哪些主机有权代表本域发信。各类平台的「添加一条 TXT 以验证域名所有权」也走这里。
NS 记录(委派)
NS(Name Server)记录指明由哪些权威服务器负责解析某个区域。它把某个域名(或子域)的解析权「委派」出去。
example.com. NS ns1.registrar-dns.com.
在域名注册商处设置的 NS,决定了整个域名交由哪套 DNS 托管服务解析——这是所有其他记录生效的前提。
SRV 记录(服务定位)
SRV 记录用于指明某种服务运行在哪个主机的哪个端口,常见于 SIP、XMPP、Minecraft、AD 等协议。名字采用 服务.协议 的格式。
_sip._tcp.example.com. SRV 10 5 5060 sipserver.example.com.
四个字段依次是:优先级、权重、端口、目标主机。
常见记录一览
| 类型 | 用途 | 目标 | |------|------|------| | A | IPv4 地址 | IPv4 | | AAAA | IPv6 地址 | IPv6 | | CNAME | 别名(禁用于根域) | 域名 | | MX | 邮件路由 | 主机名 + 优先级 | | TXT | 文本 / 验证(SPF 等) | 字符串 | | NS | 委派解析 | 域名服务器 | | SRV | 服务定位 | 主机 + 端口 |
小结
七种记录各司其职:A/AAAA 负责把名字落到 IPv4/IPv6 地址,CNAME 做别名(切记根域不可用),MX 管邮件投递,TXT 承载验证与安全策略,NS 决定谁来解析,SRV 定位具体服务与端口。配置时把握两个原则——根域优先用 A/AAAA、MX 和 CNAME 的目标要指向能解析的主机名,就能避开绝大多数常见错误。改动 DNS 后还需耐心等待 TTL 过期,解析才会在全网生效。