Windows IPv4 bevorzugt anstatt IPv6 Anwenden und Konfigurieren

Die Affine Koexistenz von IPv6 und IPv4 für Ressourcen in der Übergangszeit, in Netzwerk Umgebungen mit Windows Domänen ist nicht ohne weiteres erwünscht, es kann zu unerwarteten Störungen bei der Namensauflösung kommen, so können Verbindungen zu Netzlaufwerke ausfallen, oder die Authentifizierung zur Domäne ist zeitweise nicht mehr möglich, oft nachdem ein IPv6 fähiger Router in das Netzwerk integriert wurde, suchen dann Clients vergeblich über die AD Domain Services nach einer Domäne, da IPv6 bevorzugt wird, in Koexistenz mit IPv4 muss deshalb das IPv6 Protokoll systemweit konfiguriert werden.
Einführung
Microsoft Windows Vista, Windows Server 2008 und höhere Windows-Versionen verwenden RFC 3484 und eine Präfixtabelle, um festzustellen, welche Adresse verwendet werden soll, wenn mehrere Adressen für einen DNS-Namen (Domain Name System) verfügbar sind.
Standardmäßig bevorzugt Windows globale IPv6-Unicastadressen gegenüber IPv4-Adressen.
IPv4 Bevorzugen
Internetprotokoll Version 6 (IPv6) ist ein obligatorischer Bestandteil von Windows 10, sowie ab Windows Server 2008 und neuer. Es wird empfohlen, in Präfixrichtlinien „Bevorzugt IPv4 anstelle von IPv6 anzuwenden“, anstatt IPv6 zu deaktivieren.
Das Bevorzugen von IPv4 gegenüber IPv6 lässt sich mit der Änderung des Registry Schlüssel DisabledComponents mit dem Registrierungswert Hex 0x20 (Dec 32) ermöglichen.
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d "32" /f
Copy Paste in einer als Administrator geöffneten Eingabeaufforderung ausführen.

Die Methode mittels Registrierung, um Windows IPv4 gegenüber IPv6 zu bevorzugen, ist eine generelle, jedoch weniger systemkonforme Lösung. Am Ende ändert Windows die Präfix Richtlinientabelle wie im folgenden abschnitt aufgezeigt.
Durch Ausführung des netsh Tools wird die Richtlinientabelle mit dem Präfix, der Priorität und dem Label ausgegeben.
C:\>netsh interface ipv6 show prefixpolicies
Die Windows 10 Standard Präfixrichtlinien Einstellung ist wie folgt:
C:\>netsh interface ipv6 show prefixpolicies
Der aktive Status wird abgefragt...
Vorgänger Label Präfix
---------- ----- --------------------------------
50 0 ::1/128
40 1 ::/0
30 2 2002::/16
20 3 ::/96
10 4 ::ffff:0:0/96
5 5 2001::/32
Zu beachten ist, dass IPv6-Adressen (::/0) gegenüber IPv4-Adressen (::/96 und ::ffff:0:0/96) bevorzugt werden.
Das erhöhen der Priorität für den IPv4 Präfix mit set prefixpolicy.
netsh int ipv6 set prefixpolicy ::ffff:0:0/96 50 0
::ffff:0:0/96 ist der IPv4 Präfix, 50 ist die Priorität (sehr hoch) und 0 ist der Label.
C:\>netsh interface ipv6 show prefixpolicies
Der aktive Status wird abgefragt...
Vorgänger Label Präfix
---------- ----- --------------------------------
50 0 ::ffff:0:0/96
40 1 ::1/128
30 2 ::/0
20 3 2002::/16
5 5 2001::/32
3 13 fc00::/7
1 11 fec0::/10
1 12 3ffe::/16
1 4 ::/96
Um IPv6 zu konfigurieren, ändert man den folgenden Registrierungswert auf der Grundlage der folgenden Tabelle.
Location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
Name: DisabledComponents
Type: REG_DWORD
Min Value: 0x00
Max Value: 0xFF (IPv6 disabled)
IPv6-Funktionalität | Registrierungswert | Kommentare |
Bevorzugen von IPv4 gegenüber IPv6 | Dec 32
Hex 0x20 Bin xx1x xxxx | Empfohlen, anstatt sie zu deaktivieren. |
Deaktivieren von IPv6 | Dec 255
Hex 0xFF Bin 1111 1111 | Weitere Informationen finden Sie im Artikel KB3014406, wenn nach dem Deaktivieren von IPv6 in Windows 7 SP1 oder Windows Server 2008 R2 SP1 eine Startverzögerung auftritt.
Zusätzlich wird der Systemstart um 5 Sekunden verzögert, wenn IPv6 durch falsches Setzen der DisabledComponents-Registrierungseinstellung auf den Wert 0xfffffff deaktiviert wird. Der richtige Wert muss „0xff“ lauten. Der Registrierungswert „DisabledComponents“ hat keinen Einfluss auf den Status des Kontrollkästchens. Selbst wenn der DisabledComponents-Registrierungsschlüssel auf IPv6 eingestellt ist, kann das Kontrollkästchen auf der Netzwerk-Registerkarte für jede Schnittstelle aktiviert werden. Dieses Verhalten ist normal und beabsichtigt. |
Deaktivieren von IPv6 an allen Nicht-Tunnelschnittstellen | Dec 16
Hex 0x10 Bin xxx1 xxxx | |
Deaktivieren von IPv6 an allen Tunnelschnittstellen | Dec 1
Hex 0x01 Bin xxxx xxx1 | |
IPv6 an allen Nichttunnelschnittstellen (außer dem Loopback) und an der IPv6-Tunnelschnittstelle deaktivieren | Dec 17
Hex 0x11 Bin xxx1 xxx1 | |
Bevorzugen von IPv6 gegenüber IPv4 | Bin xx0x xxxx | |
Erneutes Aktivieren von IPv6 an allen Nichttunnelschnittstellen | Bin xxx0 xxxx | |
IPv6 an allen Tunnelschnittstellen erneut aktivieren | Bin xxx xxx0 | |
Erneutes Aktivieren von IPv6 an allen Nicht-Tunnelschnittstelle und an IPv6-Tunnelschnittstellen | Bin xxx0 xxx0 |
Quellen Link: Anleitung zum Konfigurieren von IPv6 in Windows für fortgeschrittene Benutzer
Die Änderung erfordert ein Restart. Damit nicht bei jedem PC die Einstellung manuell ausgeführt werden muss, kann die Aktion mittels einer ADMX-Datei gemacht werden, mit einer Gruppenrichtlinieneinstellung.
Deaktiviert wird IPv6 mit folgendem REG Eintrag.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 255 /f
Wobei hier IPv6 für das Loopback-Interface aktiviert bleibt. Das sollte sich jedoch nicht weiter störend auswirken, da so gleichzeitig dafür gesorgt wird, dass IPv4 bevorzugt wird.
Soll IPv6 wieder aktiviert werden gilt folgender Key.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 0 /f
Die Überprüfung auf existierende IPv6 Adressen in der PowerShell.
ipconfig | Select-String IPv6

IPv4 bevorzugen in der PowerShell
In der PowerShell geht das bevorzugen von IPv4 wie folgt.
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20 -PropertyType "Dword"
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" -Name "DisabledComponents" -Value 0x20
Die PowerShell muss mit erhöhten rechte geöffnet sein. Die Änderung erfordert ein Restart.
Feststellen von welcher IP Version geantwortet wird.
ping $env:COMPUTERNAME