我在开发环境中有服务器,我们通过 svn 存储库管理 DNS 文件。几天前,我们提交了带有无效序列号的区域文件,搞乱了 DNS 服务器。
因此,我希望在有人提交区域文件之前提供验证其语法的规定。我知道named-checkzone
验证区域文件的命令,但我可以在提交前或提交后尝试这个吗?如果可以,那么我该怎么做?或者还有其他方法可以实现这一点吗?
任何帮助,将不胜感激。
更新
如果无法通过 SVN 实现这一点,那么在重新加载bind
守护进程本身之前,有什么方法可以检查区域文件中的语法吗?
答案1
使用 Jenkins 和 SVN 钩子测试配置。
- 为您所做的每个配置更改创建新的分支。
- 创建 Jenkins 作业,使用 SVN hook 提取 DNS 配置,然后对其运行“named-checkzone”。如果一切正常,则将该分支合并到主分支。否则,发送配置测试失败的通知。
- 如果一切顺利,则将“master”部署到生产环境中。
如果太多了,您可以修改 init 脚本或 systemd 单元文件以在绑定服务器启动和重新加载时运行“named-checkzone”。