Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 动态更新和API绑定还是其他什么?_Python_Dns_Bind - Fatal编程技术网

Python 动态更新和API绑定还是其他什么?

Python 动态更新和API绑定还是其他什么?,python,dns,bind,Python,Dns,Bind,在我工作的地方,我们有几个即将到来的项目需要动态DNS功能,例如能够动态插入/修改/删除DNS记录 到目前为止,我们一直在使用一个主节点和几个从节点的简单绑定设置。Master的数据(区域文件)在git中,我们有一个简单但非常有效的Fabric文件,用于确保所有更改都提交到git,然后将更改部署到Master,从而将更改进一步传播到从属服务器 我们使用视图,我们经常使用视图,考虑到我们有多少内部内容,必须保持这种功能,即不向公众公开内部记录 我已经研究了很长一段时间可能的解决方案,a-允许我们在

在我工作的地方,我们有几个即将到来的项目需要动态DNS功能,例如能够动态插入/修改/删除DNS记录

到目前为止,我们一直在使用一个主节点和几个从节点的简单绑定设置。Master的数据(区域文件)在git中,我们有一个简单但非常有效的Fabric文件,用于确保所有更改都提交到git,然后将更改部署到Master,从而将更改进一步传播到从属服务器

我们使用视图,我们经常使用视图,考虑到我们有多少内部内容,必须保持这种功能,即不向公众公开内部记录

我已经研究了很长一段时间可能的解决方案,a-允许我们在所有区域上执行动态更新,包括在不同视图中的相同区域,b-公开理想的restful API,我们可以对话发布这些更新,c-开源,这样我们既可以使用它,也可以至少基于某些东西

可悲的是,我还没有找到任何接近这个要求集的东西,我认为这不是很个性化。我们开始考虑自己编写一些东西——使用Python和Python DNS,通过nsupdate协议与Bind进行对话,并根据需要发布更改,但在深入之前,我想得到一些建议,看看是否遗漏了什么?


任何建议,非常感谢。

当您已经使用了
git
时,为什么不简单地摆脱DNS从属,让所有东西都成为一个由自己的
git
存储库提供的主机呢?然后只编写一些API,直接编辑区域文件,自动提交更改并设置提交后挂钩,该挂钩将在提交时将更改部署到所有DNS服务器?是。不过,我会编写一个ssh脚本,使所有服务器都能获取更新。或者,服务器可以通过
cron
每隔五分钟拉一次;这可能足够了。