DNS 记录类型图解 A AAAA CNAME MX TXT NS

DNS(域名系统)是互联网的"电话簿"——它将人类可读的域名(如 example.com)转换为计算机用于路由流量的 IP 地址。DNS 系统依赖多种类型的 DNS 记录,每种记录都有不同的用途。本文全面介绍您需要了解的每种主要 DNS 记录类型:它的作用、使用时机、实际示例以及常见错误。

DNS 记录是什么,它们如何工作?

DNS 记录是存储在权威名称服务器上的 DNS 区域文件中的条目。当有人在浏览器中输入域名时,DNS 解析器会查询这些记录以找到正确的 IP 地址或其他配置数据。每条记录都有类型、名称、值和 TTL(生存时间),TTL 控制解析器在重新查询之前缓存结果的时间。

DNS 记录通过域名注册商的 DNS 面板、Cloudflare 等第三方 DNS 提供商,或 cPanel、DirectAdmin 等托管控制面板进行管理。更改会根据 TTL 在全球范围内传播——较低的 TTL 意味着更快的传播,但 DNS 查询更多。

A 记录 — 最基础的 DNS 记录

A 记录(地址记录)将主机名映射到 IPv4 地址。这是最基本的记录类型,也是任何网站都会首先配置的记录。

A 记录示例

example.com.      3600  IN  A  203.0.113.1
www.example.com.  3600  IN  A  203.0.113.1
api.example.com.  3600  IN  A  203.0.113.5

何时使用 A 记录

AAAA 记录 — IPv6 地址映射

AAAA 记录(四 A 记录)与 A 记录完全相同,但映射到 IPv6 地址。随着 IPv4 地址空间耗尽,IPv6 对现代基础设施变得越来越重要。

AAAA 记录示例

example.com.  3600  IN  AAAA  2001:db8:85a3::8a2e:370:7334

提示:当您启用 Cloudflare 代理模式时,即使您的源服务器仅支持 IPv4,Cloudflare 也会自动添加 AAAA 记录,为您的访问者提供双栈访问。

CNAME 记录 — 主机名别名

CNAME 记录(规范名称)创建从一个主机名到另一个主机名的别名。它不是指向 IP,而是指向另一个主机名,让 DNS 解析最终目的地。当服务的 IP 地址可能改变但主机名保持不变时,这非常有用。

CNAME 记录示例

www.example.com.   3600  IN  CNAME  example.com.
shop.example.com.  3600  IN  CNAME  myshop.shopify.com.
blog.example.com.  3600  IN  CNAME  myblog.wordpress.com.

CNAME 记录的关键限制

MX 记录 — 电子邮件路由

MX 记录(邮件交换记录)告诉 DNS 哪个邮件服务器应接收发往您域名的电子邮件。MX 记录包含优先级值——数字越小,优先级越高。多个 MX 记录可提供故障转移。

MX 记录示例

; 通用设置(主备)
example.com.  3600  IN  MX  10  mail1.example.com.
example.com.  3600  IN  MX  20  mail2.example.com.

; Google Workspace
example.com.  3600  IN  MX  1   aspmx.l.google.com.
example.com.  3600  IN  MX  5   alt1.aspmx.l.google.com.
example.com.  3600  IN  MX  5   alt2.aspmx.l.google.com.

MX 记录的重要规则

TXT 记录 — 验证与电子邮件认证

TXT 记录存储与域名关联的任意文本数据。最常用于域名所有权验证以及防止伪造和网络钓鱼的电子邮件认证标准 SPF、DKIM 和 DMARC。

TXT 记录示例

; SPF — 授权 Google 代表您的域名发送邮件
example.com.  3600  IN  TXT  "v=spf1 include:_spf.google.com ~all"

; DMARC — 对失败的邮件进行隔离并报告给管理员
_dmarc.example.com.  3600  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

; DKIM 公钥
google._domainkey.example.com.  3600  IN  TXT  "v=DKIM1; k=rsa; p=MIGfMA0G..."

; Google Search Console 验证
example.com.  3600  IN  TXT  "google-site-verification=abc123xyz..."

重要提示:一个域名应该只有一条 SPF TXT 记录。多条 SPF 记录会导致验证失败。使用 include: 机制将所有授权发件人合并到一条记录中。

NS 记录 — 名称服务器委派

NS 记录(名称服务器)指定哪些 DNS 服务器对您的域名具有权威性。当您将域名的 DNS 切换到 Cloudflare 或任何其他提供商时,您需要在注册商处更新 NS 记录,指向新的名称服务器。

NS 记录示例

example.com.  86400  IN  NS  ns1.cloudflare.com.
example.com.  86400  IN  NS  ns2.cloudflare.com.

NS 记录通常有较长的 TTL(86400 秒 = 24 小时),因为它们很少变化。更改名称服务器需要 24–48 小时才能在全球 DNS 层次结构中传播。

SOA 记录 — 区域权威信息

SOA 记录(授权起始记录)是每个 DNS 区域必须具有的强制记录。它标识区域的主名称服务器、管理员的电子邮件地址、用于同步服务器间区域传输的序列号以及时序参数。

SOA 记录示例

example.com.  86400  IN  SOA  ns1.example.com.  hostmaster.example.com. (
    2026110101  ; 序列号(YYYYMMDDNN 格式)
    3600        ; 刷新间隔
    900         ; 重试间隔
    604800      ; 过期时间
    300         ; 最小 TTL / 负缓存 TTL
)

SOA 记录由您的 DNS 提供商自动管理,通常无需手动编辑——当您更改区域时序列号会自动递增。

PTR 记录 — 反向 DNS 查询

PTR 记录(指针记录)是 A 记录的反向:它将 IP 地址映射回主机名。PTR 记录存储在特殊的 in-addr.arpa 区域(IPv4 用),由 IP 地址所有者控制——通常是您的 ISP 或托管提供商,而非域名持有者。

PTR 记录的使用场景

SRV 记录 — 服务位置

SRV 记录(服务记录)指定特定服务的主机名和端口。记录名称遵循 _service._protocol.domain 格式。SRV 记录通常用于 VoIP 系统、Microsoft Teams、游戏服务器和 XMPP 消息。

SRV 记录示例

; Microsoft Teams / Skype for Business
_sip._tls.example.com.  3600  IN  SRV  100 1 443 sipdir.online.lync.com.
_sipfederationtls._tcp.example.com.  3600  IN  SRV  100 1 5061 sipfed.online.lync.com.

; Minecraft 游戏服务器
_minecraft._tcp.example.com.  3600  IN  SRV  0 5 25565 mc.example.com.

SRV 记录字段说明

CAA 记录 — SSL 证书颁发机构控制

CAA 记录(证书颁发机构授权)指定哪些证书颁发机构(CA)被允许为您的域名颁发 SSL/TLS 证书。这可以防止未经授权的证书颁发——这是一项关键安全控制。

CAA 记录示例

; 仅允许 Let's Encrypt 和 DigiCert
example.com.  3600  IN  CAA  0 issue "letsencrypt.org"
example.com.  3600  IN  CAA  0 issue "digicert.com"
; 仅允许 DigiCert 颁发通配符证书
example.com.  3600  IN  CAA  0 issuewild "digicert.com"
; 报告未授权颁发尝试
example.com.  3600  IN  CAA  0 iodef "mailto:[email protected]"

DNS 记录类型对比表

类型 用途 指向目标 使用频率
A 域名 → IPv4 203.0.113.1 ★★★★★
AAAA 域名 → IPv6 2001:db8::1 ★★★☆☆
CNAME 主机名 → 主机名 example.com ★★★★☆
MX 邮件服务器路由 mail.example.com ★★★★★
TXT 文本数据 / 认证 "v=spf1 ..." ★★★★★
NS 名称服务器委派 ns1.cloudflare.com ★★★★★
SOA 区域权威信息 由提供商管理 ★★★☆☆
PTR IP → 主机名(反向 DNS) mail.example.com ★★★☆☆
SRV 服务 + 端口 10 60 5060 sip.example.com ★★☆☆☆
CAA SSL CA 授权 "letsencrypt.org" ★★☆☆☆

常见 DNS 配置错误

1. 在根域名放置 CNAME

RFC 1034 禁止在顶点域名使用 CNAME 记录,因为它们不能与强制的 NS 和 SOA 记录共存。如果需要将根域名别名到主机名,请使用 A 记录或通过 Cloudflare 使用 CNAME 展平。

2. 将 MX 指向 CNAME

MX 目标必须始终指向具有 A 记录的主机名——永远不要指向 CNAME。邮件服务器严格按 RFC 检查此项,错误的 MX 配置会导致邮件投递失败。

3. 计划更改前 TTL 过高

在任何计划的 DNS 更改前至少 24 小时,将 TTL 降低到 300 秒。这确保切换后缓存记录快速过期,减少传播延迟。

4. 多条 SPF 记录

一个域名有多条 SPF TXT 记录会导致认证失败。使用 include: 指令将所有发件人来源合并到一条记录中。

5. 区域文件中缺少末尾点号

在原始区域文件格式中,完全限定域名需要末尾点号(如 mail.example.com.)。没有它,DNS 服务器会附加区域名称,创建意外的主机名。

注册支持完整 DNS 管理的域名

AsiaGB 支持 .com、.co.th、.in.th 和 500 多个其他域名扩展的所有 DNS 记录类型。每年仅需 500 泰铢注册 .com 域名,附带免费 DNS 管理。

注册域名