管理员使用什么策略来下放/委托单个 DNS 服务器上的绑定配置的控制权?

管理员使用什么策略来下放/委托单个 DNS 服务器上的绑定配置的控制权?

我有一个相对简单的 Bind/DNS 配置,并希望允许我的一些用户添加自己的配置(例如 A 记录和 CNAME)。尽管我信任我的用户,但我希望限制对全部配置文件仅供我自己和其他管理员使用。我也不希望我的用户(必须)登录到 DNS 服务器上的 shell 会话。

我考虑过的解决方案:

  • 委派区域:这对我来说不起作用,因为它增加了很大的复杂性和开销(每个用户都需要为自己的区域维护一个 DNS 服务器)。此外,我控制范围之外的防火墙阻止我在网络中设置其他可访问的 DNS 服务器。
  • 用户可编辑的“包含”文件:这是我现在的目标,但我找不到任何现有解决方案来允许对配置文件子集进行经过身份验证/限制的访问。因此我必须自己创建。我不确定我该如何处理这个问题:带钩子的 git?一个 Web 应用程序?

其他管理员是否遇到过这个问题?如果是,如何解决的?

答案1

您可以使用 MySQL(或类似的数据库)作为后端,并开发一个良好的 Web 前端来允许记录和区域更改。

我还没有尝试过绑定的 MySQL 后端,但是 MyDNS 和 PowerDNS MySQL 后端运行良好。

答案2

戈萨具有相当广泛的 ACL 设置,允许委派权限、强身份验证、密码策略和老化。它主要用于 LDAP 管理和编辑,但它有 DNS 插件等。您可能想看看。

您还可以将它与 Bind 或 PowerDNS 一起使用。Bind 有补丁程序使其能够与 LDAP 配合使用,并且有脚本可以重新生成区域文件。PowerDNS 原生支持 LDAP 后端。

答案3

我的一位同事指出,目前已经有一个名为 nsupdate 的与 nslookup 并行的实用程序(看看这个简短的介绍)。这对我来说似乎是理想的解决方案,因为它具有最低的设置要求和维护要求。由于 CLI,它需要更多“技术”用户,但对我来说这不是问题。

相关内容