Active Directory DNS、首选 IP 和多个 NIC

Active Directory DNS、首选 IP 和多个 NIC

我对 Active Directory 还只是个新手,但我所知道的仅足以让我们当前的设置运行良好。

我们运行一个 Web 场,其中有多个 Web 服务器连接到一个文件服务器以存储内容。我们正在添加第二个文件服务器,并使用 DFS-R 将这两个服务器同步。一切都很顺利。我还设置了一个 DFS 命名空间,以便所有 Web 服务器都可以与命名空间通信,从而实现自动故障转移。这也很好。

只是,问题来了。我们的托管服务提供商在其配置的每台服务器上都有两个 NIC。一个公共适配器和一个私有适配器。在我走上这条使用 DFS 命名空间的道路之前,我一直使用内部 10.xxx IP 来访问各种服务器(老习惯,我知道我可以使用计算机名称)。因此,之前的所有流量都顺利地流经私有适配器。

现在,我正在尝试使用 DFS 命名空间,因此使用非基于 IP 的命名,我注意到从我们的文件服务器提取的内容是通过公共适配器而不是私有适配器进入的。

问题: 如何强制 Active Directory DNS 解析为私有 10.xxx IP 而不是公共 IP? 是的,这些 10.xxx IP 已经存在于 DNS 中。

基础域和 Active Directory 中的每台计算机都有多个 A(和 AAAA 记录)。有没有办法让 DNS 使用“首选”IP 进行响应?

答案1

您需要修改托管 DFS 命名空间的服务器上的 DNS 设置,以防止它们注册其公共 IP。在 TCP/IP 属性的 DNS 选项卡上,在这些服务器中的每一个上取消选中公共 NIC 的“在 DNS 中注册此连接的地址”框。您可以手动从 DNS 中删除不需要的条目,并ipconfig /regsiterdns在服务器上运行以观察您是否已成功阻止它们重新注册。

如果任何托管 DFS 命名空间的服务器正在运行 DNS 服务器,您还必须设置“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”下的“PublishAddresses”REG_SZ 值以仅包含您想要发布的服务器的 IP 地址(因为具有 DNS 服务器角色的服务器将默认发布其所有 IPv4 地址)。

就我个人而言,我会将所有不必要的服务和客户端从所有服务器上面向公众的 NIC 中解除绑定,强制它们不在 DNS 中注册其公共地址,并尽力将所有公共地址从 DNS 中移除。我会将任何不需要公开的服务配置为不绑定在公共地址上,并使用 Windows 防火墙阻止所有传入连接除了对于明确面向公众的服务。(在有人问之前,我会这样做,即使我在机器前面有一个硬件防火墙。我会假装硬件防火墙根本不存在。我也会在服务器的防火墙和硬件防火墙上设置出站规则,但那是因为我很执着。我不希望我的盒子向全世界透露信息,除非这是我明确允许的。)

最后,如果服务器不应该提供任何公共服务我会禁用公共 NIC(正如@murisonc 建议的那样)并删除 IP 地址(因为,大概你不想为超出你需要的 IP 付费)。

相关内容