Domain IP Lookup

几乎每个 DNS 区域都会遇到的记录

A主机名指向 IPv4 地址
AAAA主机名指向 IPv6 地址
CNAME主机名指向另一个主机名
MX域名指向其邮件服务器,按优先级排序
TXT域名对应任意文本,如 SPF、DKIM、验证信息
NS域名指向负责应答的域名服务器
DNS 基础

什么是 SOA 记录?DNS 区域权威详解

4 分钟阅读

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 工具。

本主题的免费工具