将DNS序列号更改为过去的


12

我有一些由我的前任为我们的组织设置的DNS服务器。他没有使用标准格式的序列号,而是使用了2033年以后的奇数格式。我想做的是用我自己的DNS服务器替换其DNS服务器,但担心通过使用将序列号更改为“适当”格式YYYYMMDDXX,因为它将是一个较小的数字。

这些是我们的公共DNS服务器,我只想确保这样做不会有任何问题。有没有人有过这种过渡的经验?


6
注意:DNS序列号没有标准格式。
约翰·加迪尼尔

1
@John RFC1912第2.2节建议使用该串行格式。请参阅:faqs.org/rfcs/rfc1912.html
贾斯汀·斯科特

@Justin,仅此而已。这不是标准。除此之外,RFC仍然不是标准。它是标准建议的前提。而已。
约翰·加迪尼尔

@John我不是说这是一个标准,我说这是“推荐”的。但是,我见过的几乎每个DNS区域都使用该格式,因此您可以说这是事实上的标准。
贾斯汀·斯科特

Answers:


6

如果以2033开头的数字大于YYYYMMDDXX标准,则可以重置该值。

这里是描述该过程的文章。基本上,您必须利用以下事实:序列号是32位整数,如果使用较大的值,则将自动换行。


这就是为什么在堆栈交换中链接到解决方案并没有真正提供信息的原因。链接已死!
labradort

@labradort仍然对我有用。不久前,它已更改为archive.org链接,仍然有效。这里有一对夫妇更多的联系unix.stackexchange.com/questions/36869/... microhowto.info/howto/... 我真的不希望在页面的全部复制粘贴到一个答案。另外,我仍然认为提及32位整数可能足以让大多数人通过Google当前页面。
Zoredache '18年

“ 504网关超时服务器未及时响应。” -来自原始链接。这是一些有用的信息...绑定9.9不会通过“还通知”进行区域传输,除非序列号增加。序列号一次最多不能超过2147483647。里程表上的99999999等效值为2 ^ 32-1或4294967295。在递增之前,请等待辅助NS获得新的SOA,这样您就可以将它们全部前滚到较低的序列号。
labradort


4

您可以将序列号设置为任何所需的值。默认情况下,除非数量更大,否则辅助服务器不会进行区域传输,但是只要您可以直接访问它们,就可以命令它们强制进行传输并重新加载。只需将序列号设置为所需的值,然后向辅助服务器发出重新传输命令,以便尽管序列号较低,它们仍将获取新信息。


3
并且,如果这不起作用(至少在BIND的情况下),只需从辅助目录中删除区域文件并重新加载,这将导致其获取新副本。
约翰·加迪尼尔

0

如上所述,SOA资源记录中的SERIAL字段 没有所谓的“标准格式”。甚至不是所有的DNS服务器软件都使用它。(如今,世界上相当一部分甚至没有使用区域传输数据库复制。)使用ISC的BIND,这只是一个数字,其特定值没有内在含义,用于在区域传输数据库复制期间检查副本是否超出限制。日期,然后可以选择喜欢的任何方案来进行设置,条件还如前所述,“较新”必须表示“更大的数字,以32位为模”。

您已经在这里遇到了陷阱。无论选择哪种方案,某人注定都会出现,并且(缺乏信息)不了解它,或者想要更改它,就像您不了解并且想要更改来您之前的人的方案一样。这是没有记录自己的系统管理选择的陷阱。因此,记录您的选择。


当然,也有可能前辈在做出选择之前根本没有考虑过选择。我发现情况比“有原因而且没有记录”更为普遍。
克里斯·S
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.