如何在 ISC BIND9 区域文件中保留 $INCLUDE

如何在 ISC BIND9 区域文件中保留 $INCLUDE

我有一个 ISC BIND9 服务器(主服务器,独立服务器),它从同一系统上的 ISC-DHCP 进行更新。一切似乎都运行良好,但有一个例外:

我想使用与区域文件分开的文件来维护静态记录

$INCLUDE <filepath> [<origin>] ;comment

但 BIND 只是导入记录并删除 $INCLUDE 语句。有没有办法阻止这种行为?

更新:

根据 @Hakan 的回答/评论,只要我使用 DHCP 的 DDNS 更新,任何 $INCLUDE 语句都将被处理并从区域文件中删除。我只需要学会处理它。谢谢大家。

答案1

答案很简短:不。

但更重要的是,这种情况并不局限于此,$INCLUDE而是使用动态更新意味着从那时起 BIND 完全管理区域文件内容,它将根据需要重写文件以反映当前内容(正如您所注意到的),如果您只是编辑区域文件,将要破坏东西。

即,启用动态更新后,区域的所有更改都有望通过动态更新进行,并且区域文件仅供 BIND 使用。

要么将这些用例拆分成不同的区域,这样一个区域可以手动编辑(可以使用$INCLUDE),另一个区域可以通过动态更新进行更新,或者完全切换到基于动态更新的工具(例如国家免疫学学会) 进行所有区域管理(这不会解决您的原始$INCLUDE问题,但它可以让您管理区域内容)。

作为手动编辑动态区域的一次性方法,还有rndc freeze/ rndc thaw,但它的缺点是它在区域冻结时拒绝动态更新。

相关内容