DNS 记录类型
最常用 DNS 记录类型的参考:名称、用途和值示例。
18
AAddressRFC 1035地址

将域名关联到一个 IPv4 地址。

example.com → 93.184.216.34
AAAAIPv6 AddressRFC 3596地址

将域名关联到一个 IPv6 地址。

example.com → 2606:2800:220:1:248:1893:25c8:1946
CAACertification Authority AuthorizationRFC 8659安全

获准为该域名颁发 TLS 证书的证书颁发机构。

0 issue "letsencrypt.org"
CNAMECanonical NameRFC 1035别名

指向另一个域名而非 IP 的别名。

www.example.com → example.com
DNSKEYDNS KeyRFC 4034安全

DNSSEC 用于签名区域记录的公钥。

256 3 8 AwEAAb…
DSDelegation SignerRFC 4034安全

将区域关联到父区域的 DNSSEC 密钥(已签名的委派)。

2371 13 2 8ACBB0CD…
HINFOHost InformationRFC 1035文本

主机信息:CPU 和操作系统;如今已很少使用。

"Intel" "Linux"
HTTPSHTTPS Service BindingRFC 9460服务

连接参数(ALPN、端口、IP),用于加快 HTTPS 访问。

1 . alpn="h2,h3"
MXMail ExchangeRFC 1035邮件

域名的邮件服务器,带有优先级(数字越小越优先)。

10 mail.example.com
NAPTRNaming Authority PointerRFC 3403服务

用于服务发现的重写规则(用于 ENUM 和 SIP)。

100 10 "U" "E2U+sip" "!^.*$!sip:info@example.com!" .
NSName ServerRFC 1035区域

管理域名区域的权威名称服务器。

ns1.example.com
PTRPointerRFC 1035反向

反向 DNS:将 IP 地址关联到域名。

34.216.184.93.in-addr.arpa → example.com
SOAStart of AuthorityRFC 1035区域

区域的权威数据:主服务器、联系人和刷新时间。

ns1.example.com admin.example.com 2024010101
SRVServiceRFC 2782服务

服务的位置(主机和端口),如 SIP 或 XMPP。

_sip._tcp 10 5 5060 sip.example.com
SSHFPSSH FingerprintRFC 4255安全

主机 SSH 公钥的指纹,用于验证连接。

1 1 123456789abcdef…
SVCBService BindingRFC 9460服务

通用服务绑定记录;它是 HTTPS 记录的基础。

1 svc.example.com alpn="h2"
TLSATLS AssociationRFC 6698安全

通过 DANE 将 TLS 证书与域名关联。

3 1 1 0b87ad…
TXTTextRFC 1035文本

自由文本;用于 SPF、DKIM、DMARC 和所有权验证。

v=spf1 include:_spf.google.com ~all

工作原理

DNS 记录是域名区域文件中的一条条目,用来回答一个具体问题:它指向哪个 IP 地址、哪些服务器接收它的邮件、谁管理这个区域,或者哪些机构可以为它签发证书。每种记录类型回答的问题各不相同,配置良好的区域会组合使用多种记录。

这份参考汇集了日常会遇到的记录类型——从基础的 A、AAAA、CNAME、MX 和 TXT,到 CAA、DNSKEY、DS、TLSA 和 SSHFP 等安全相关记录——并附上完整名称、各自的用途,以及它们在区域文件中的样例。

这是一张查阅表:它不会发起请求,也不会分析你的域名。如果你需要查看某个域名的真实记录,DNS 查询工具可以实时解析。

示例

Aejemplo.com. 3600 IN A 192.0.2.10把一个名称指向一个 IPv4 地址。3600 是以秒为单位的 TTL:解析器可以缓存该应答多久。
MXejemplo.com. 3600 IN MX 10 mail.ejemplo.com.这个数字是优先级:先尝试数值最小的。通常会声明多条 MX 作为备用。
TXTejemplo.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"TXT 记录保存自由文本。主要用于 SPF、DKIM、DMARC,以及验证域名所有权。

使用场景

  • 在改动生产域名的区域文件之前,先确认该用哪种记录类型。
  • 读懂一次 DNS 查询的应答,或一次邮件诊断的结果。
  • 把 MX 与 SPF、DKIM、DMARC 的 TXT 记录组合起来,配置域名的邮件服务。
  • 检查区域的安全记录:用 CAA 限制谁能签发证书,用 DS 和 DNSKEY 支持 DNSSEC。

常见问题

A 记录和 CNAME 有什么区别?

A 记录直接指向一个 IPv4 地址。CNAME 指向另一个名称,那个名称再继续被解析。当目标 IP 经常变动时 CNAME 很方便,但它给解析多加了一跳,而且有限制:不能与同名的其他记录共存,也不能用在域名根上。

为什么我不能在域名根上设置 CNAME?

因为区域的根上必然存在 SOA 和 NS 记录,而标准不允许 CNAME 与同名的其他记录共存。为了绕开这一点,许多服务商提供了自家的替代方案,比如 ALIAS 或 ANAME,它们的行为像 CNAME,但会直接返回地址。

TTL 是什么,设成多少比较合适?

TTL(time to live)是解析器可以缓存应答的秒数。TTL 高可以减少查询、加快解析;TTL 低则让改动更快生效。常见做法是在迁移前几个小时调低,等改动稳定后再调回去。

为什么我的 DNS 改动还没生效?

因为旧的值还在缓存里。在此前那次应答所带的 TTL 到期之前,中间的解析器和操作系统都可能继续返回旧数据。浏览器自身的缓存也有影响,有时会把解析结果保留到 TTL 之后。

CAA 记录有什么用?

它声明哪些证书颁发机构有权为该域名签发证书。CA 在签发前必须查询它,因此这是一种简单的办法,可以防止第三方在别的 CA 那里拿到你域名的有效证书。