乐闻世界logo
搜索文章和话题

常见的 DNS 记录类型有哪些,分别有什么作用

3月6日 22:50

DNS 数据库中存储了多种类型的资源记录(Resource Records,RR),每种记录类型都有特定的用途。以下是面试中最常被问到的 DNS 记录类型。

核心记录类型详解

1. A 记录(Address Record)

作用:将域名映射到 IPv4 地址

格式

dns
www.example.com. 3600 IN A 192.0.2.1

使用场景

  • 网站服务器指向
  • 最常用的 DNS 记录类型
  • 一个域名可以有多个 A 记录(负载均衡)

2. AAAA 记录(IPv6 Address Record)

作用:将域名映射到 IPv6 地址

格式

dns
www.example.com. 3600 IN AAAA 2001:db8::1

使用场景

  • IPv6 网络环境下的域名解析
  • 与 A 记录并存,支持双栈网络

3. CNAME 记录(Canonical Name Record)

作用:创建域名的别名,指向另一个域名

格式

dns
blog.example.com. 3600 IN CNAME example.github.io.

重要限制

  • CNAME 记录不能与 MX、NS、SOA 等其他记录共存于同一域名
  • 根域名(@)通常不能使用 CNAME
  • 会引入额外的 DNS 查询延迟

使用场景

  • CDN 配置
  • 第三方服务接入(如 GitHub Pages、Heroku)
  • 子域名统一管理

4. MX 记录(Mail Exchange Record)

作用:指定邮件服务器的地址和优先级

格式

dns
example.com. 3600 IN MX 10 mail1.example.com. example.com. 3600 IN MX 20 mail2.example.com.

优先级说明

  • 数字越小,优先级越高
  • 邮件会优先发送到优先级低(数字小)的服务器
  • 支持邮件服务器冗余和负载均衡

使用场景

  • 企业邮箱配置
  • 邮件服务迁移

5. NS 记录(Name Server Record)

作用:指定该域名的权威 DNS 服务器

格式

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

使用场景

  • 域名托管配置
  • DNS 服务商切换
  • 子域名委派

6. TXT 记录(Text Record)

作用:存储任意文本信息

格式

dns
example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"

常见用途

  • SPF 记录:邮件发送策略框架,防止邮件伪造
  • DKIM 记录:邮件数字签名验证
  • DMARC 记录:邮件认证、报告和一致性
  • 域名验证:Google、百度等搜索引擎验证

7. SOA 记录(Start of Authority Record)

作用:定义区域的管理信息,每个区域文件必须有且只有一个 SOA 记录

格式

dns
example.com. 86400 IN SOA ns1.example.com. admin.example.com. ( 2024010101 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL

字段说明

字段说明
Serial区域文件版本号,变更时需递增
Refresh从服务器刷新间隔
Retry刷新失败后的重试间隔
Expire从服务器数据过期时间
Minimum TTL负缓存 TTL

8. PTR 记录(Pointer Record)

作用:实现反向 DNS 解析,将 IP 地址映射到域名

格式

dns
1.2.0.192.in-addr.arpa. 3600 IN PTR www.example.com.

使用场景

  • 邮件服务器反垃圾验证
  • 网络故障排查
  • 安全审计

9. SRV 记录(Service Record)

作用:定义特定服务的服务器位置

格式

dns
_sip._tcp.example.com. 3600 IN SRV 10 5 5060 sipserver.example.com.

字段说明

  • 优先级、权重、端口、目标服务器

使用场景

  • SIP 协议(VoIP)
  • XMPP 即时通讯
  • LDAP 服务发现

10. CAA 记录(Certification Authority Authorization)

作用:指定哪些证书颁发机构(CA)可以为该域名签发证书

格式

dns
example.com. 3600 IN CAA 0 issue "letsencrypt.org" example.com. 3600 IN CAA 0 issuewild ";"

使用场景

  • 增强 SSL/TLS 证书安全性
  • 防止未经授权的证书签发

记录类型对比表

记录类型主要功能常用程度面试频率
AIPv4 地址映射⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
AAAAIPv6 地址映射⭐⭐⭐⭐⭐⭐
CNAME域名别名⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
MX邮件服务器⭐⭐⭐⭐⭐⭐⭐⭐
NS域名服务器⭐⭐⭐⭐⭐⭐⭐⭐
TXT文本信息⭐⭐⭐⭐⭐⭐⭐⭐
SOA区域管理⭐⭐⭐⭐⭐⭐
PTR反向解析⭐⭐⭐⭐⭐⭐
SRV服务定位⭐⭐⭐⭐
CAACA 授权⭐⭐⭐⭐

面试常见问题

Q: A 记录和 CNAME 记录可以同时存在吗?

A: 不可以。如果域名设置了 CNAME 记录,就不能再设置 A 记录或其他记录类型(除 DNSSEC 相关记录外)。

Q: 为什么根域名不能使用 CNAME?

A: 因为根域名必须有 NS 和 SOA 记录,而 CNAME 与其他记录类型冲突。

Q: MX 记录的优先级数字越小优先级越高还是越低?

A: 数字越小优先级越高,邮件会优先发送到优先级高的服务器。

标签:DNS