在我的计算机实验室中,我有一个 Active Directory 域,其中包含一个域控制器和一些成员服务器,所有服务器都运行 Windows Server 2012 R2。实验室通过有线调制解调器/网关连接到 Internet,该调制解调器/网关还可用作 DHCP 服务器和 DNS 代理。所有服务器都具有静态 TCP/IPv4 设置,并使用默认设置启用了 IPv6。DC 也是 DNS 服务器,并托管 AD 域的 AD 集成区域。所有服务器都配置了 DC 的 IPv4 地址作为其首选 DNS 服务器。
直到最近,一切都运行良好,包括 DNS 解析。最近,电缆调制解调器/网关的固件已更新,设备开始支持 IPv6。因此,它现在会自动为服务器分配公共 IPv6 地址,并让它们使用自己的公共 IPv6 地址作为 DNS 服务器地址。当我运行ipconfig/全部,该 IPv6 地址出现在 DNS 服务器列表中,早于 DC 的 IPv4 地址。因此,所有服务器都开始使用前者,而不是后者,并且 AD 域停止运行。
为了解决这个问题,我更改了每台服务器的 TCP/IPv6 配置。具体来说,我不再让它们自动从网关获取 DNS 服务器的 IPv6 地址,而是手动输入 DC 的 IPv6 地址。但是,这种解决方案的扩展性很差,因为 IPv6 地址往往相当笨重。因此,在多台服务器上手动输入 IPv6 地址并不是一个有效方法。
我不想禁用 IPv6。我只希望我的服务器首先使用 DC 的 IPv4 地址作为其 DNS 服务器,并忽略网关的 IPv6 地址或仅将其用作辅助 DNS 服务器。我尝试将一台服务器配置为根据以下条件优先使用 IPv4 而不是 IPv6:Microsoft 建议。但是,它并没有改变 DNS 的情况。此外,当我在重新启动服务器后尝试打开网络和共享中心时,窗口无法正常打开(它实际上挂起了)。
因此,我的问题是,有人能建议一种方法,让双栈 Windows 计算机在使用 DNS 服务器的 IPv6 地址之前先使用 DNS 服务器的 IPv4 地址吗?此外,是否可以对所有 DNS 服务器地址进行优先排序,而不管它们的 IP 版本如何,也不管它们是手动分配的还是自动分配的?例如,是否可以将 IPv4 地址设为第一个 DNS 服务器地址,将 IPv6 地址设为第二个,将另一个 IPv4 地址设为第三个,依此类推?