在 bind9 从属名称服务器中覆盖 SOA 到期日期

在 bind9 从属名称服务器中覆盖 SOA 到期日期

我运行一个域的从属名称服务器,但我无法完全控制它(即无法更改 SOA)。SOA 指定了一周的到期时间。出于各种原因,我想将特定从属服务器上的该值覆盖为更大的值。有办法吗?

注意:我知道对于刷新和重试字段,bind9 提供了 min-refresh-time、max-refresh-time、min-retry-time 和 max-retry-time 选项来推翻 SOA,如文档。由于某种原因,这不包括到期日。

答案1

我认为您无法覆盖到期时间。但是,如果一周不同步是可以接受的,也许可以将其设置为主服务器,并定期与 和dig -t AXFR>db.zone同步rndc reload

答案2

阅读代码后,我找到了一个似乎可行的解决方案。bind 将他认为上次刷新区域的时间存储为区域文件的修改时间。所以

$ touch /var/cache/bind/domain.tld.db
$ rndc 重新加载

会让它认为它刚刚刷新了域。即使在事后看来,即在与主服务器的链接丢失、域已过期且从属服务器已停止响应请求之后,此技巧仍然有效。

相关内容