DNS 记录类型全解
High Contrast
Dark Mode
Light Mode
Sepia
Forest
4 min read821 words

DNS 记录类型全解

DNS 记录是你在权威域名服务器上配置的"规则"。每种记录类型解决一类问题。理解它们,才能看懂任何 DNS 配置界面。


核心记录类型速览

类型 全称 作用 最常见用途
A Address 域名 → IPv4 地址 指向服务器
AAAA IPv6 Address 域名 → IPv6 地址 IPv6 服务器
CNAME Canonical Name 域名 → 另一个域名 CDN、子域别名
MX Mail Exchange 邮件服务器地址 接收邮件
TXT Text 任意文本 SPF、DKIM、域名验证
NS Name Server 权威 DNS 服务器 域名托管指向
SOA Start of Authority 域的权威信息 自动生成,一般不手动改
CAA Certificate Authority 允许哪些机构签发 SSL SSL 安全控制

A 记录:最基础的记录

用途:把域名指向一个 IPv4 地址(你的服务器)。

类型: A
名称: @(代表根域 example.com)或 shop(代表 shop.example.com)
值: 104.21.3.5(你的服务器 IP)
TTL: 300(秒)

注意事项: - @ 代表根域本身(example.com) - 一个域名可以有多个 A 记录(实现简单负载均衡) - 根域不能用 CNAME,只能用 A 记录或 ALIAS(有的服务商支持)


CNAME 记录:别名,指向另一个域名

用途:把子域名指向另一个域名(而不是 IP)。CDN、第三方服务接入时最常用。

类型: CNAME
名称: shop(代表 shop.example.com)
值: mystore.myshopify.com
TTL: 300

典型场景:

graph LR A["shop.example.com"] -->|CNAME| B["mystore.myshopify.com"] B -->|A 记录| C["23.227.38.65(Shopify 服务器)"] A -.->|最终解析到| C

CNAME 限制: - 根域(@)不能用 CNAMEexample.com 不能设置 CNAME,只能子域用 - CNAME 目标必须是域名,不能是 IP - 不能和其他记录(MX、A)共存于同一名称


MX 记录:接收邮件

用途:告诉其他邮件服务器,发给 @example.com 的邮件应该送到哪。

类型: MX
名称: @
值: mail.example.com
优先级: 10
TTL: 300

优先级:数字越小,优先级越高。通常设置两条(主用 + 备用):

优先级 说明
10 mail.example.com 主邮件服务器
20 mail2.example.com 备用邮件服务器

常见错误:MX 记录的值必须是主机名mail.example.com),不能是 IP 地址。


TXT 记录:万能文本记录

用途:存储任意文本,最常用于: 1. SPF — 声明哪些服务器有资格代表你发邮件 2. DKIM — 邮件签名的公钥 3. DMARC — 邮件验证策略 4. 域名所有权验证 — Google Search Console、SSL 申请等

类型: TXT
名称: @
值: "v=spf1 include:_spf.google.com ~all"
TTL: 300

注意:同一个名称可以有多条 TXT 记录,各自独立生效。


NS 记录:谁是你的权威 DNS

用途:指定谁来管理这个域名的 DNS 记录。

类型: NS
名称: @
值: ns1.cloudflare.com
值: ns2.cloudflare.com

重要:NS 记录在注册商设置,不在 DNS 托管商设置。 - 在 Namecheap 买的域名 → 在 Namecheap 后台修改 Nameservers → 指向 Cloudflare - 修改 NS 记录后,DNS 控制权转移到新的托管商


配置示例:一个典型独立站的 DNS 配置

# 网站
@        A      104.21.3.5         TTL=300
www      CNAME  example.com        TTL=300
# 邮件(使用 Google Workspace)
@        MX     aspmx.l.google.com  优先级=1   TTL=300
@        MX     alt1.aspmx.l.google.com 优先级=5 TTL=300
# 邮件验证
@        TXT    "v=spf1 include:_spf.google.com ~all"
@        TXT    "google-site-verification=xxxxx"
# Shopify 子店
shop     CNAME  mystore.myshopify.com   TTL=300

常见误区


下一节DNS 传播与 TTL——为什么改了 DNS 不立刻生效,TTL 怎么设。