# DNS 记录类型详解(人话版)> 把 DNS 想成「通讯录」
> 域名 = 人名,记录类型 = 联系方式种类,记录值 = 号码,TTL = 有效期---## 1. A 记录(Address)
- **作用**:绑定 **IPv4 地址**
- **示例** ```textexample.com. 300 IN A 93.184.216.34
- 场景:浏览器访问
http://example.com时先查到这条 A 记录 - 注意
- 可多条,做负载均衡
- TTL 越小,故障切换越快,但查询量增加
2. AAAA 记录(Quad-A)
- 作用:绑定 IPv6 地址
- 示例
example.com. 300 IN AAAA 2606:2800:220:1:248:1893:25c8:1946 - 场景:用户网络支持 IPv6 时优先使用 AAAA;无则回退到 A
- 注意:与 A 共存,互不影响
3. CNAME 记录(Canonical Name)
- 作用:给域名起「别名」,指向另一个域名
- 示例
www.example.com. 600 IN CNAME example.github.io. - 场景
- 把
www指向 GitHub Pages - CDN 把
static.example.comCNAME 到cdn.cloudflare.com.
- 把
- 注意
- 不能与其它记录并存(根域通常禁止 CNAME)
- 解析会多一跳,延迟略高
4. ALIAS / ANAME(虚拟 CNAME)
- 作用:在根域实现「类似 CNAME」的效果,又能直接返回 A/AAAA
- 示例(Cloudflare)
背后其实是 ALIAS 到example.com. 300 IN A 104.16.133.229foo.herokuapp.com - 场景:裸域托管到 Heroku / Vercel / GitHub Pages
- 注意:各厂商私有实现,用户不感知 CNAME 链
5. MX 记录(Mail eXchange)
- 作用:告诉发件人「邮件应送到哪个服务器」
- 示例
example.com. 3600 IN MX 10 aspmx.l.google.com. example.com. 3600 IN MX 20 alt1.aspmx.l.google.com. - 场景:企业用 Google Workspace / 腾讯企业邮
- 注意
- 数字越小优先级越高
- 必须能解析到对应 A/AAAA
6. TXT 记录(Text)
- 作用:存任意文本,常做「域名所有权验证」
- 示例
example.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" example.com. 300 IN TXT "google-site-verification=abcde..." - 场景:SPF、DKIM、各种平台域名验证
7. NS 记录(Name Server)
- 作用:声明「子域由谁来托管」
- 示例
sub.example.com. 86400 IN NS ns1.cloudflare.com. - 场景:把子域交给 Cloudflare 等第三方托管
8. PTR 记录(Pointer)
- 作用:IP → 域名的反向解析
- 示例
34.216.184.93.in-addr.arpa. 3600 IN PTR mail.example.com. - 场景:邮件服务器自证清白,防垃圾邮件
速查表
| 记录 | 面向 | 值类型 | 能否共存 | 典型用途 |
|---|---|---|---|---|
| A | IPv4 | 1.2.3.4 | ✅ | Web 服务器 |
| AAAA | IPv6 | 2001:db8::1 | ✅ | Web 服务器 |
| CNAME | 域名 | target.example.com | ❌ | 别名、CDN |
| ALIAS/ANAME | 域名 | 同上 | ✅ | 根域名指向 CDN |
| MX | 邮件服务器域名 | 10 mail.example.com | ✅ | 收邮件 |
| TXT | 任意字符串 | "k=v" | ✅ | SPF、DKIM、验证 |
| NS | 权威 DNS 域名 | ns1.xxx.com | ✅ | 子域托管 |
| PTR | 域名 | mail.example.com | ✅ | 反向解析 |
实战问答
| 问题 | 一句话答案 |
|---|---|
| 根域想托管到 Vercel,但只给 CNAME? | 用 ALIAS/ANAME 指到 cname.vercel-dns.com. |
| CNAME 链会让解析变慢吗? | 主流递归 DNS 会缓存整条链,日常无感 |
| A 与 AAAA 并存,浏览器怎么选? | Happy Eyeballs:并发查,IPv6 超时 250 ms 就回退 IPv4 |
| dig 看不到 CNAME,只看到 A? | CDN 做了 CNAME 展平,隐藏中间链 |
口诀总结
- 浏览器要地址 → A / AAAA
- 想偷懒、让 IP 可变 → CNAME
- 根域名想偷懒 → ALIAS / ANAME
- 收邮件 → MX + A/AAAA
- 证明自己 → TXT
- 子域交给别人 → NS
- 邮件服务器不被当垃圾 → PTR
