几乎每个 DNS 区域都会遇到的记录
DNS 区域文件详解:记录、名称与 TTL
DNS 区域文件是某个区域(例如 example.com)内 DNS 记录的文本形式,描述了各个名称以及与之关联的数据,包括地址、别名、邮件交换服务器、域名服务器和文本策略。许多托管服务商把原始文件隐藏在网页界面背后,但导出与导入依然沿用区域文件的概念。在服务商迁移、审计和故障排查时,理解这种格式很有价值:一条记录可能语法完全正确,却挂在了错误的名称下,或者按意料之外的默认值被解释。认真的审查既要看每条记录的内容,也要看它所处的区域上下文。
资源记录的组成部分
一条资源记录通常包括所有者名称、可选的 TTL、类(通常是表示互联网数据的 IN)、记录类型,以及与类型相关的数据。A 记录的那一行包含一个 IPv4 地址;MX 行包含优先级和邮件交换服务器的主机名;CNAME 行包含规范目标名称。区域文件可以使用相对名称,即所有者名称相对于区域原点来解释,并用 @ 之类的特殊符号表示区域顶点。末尾的点可以标明这是一个完全限定名称。导入数据时,如果混淆了相对名称和绝对名称,就可能无意中产生重复的域名后缀。
| 概念 | 审查区域时的含义 |
|---|---|
| 所有者名称 | 记录所属的 DNS 名称 |
| TTL | 解析器可以将数据缓存多长时间 |
| 类型 | 该记录所回答的查询类别 |
| RDATA | 该记录类型特有的一个或多个取值 |
| 原点 | 相对名称所依据的区域上下文 |
区域顶点指不带前缀的区域名称,如 example.com,在区域文件中常用 @ 表示。区域的 SOA 和 NS 记录就位于这里。顶点上的 A 和 AAAA 记录发布地址,而 www 或 mail 等子域名所有者则是各自独立的名称。有的服务商会提供 ALIAS 或扁平化功能,看起来像是在顶点上放了一个地址,实际上在后台跟随的是某个主机名;这些属于服务商特有的行为,并不是根域名上普通的 CNAME 记录。迁移时,请先弄清目标服务商如何映射这类功能,再决定能否原样照搬。
把区域当作完整的服务地图来审查
不要把 DNS 导出文件仅仅当作网站配置。邮件投递可能依赖 MX 加上 SPF、DKIM 和 DMARC 的 TXT 记录;分析工具、搜索服务、证书系统和 SaaS 平台的所有权验证,可能依赖 TXT 或 CNAME 记录;服务发现可能使用 SRV,被委派的子域名也可能有自己的 NS 记录。一条看起来陌生的旧记录,可能仍在支撑某个生产依赖。删除任何内容之前,先弄清它的所有者和用途。如果来源不明,请对照应用文档,并询问相关团队,而不要想当然地认为一个看似闲置的主机名可以安全删除。
- 在服务商迁移或清理之前,先导出完整的区域。
- 仔细检查顶点和子域名,包括相对名称的规则。
- 保留邮件、验证和被委派子域名相关的记录。
- 检查 TTL,以及服务商特有的扁平化或代理功能。
- 导入之后,查询权威域名服务器,并比对关键记录。
安全地导入与验证
区域文件的导入可能因记录类型不受支持、格式差异、所有者重复或服务商特有的扩展而失败。切换之前请先校验导出文件,并检查服务商的导入报告,看是否有被跳过的记录。如果更换了 DNS 服务商,务必先把新区域填充完整,再去更新注册商处的委派。委派变更完成后,检查 NS 记录并直接查询关键记录。把线上应答与原来的导出文件对照,再对网站和邮件做针对性的服务检查。导入在语法上成功,并不等于迁移已经验证通过,它只能证明工具接受了这个文件。
有关最常见记录含义的说明,请参阅 DNS 记录类型详解。迁移中涉及域名服务器的部分,请阅读 NS 记录的作用。区域文件是一份精简的配置清单,当团队在原始行之外同时保留上下文时,它的价值最大。请补充说明为何存在特殊记录、归谁所有、哪些服务依赖它们。这点少量的文档,就能避免日后的清理悄悄删掉重要的东西。
保留意图,而不仅仅是导出的那些行
原始的区域导出是一份有用的备份,但它很少说明一条记录为何存在,或哪个团队依赖它。请在文件旁边附上一份清单,写明应用负责人、供应商、续期或复查日期,以及某个值是否可以安全修改。这些上下文对 TXT 记录尤其重要,它们看起来像随意的令牌,却可能用来证明域名所有权或授权邮件系统。审计时,要区分仍在使用的记录,和已经过时但为过渡而保留的记录。导入新服务商之后,既要比对数据,也要比对行为:服务商特有的代理开关、扁平化和验证设置,可能并不会以普通区域文件行的形式体现。区域是运行中的配置,保留它的意图,能让之后的变更更加安全。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
相关阅读
两种寻址方案,并行运行
IPv4
192.0.2.10
32 位,约 43 亿个地址,已耗尽
IPv6
2606:4700::6810:84e5
128 位,约 3.4×10³⁸ 个地址
静态 IP 与动态 IP 地址:有何区别
比较静态与动态 IP 地址,了解各自的适用场景,并明白为什么域名的 DNS 记录不应与固定地址混为一谈,以及如何为地址变更做好准备。
同一个域名返回不同答案的三个原因
地理路由
每个地区对应不同的边缘服务器
缓存
TTL 各自独立,缓存各自独立
分割视图
刻意设计的不同答案
什么是 IP 地理定位?准确性与局限
了解 IP 地理定位如何估算网络位置、为什么结果可能与用户的实际位置不符,以及 DNS 查询究竟能告诉您什么、不能告诉您什么。
几乎每个 DNS 区域都会遇到的记录
什么是 DNS 通配符记录?用途与风险
了解通配符 DNS 记录如何匹配其他未配置的名称,何时能简化子域名管理,以及它们如何掩盖错误。