Windows IPv4 bevorzugt anstatt IPv6 Anwenden und Konfigurieren
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.
1 2 |
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.
1 2 |
C:\>netsh interface ipv6 show prefixpolicies |
Die Windows 10 Standard Präfixrichtlinien Einstellung ist wie folgt:
1 2 3 4 5 6 7 8 9 10 11 12 |
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.
1 2 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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.
1 2 3 4 5 6 |
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.
1 2 |
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.
1 2 |
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.
1 2 |
ipconfig | Select-String IPv6 |
IPv4 bevorzugen in der PowerShell
In der PowerShell geht das bevorzugen von IPv4 wie folgt.
1 2 3 |
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.
1 2 |
ping $env:COMPUTERNAME |