Wanneer een Windows-computer verbinding maakt met een netwerk waar zowel IPv4- als IPv6-adressen voor een host beschikbaar zijn, probeert deze doorgaans eerst verbinding te maken via IPv6. Dit komt doordat Windows standaard IPv6 een hogere prioriteit geeft als de DNS of mDNS (Multicast DNS) zowel AAAA- (IPv6) als A-records (IPv4) vindt. Het probleem is echter dat sommige oudere apps of bepaalde netwerkservices IPv6 niet ondersteunen. Deze zullen vastlopen of mislukken als Windows per se IPv6 wil gebruiken voor de verbinding. Daarom moet je Windows soms handmatig laten weten dat het eerst IPv4 moet proberen.
In sommige lokale netwerken, met name eenvoudige werkgroepen zonder een eigen DNS-server, gebruikt Windows broadcastquery’s via mDNS om hostnamen op te lossen. U kunt controleren welke DNS-records er voor een specifieke computer in uw netwerk worden opgehaald door het commando `pip` uit te voeren Resolve-DnsName DESKTOP-ABCD1234. Opvallend is dat u vaak zowel AAAA- (IPv6) als A- (IPv4) records ziet. Wanneer u de hostnaam pingt, probeert Windows mogelijk eerst het IPv6-adres, wat problemen kan veroorzaken als het netwerk of de applicatie nog niet geschikt is voor IPv6.
Om te zien hoe Windows bepaalt welk adres te gebruiken, kunt u het huidige prefixbeleid raadplegen met:
netsh interface ipv6 show prefixpolicies
Of, als je liever PowerShell gebruikt:
Get-NetPrefixPolicy
Deze tabel geeft een overzicht van adressoorten en hun prioriteit. Hoe hoger de prioriteit, hoe groter de kans dat Windows dat adres kiest voor verbindingen. Veelvoorkomende voorbeelden zijn:
::1/128— lokale loopback (hoogste prioriteit)::/0— standaard IPv6-adres::ffff:0:0/96— IPv4-gemapte IPv6-adressen::/96— IPv4-adresvoorvoegsel in IPv6
Als Windows de voorkeur geeft aan IPv6, maar je weet dat je apps en apparaten de voorkeur geven aan IPv4, kun je dit aanpassen met:
netsh interface ipv6 set prefix ::/96 60 3En
netsh interface ipv6 set prefix ::ffff:0:0/96 55 4
Deze commando’s verlagen de prioriteit van IPv6, waardoor Windows bij het oplossen van hostnamen de voorkeur geeft aan IPv4-adressen. Het werkt vrij soepel – opnieuw opstarten is niet nodig, test het gewoon nogmaals met een ping en kijk of het IPv4-adres in plaats daarvan wordt weergegeven.
Om uw wijzigingen te controleren, kunt u de prefix-beleidsregels opnieuw raadplegen met ` get-NetPrefixPolicy`netsh interface ipv6 show prefixpolicies of `get-NetPrefixPolicy`.Als er iets misgaat of als u de wijzigingen ongedaan wilt maken, kunt u de beleidsregels terugzetten naar de standaardinstellingen met:
netsh interface ipv6 reset
Als u liever op registerniveau aanpast of een permanentere instelling wilt, kunt u een DWORD met de naam DisabledComponents toevoegen in HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters. Door de waarde in te stellen op ‘disabledComponents 0x20‘ geeft u Windows de opdracht om IPv6 minder prioriteit te geven. Voer hiervoor het volgende commando uit:
reg add HKLM\system\currentcontrolset\services\tcpip6\parameters /v DisabledComponents /t REG_DWORD /d 0x20
Als u deze instelling wilt terugzetten, stelt u de waarde weer in 0x0op:
reg add HKLM\system\currentcontrolset\services\tcpip6\parameters /v DisabledComponents /t REG_DWORD /d 0x0