通过 SVN 检查 DNS 区域文件语法

通过 SVN 检查 DNS 区域文件语法

我在开发环境中有服务器,我们通过 svn 存储库管理 DNS 文件。几天前,我们提交了带有无效序列号的区域文件,搞乱了 DNS 服务器。

因此,我希望在有人提交区域文件之前提供验证其语法的规定。我知道named-checkzone验证区域文件的命令,但我可以在提交前或提交后尝试这个吗?如果可以,那么我该怎么做?或者还有其他方法可以实现这一点吗?

任何帮助,将不胜感激。

更新

如果无法通过 SVN 实现这一点,那么在重新加载bind守护进程本身之前,有什么方法可以检查区域文件中的语法吗?

答案1

使用 Jenkins 和 SVN 钩子测试配置。

  1. 为您所做的每个配置更改创建新的分支。
  2. 创建 Jenkins 作业,使用 SVN hook 提取 DNS 配置,然后对其运行“named-checkzone”。如果一切正常,则将该分支合并到主分支。否则,发送配置测试失败的通知。
  3. 如果一切顺利,则将“master”部署到生产环境中。

如果太多了,您可以修改 init 脚本或 systemd 单元文件以在绑定服务器启动和重新加载时运行“named-checkzone”。

相关内容