Active Directory DNS、首选 IP 和多个 NIC

Ken*_*all 3 domain-name-system active-directory dfs-r windows-server-2008-r2

我是 Active Directory 的菜鸟,我知道的足以让我们当前的设置运行良好。

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

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

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

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

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

Eva*_*son 6

您需要修改托管 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 付费比你需要的)。