0%

DNS资源记录

DNS资源记录(Resource Record,RR)是DNS系统的核心,DNS Zone文件,DNS网络协议和DNS系统架构皆围绕其进行。

介绍DNS资源记录,核心在于3个点:

  • 本身核心作用
  • 组织形式是否适配分层结构
  • 与其他资源记录的关系

本文分“常见资源记录”和“非常见资源记录”两部分进行介绍。

一、常见资源记录

资源记录类型 核心作用 组织形式是否适配分层结构 与其他资源记录的关系 示例(ZONE文件格式)
A记录 将域名映射到IPv4地址 索引项为域名天然适配 同一域名不能同时存在A记录和CNAME记录,否则会导致解析冲突 example.com. IN A 1.2.3.4
AAAA记录 将域名映射到IPv6地址 索引项为域名天然适配 同一域名不能同时存在AAAA记录和CNAME记录,否则会导致解析冲突 example.com. IN AAAA 2001:db8::1
CNAME记录 为域名设置别名 索引项为域名天然适配 同一域名不能同时存在A/AAAA记录和CNAME记录,否则会导致解析冲突 www.example.com. IN CNAME example.com.
PTR记录 将IP地址映射到域名 索引项为IP不天然适配,须设计分层结构,见下 / 4.3.2.1.in-addr.arpa. IN PTR host.example.com.
NS记录 指定域名的权威DNS服务器 索引项为域名天然适配 / example.com. IN NS ns1.example.com.
MX记录 指定域名的邮件服务器及对应优先级等 索引项为域名天然适配 / example.com. IN MX 10 mail.example.com.
TXT记录 存储域名相关的任意文本信息,用于“域名验证”,“邮件安全验证(SPF/DKIM/DMARC)”等 索引项为域名天然适配 / example.com. IN TXT "v=spf1 ip4:1.2.3.4 include:spf.qq.com include:spf.163.com ~all"
example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjA"
example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@你的域名.com; fo=1; adkim=s; aspf=s"
SOA记录 起始授权机构记录,存储域名的核心管理信息,比如“主DNS服务器”,“管理员邮箱”,“刷新时间”等 索引项为域名天然适配 / SOA示例见下

针对PTR记录设计分层结构

  • IPv4地址,将IPv4地址四段反转,追加.in-addr.arpa,比如192.168.1.100 -> 反转 -> 100.1.168.192 -> 追加 -> 100.1.168.192.in-addr.arpa
  • IPv6地址,展开IPv6地址为32位十六进制,去掉::0,每一位单独反转,用.分隔,追加.ip6.arpa,比如2001:db8::1 -> 展开 -> 20010db8000000000000000000000001 -> 反转每一位 -> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2 -> 追加 -> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa

SOA示例

1
2
3
4
5
6
7
8
9
; 管理员邮箱admin@example.com须写为admin.example.com

example.com. IN SOA ns1.example.com. admin.example.com. (
2026021201 ; 序列号 (SERIAL)
7200 ; 刷新时间 (REFRESH, 2小时)
3600 ; 重试时间 (RETRY, 1小时)
1209600 ; 过期时间 (EXPIRE, 14天)
3600 ; 不存在记录负生存时间 (NXDOMAIN TTL, 1小时)
)

二、非常见资源记录

非常见资源记录,主要用于特殊网络场景、协议扩展或域名管理。

以下是一些非常见资源记录。

资源记录类型 核心作用 组织形式是否适配分层结构 与其他资源记录的关系 示例(ZONE文件格式)
DNAME记录 域名别名的“泛解析”,将一个子域名及其所有下级域名映射到另一个域名
区别于CNAME:CNAME仅映射单个域名,DNAME支持“层级化域名批量映射”
索引项为域名天然适配 / api.example.com. IN DNAME api.service.com.
HINFO记录 存储主机的硬件和操作系统信息 索引项为域名天然适配 / host1.example.com. IN HINFO "Intel x86_64" "Linux 6.5.0"
SSHFP记录 存储SSH服务器的公钥指纹,避免SSH登录时的“主机密钥未知”警告,提升安全性,但需客户端和服务器同时支持,普及率较低 索引项为域名天然适配 / server.example.com. IN SSHFP 1 2 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
IPSECKEY记录 存储IPsec协议的密钥信息,用于IPsec隧道的密钥分发,需配合VPN设备配置,普通用户无需接触 索引项为域名天然适配 / host.example.com. IN IPSECKEY 10 0 2 . AQABAAEAA...
NSEC记录 权威证明某域名不存在对应的资源记录,用于DNSSEC安全扩展 索引项为域名天然适配 / example.com. IN NSEC www.example.com. A NS SOA MX TXT RRSIG NSEC
NSEC3记录 NSEC的升级版,通过哈希算法隐藏域名存在性,提升隐私性 索引项为域名天然适配 / 1234567890ABCDEF.example.com. IN NSEC3 1 0 10 414243 9876543210FEDCBA A NS SOA MX TXT RRSIG NSEC3
DNSKEY记录 存储DNS区域的ZSK/KSK公钥,为DNSSEC验签提供公钥基础,支撑双层签名体系 索引项为域名天然适配 / example.com. IN DNSKEY 256 3 8 AwEAA...
DS记录 存储KSK公钥的哈希摘要(含算法 + 摘要值),提交给上级域名服务器,构建DNSSEC信任链 索引项为域名天然适配 / example.com. IN DS 12345 8 2 4B1F9B5DCED890ABCDEF1234567890FEDCBA987
RRSIG记录 对DNS记录(如A记录、CNAME记录、DNSKEY记录等)进行数字签名,证明记录未被篡改 索引项为域名天然适配 / example.com. IN RRSIG A 8 2 3600 20260301 20260215 12345 example.com. ...签名...
ZONEMD记录 对整个DNS区域的所有记录计算哈希值,验证区域数据的完整性,防止区域传输/同步时篡改 索引项为域名天然适配 / example.com. IN ZONEMD 1 1 2026021101 abcdef123456...
SRV记录 指定特定服务的服务器地址、端口和优先级,用于企业内网服务发现 索引项为域名天然适配 / _minecraft._tcp.example.com. IN SRV 0 5 25565 mc.example.com.
CAA记录 指定允许为域名颁发SSL证书的机构,提升域名证书安全性,防止恶意机构颁发证书 索引项为域名天然适配 / @ IN CAA 0 issuewild "letsencrypt.org"
您的支持将鼓励我继续分享!