如果我将 DNS 区域的 SOA 序列号设置为“1”并且从不更改它,那么互联网上的域名服务器是否会忽略区域更新或缓慢地查看区域更新?
由于我域中的所有主要 DNS 服务器都是主服务器,因此在序列号更改时,不会出现从服务器传输区域数据的情况。我的每个 DNS 都维护相同的主区域文件。
假设我有一个“A”记录。我假设每次 TTL 过期时,解析器都会重新查询域的主服务器以获取新的“A”记录,并在每次查询时返回主区域中的 IP。那么 SOA 序列重要吗?
一些额外的背景信息。我看到 AWS Route53 将新 DNS 区域的默认序列号设置为“1”,并表示增加序列号是“可选的”,但没有说明为什么它是可选的https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/SOA-NSrecords.html
答案1
SOA 中 SERIAL 字段的主要目的确实是允许辅助名称服务器确定是否应启动区域传输,因为区域已更新。如果您通过其他方法同步区域,则这与此无关,SERIAL 可以是任何值。
SERIAL 不以任何方式参与网络上任意客户端对记录的权威查询。在这种情况下,接收查询的服务器会考虑所请求记录的 TTL。
但是,有一个特殊情况:如果您使用 DNS UPDATE 消息(RFC 2136)来更新 SOA 记录,则 SERIAL 必须高于之前的 SERIAL,否则更新将被忽略。