我在家中使用 BIND 作为 DNS 服务器。对于我的授权开始(SOA 记录),我始终使用推荐格式的序列号
年年月日##
##
当天更改的柜台在哪里。
不幸的是,我更改了序列号并错误地添加了 1 位数字。更新名称守护程序后,我无法再恢复此状态。
有没有可能的方法来重置 BIND 内部库中的串行/计数器?
答案1
如果您可以通过 shell 访问所有从属服务器,则有一个更简单的解决方案:
为了能够减少从属服务器上的序列号,您可以登录到从属服务器并运行rndc retransfer my.zone.name
.这将导致从设备从主设备获取区域并完全忽略序列号。
答案2
“BIND 的内部库”并不关心序列号是什么。只有主服务器和从服务器之间的协议才是重要的。换句话说,BIND 会很高兴地让您减少区域文件中的序列号,而不会抱怨。只是从站将不再接收更新。
区域文件序列号是无符号 32 位整数,它们环绕最大可能的 32 位无符号整数。因此,有一种方法可以通过重复增加序列号直到它翻转并变得接近于零来减少序列号。一次可以增加的最大数量,因此您必须分多个步骤迭代执行此操作:
- 大幅增加序列号,但不超过 2147483647
- 等待所有从属服务器赶上并与当前 SOA 保持同步。
- 重复
您始终可以选择一个增量,这样就不需要迭代两次以上。
跟随本指南。