In my computer lab, I have an Active Directory domain with a domain controller and a few member servers, all running Windows Server 2012 R2. The lab is connected to the Internet via a cable modem/gateway, which also functions as a DHCP server and a DNS proxy. All the servers have static TCP/IPv4 settings and have IPv6 enabled with the default settings. The DC is also a DNS server and hosts the AD-integrated zone for the AD domain. All the servers are configured with the DC’s IPv4 address as their preferred DNS server.
Until recently, everything had been working fine, including DNS resolution. Recently, the cable modem/gateway’s firmware had been updated and the device started supporting IPv6. As a result, it now automatically assigns public IPv6 addresses to the servers and makes them use its own public IPv6 address as the DNS server address. When I run ipconfig/all, that IPv6 address appears in the list of DNS servers before the DC’s IPv4 address. Consequently, all the servers started using the former instead of the latter and the AD domain stopped functioning.
To correct the problem, I changed each server’s TCP/IPv6 configuration. Specifically, instead of allowing them to get DNS server’s IPv6 addresses automatically from the gateway, I manually entered the DC’s IPv6 address. However, this solution would scale very poorly because IPv6 addresses tend to be rather unwieldy. Therefore, manually entering an IPv6 address on multiple servers is not exactly an efficient method.
I do not want to disable IPv6. All I want is that my servers use the DC’s IPv4 address as their DNS server first and either ignore the gateway’s IPv6 address or use it only as a secondary DNS server. I tried to configure one server to prefer IPv4 over IPv6 in accordance with the Microsoft recommendations. However, it didn’t change the situation with DNS. Moreover, when I tried to open Network and Sharing Center after rebooting the server, the window did not open properly (it effectively hung).
So, my question is, Can anyone suggest a way to make a dual-stack Windows computer use IPv4 addresses of DNS servers before using IPv6 addresses of DNS servers? Also, is it possible to prioritize all the DNS server addresses, regardless of their IP versions and regardless of whether they are assigned manually or automatically? For example, is it possible to make an IPv4 address the first DNS server address, make an IPv6 address the second one, make another IPv4 address the third one, and so on?