我有两个 Web 服务器,计划添加更多。我在每个服务器上都使用 BIND 作为主名称服务器。问题是我计划添加更多服务器,并且需要某种方式在每个服务器之间传播 DNS 记录。由于我的配置限制,每个服务器都必须是 DNS 主 BIND 服务器。
我尝试设置两个 BIND 转发名称服务器,并将我的 NS 记录设置为这些转发器的 IP。这似乎运行良好,但 DNS 检查报告称这些服务器是非权威的;这是我应该担心的问题吗?
第二个问题是我的转发名称服务器有时会无法解析。我不记得确切的错误,但日志显示当联系主名称服务器的 IP 时会出现类似 RCONFAIL 或 RFAIL 的情况。
所以,问题是 - 一个理智的系统管理员如何构建他们的 DNS 服务器,以便只使用 2 个 NS 记录(ns1.domain,ns2.domain)并在后端使用多个 DNS 主服务器?
答案1
不要试图欺骗 BIND 在提供来自其他地方的记录时表现出权威性(并且这些记录仍然具有单点故障),而是将区域数据集中到配置管理系统中,并使用该配置管理将其分发到所有权威 DNS 服务器。
所有 BIND 服务器都将拥有该区域的副本并具有权威性,因为它们不依赖于外部数据源,并且您的更新将由配置管理自动发送到所有服务器。
答案2
您可以让隐身和可见的 DNS 服务器共享一个复制的数据库 (sql, ldap)。
在工作中,我们使用 ldap (MS DNS),并将子域委托给 bind+ldap (ipa centos)。客户端只获得两个域控制器作为 dns 服务器,但我们可以更新其中任何一个上的记录,而不仅仅是客户端可见的记录。