从抽象角度来看, DNS记录就像是互联网内的带层级的分布式的键值存储
DNS记录类型及作用整理
| 记录类型 |
作用 |
示例 |
| A |
将域名映射到IPv4地址 |
example.com A 192.0.2.1 |
| AAAA |
将域名映射到IPv6地址 |
example.com AAAA 2001:db8::1 |
| CNAME |
定义域名的别名(指向另一个域名) |
www.example.com CNAME example.com |
| MX |
指定邮件服务器的地址及优先级(数字越小优先级越高) |
example.com MX 10 mail.example.com |
| NS |
指定负责该域名的权威DNS服务器 |
example.com NS ns1.example.com |
| TXT |
存储文本信息,常用于验证域名所有权或配置SPF/DKIM/DMARC等安全策略 |
example.com TXT "v=spf1 mx ~all" |
| PTR |
反向DNS记录,将IP地址映射到域名(用于反向解析) |
192.0.2.1 PTR example.com |
| SOA |
标记DNS区域的权威信息,包含主服务器、管理员邮箱、序列号等元数据 |
example.com SOA ns1.example.com ... |
| SRV |
定义特定服务的位置(如SIP、XMPP),包含优先级、权重、端口和目标主机 |
_sip._tcp.example.com SRV 10 60 5060 sipserver.example.com |
| CAA |
控制允许为域名颁发证书的证书颁发机构(CA) |
example.com CAA 0 issue "letsencrypt.org" |
| AFSDB |
指定AFS(Andrew File System)数据库服务器的位置 |
example.com AFSDB 1 afsdb.example.com |
| NAPTR |
用于ENUM查询,将电话号码映射到网络服务 |
example.com NAPTR 100 10 "u" "E2U+sip" ... |
| SSHFP |
存储SSH服务器的公钥指纹,用于验证SSH连接 |
example.com SSHFP 1 1 abc123... |
常见记录类型详细说明
1. A记录
- 作用:最基础的DNS记录,直接将域名解析为IPv4地址。
- 场景:访问网站时,浏览器通过A记录获取服务器IP。
2. AAAA记录
- 作用:与A记录类似,但支持IPv6地址。
- 场景:IPv6网络环境下访问网站。
3. CNAME记录
- 作用:将子域名指向另一个域名(需最终解析到A/AAAA记录)。
- 注意:CNAME记录会覆盖其他记录(如MX、TXT),需谨慎使用。
4. MX记录
- 作用:指定接收邮件的服务器地址及优先级。
- 优先级:数值越低优先级越高,多条MX记录可实现负载均衡。
5. TXT记录
- 作用:存储任意文本信息,常用于:
- SPF记录(防邮件伪造)
- DKIM/DMARC(邮件验证)
- 域名验证(如Google Search Console)
6. PTR记录
- 作用:反向解析IP到域名,常用于邮件服务器验证(反垃圾邮件)。
7. SOA记录
- 作用:定义DNS区域的权威信息,包含:
- 主DNS服务器名称
- 管理员邮箱
- 序列号(用于同步DNS服务器)
- 刷新时间、重试时间、过期时间等
8. SRV记录
- 作用:指定特定服务的主机和端口(如VoIP、即时通讯)。
- 格式:
_服务._协议.域名 SRV 优先级 权重 端口 目标
9. CAA记录
- 作用:限制哪些CA机构可为域名颁发证书,增强安全性。
- 示例:
0 issue "letsencrypt.org" 表示仅允许Let's Encrypt颁发证书。
注意事项
- TTL值:所有记录均可设置TTL(Time to Live),控制缓存时间。
- 记录冲突:CNAME不能与其他记录(如MX、TXT)共存于同一域名。
- 优先级/权重:MX和SRV记录通过数值控制优先级和流量分配。