几乎每个 DNS 区域都会遇到的记录
什么是 SOA 记录?DNS 区域权威详解
SOA 是 Start of Authority(起始授权)的缩写。SOA 记录是位于区域根部的必需 DNS 记录,承载该区域的管理信息和时间信息。它标识了主域名服务器的名称、一个负责人字段、一个序列号,以及供辅助权威服务器使用的若干计时器。它不会返回网站的 IP 地址,也不是通用的状态证明。管理员和诊断工具会查看 SOA 数据,以了解区域如何进行版本管理,以及辅助服务器如何知道何时检查更新。它的各项取值属于运维元数据,需要与 DNS 服务商的管理模型保持一致。
SOA 记录中的字段
一条典型的 SOA 记录包含 MNAME,即区域模型中的主源服务器的名称,以及 RNAME,它以编码形式给出区域管理员的联系信息。它还包含序列号、刷新间隔、重试间隔、过期间隔,以及否定缓存 TTL 值。具体的显示方式因工具而异,由服务商托管的 DNS 可能会抽象掉某些字段,或自动维护它们。RNAME 采用的是 DNS 语法,而不是常规的电子邮件写法;按传统,第一个未转义的点代表 @ 符号。大多数用户不需要手动编辑这条记录,但在排查委派或同步问题时,它可能很有用。
| 字段 | 用途 |
|---|---|
| MNAME | 区域 SOA 数据中的主服务器名称 |
| RNAME | 经过编码的管理联系人名称 |
| 序列号 | 比较区域副本时使用的版本标识 |
| 刷新 / 重试 | 辅助服务器检查的时间间隔 |
| 过期 | 辅助服务器的数据在不刷新的情况下可继续使用多久 |
序列号是运维中最常被讨论的值。在传统的主从 DNS 中,辅助服务器会把自己的序列号与主服务器比较,当主服务器的版本更新时,就请求更新。序列号不一定是日期,也不应被解读为通用的时间戳。现代服务商可能通过专有的控制平面分发区域更新,但可见的 SOA 序列号仍有助于判断不同的权威服务器看起来是否拥有相同的版本。如果序列号不一致,请考虑服务商内部预期的传播,并在断定复制出了问题之前,先确认服务商文档中所述的行为。
SOA 与否定缓存
SOA 还与否定缓存有关:即解析器可以把“某个名称或所请求的记录不存在”这一信息保留多久。实际生效的否定缓存时长遵循 DNS 标准和 SOA 字段,但解析器的行为和服务商的呈现方式,可能让用户看到的情况变得复杂。这就是新创建的记录即使区域配置正确,也可能不会立即出现的原因之一。先前的否定应答可能会在缓存中保留一段时间。在此期间通过同一个解析器重复查询,可能会看到同样的缺失结果;查询另一个解析器或检查权威数据,有助于区分缓存问题和记录缺失。
- 当您需要区域级别的权威信息或序列号时,查看 SOA。
- 使用 NS 记录查看某个域名被委派给了哪些域名服务器。
- 地址类问题使用 A 和 AAAA;SOA 不是地址记录。
- 在断定序列号差异意味着故障之前,先比较各权威服务器。
- 在不了解其运维影响的情况下,不要修改由服务商托管的 SOA 字段。
什么时候 SOA 查询有用
当记录变更在各权威服务器之间看起来不一致、区域刚刚发生过转移,或者否定缓存与某个新名称有关时,SOA 查询可以辅助排障。对于一般的网站故障,它很少是第一步检查。请先从受影响的主机名和记录类型入手,只有当证据指向区域层面的问题时,才去检查委派和 SOA。SOA 应答无法确认网站是否可达,无法确认邮件服务器是否接受邮件,也无法确认所有递归缓存是否都已刷新。
想了解 DNS 数据的更完整全貌,请阅读 DNS 记录类型详解;关于缓存时间,请参阅 DNS TTL 的含义。专门的 DNS 查询可以显示基础比对所需的公网应答。请让 SOA 回归它应有的角色:它描述的是区域权威与协调,而地址、邮件和策略记录回答的是不同的问题。这样区分之后,SOA 记录就比把每个 DNS 字段都当成可能的网站地址好理解得多。
不要凭猜测编辑 SOA 的值
托管的 DNS 平台通常会自动生成并维护 SOA 序列号和计时器。如果管理员从另一个区域复制序列号,或在不了解服务商模型的情况下调低某个时间字段,可能会造成混乱,却无法改善传播。在编辑 SOA 数据之前,请查阅服务商的文档,确认它是否允许手动控制。如果涉及辅助 DNS 服务,请核实其传输和刷新流程是否符合受支持的配置。对大多数网站所有者来说,观察 SOA 比修改它更有用:比较权威数据,记下序列号,并询问服务商其服务器是否已经趋于一致。请保留故障的证据,但除非您有意自行运营权威 DNS,否则请让 DNS 托管方去管理属于其同步系统的那些字段。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
本主题的免费工具
相关阅读
三种角色,往往来自三家不同的公司
什么是 NS 记录?DNS 域名服务器记录详解
理解 NS 记录、父区域委派和权威域名服务器,并学会确认是哪家 DNS 服务商在为域名的记录提供服务。
几乎每个 DNS 区域都会遇到的记录
DNS 区域文件详解:记录、名称与 TTL
了解 DNS 区域文件如何组织记录、所有者名称、TTL 和记录数据,并获得一份审查或迁移区域时可放心照做的检查清单。
两种寻址方案,并行运行
IPv4
192.0.2.10
32 位,约 43 亿个地址,已耗尽
IPv6
2606:4700::6810:84e5
128 位,约 3.4×10³⁸ 个地址
静态 IP 与动态 IP 地址:有何区别
比较静态与动态 IP 地址,了解各自的适用场景,并明白为什么域名的 DNS 记录不应与固定地址混为一谈,以及如何为地址变更做好准备。