我运行一个域的从属名称服务器,但我无法完全控制它(即无法更改 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 重新加载
会让它认为它刚刚刷新了域。即使在事后看来,即在与主服务器的链接丢失、域已过期且从属服务器已停止响应请求之后,此技巧仍然有效。