因此,DNS 区域文件包含指定权威名称服务器的 SOA 记录,以及一些其他信息,例如“序列号”。
我想了解序列号的用途。在 Google 上搜索答案后,我找到了以下解释:
DNS 区域文件中的序列号为服务器提供了一种验证特定区域文件内容是否最新的方法。如果区域文件中的序列号自上次加载该区域以来没有更改,则表示它可以忽略该文件。这意味着系统管理员必须记住每次更改区域文件时都更新序列号——否则,他们的更改将不会被采纳和发布。
我不明白这个解释,而且这要求系统管理员记住手动更新序列号这一事实似乎很疯狂。
那么,序列号的用途是什么?它不可能是其他DNS 服务器验证特定记录是否过期,因为 TTL 就是为此而设的。
那么,为什么序列号如此重要?为什么不在发生更改时让 DNS 服务器重新读取区域文件呢?
答案1
这是为了让其他进行区域传输的服务器能够验证是否需要进行区域传输。旧序列号,无传输。此服务器不涉及 TTL。
DNS 服务器知道,当序列号发生变化时,它需要重新读取区域文件,因为仅仅进行更改不会触发任何操作,区域文件中没有通过更改任何内容生成的时间戳来表明大多数 DNS 软件已经更新。大多数区域文件只是 *nix 世界中的文本文件。
正常惯例是,序列号是 ISO 日期格式的时间戳,后跟两个数字增量
2014101501
当发生更改时,Microsoft 产品会设置自动增加序列号。