如何重置或降低BIND DNS服务器的SOA记录中使用的序列号?


9

我在家使用BIND作为我的DNS服务器。对于我的授权开始(SOA记录),我始终使用推荐格式的序列号

YYYYMMDD ##

##那天的变化计数器在哪里。

不幸的是,我更改了序列号,并误加了1位数字。更新name-daemon后,我无法恢复它了。

有没有办法重置BIND内部库中的串行/计数器?


Answers:


8

“ BIND的内部库”不在乎序列号是什么。重要的只是主服务器和从服务器之间的协议。换句话说,BIND会很乐意让您减少区域文件中的序列号而不会抱怨。只是从站将不再接收更新。

区域文件序列号是无符号的32位整数,并且它们包裹着最大的32位无符号整数。因此,有一种方法可以减少序列号,方法是反复增加序列号,直到其翻转并接近零为止。您可以一次增加最大数量,因此您必须分多个步骤进行迭代:

  • 大幅度增加序列号,但不要超过2147483647
  • 等待所有从属服务器赶上并更新当前的SOA。
  • 重复

您总是可以选择一个增量,这样您就不需要迭代两次以上。

遵循此HOWTO


13

如果您可以通过外壳访问所有从属服务器,则有一个更简单的解决方案:

为了能够减少从属服务器上的序列号,您可以登录到从属服务器并运行rndc retransfer my.zone.name。这将导致从属设备从主设备获取区域,而完全忽略序列号。


2
是的,那是假设您有权访问每台从属服务器,或者您想请每台从属服务器的管理员为您运行该命令。
Celada '04年

1
非常有用,请投票!但是,由于另一个答案既不必要也不旧,因此您可能希望将第一行更改为“如果可以通过外壳访问所有从属服务器,则有一个更简单的解决方案:”。
Heinzi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.