Wie man IPv4 gegenüber IPv6 in Windows-Netzwerken priorisiert

Wenn ein Windows-Rechner auf ein Netzwerk mit sowohl IPv4- als auch IPv6-Adressen für einen Host zugreift, versucht er normalerweise zuerst, eine Verbindung über IPv6 herzustellen. Das liegt daran, dass Windows IPv6 standardmäßig eine höhere Priorität einräumt, wenn der DNS- oder mDNS-Server (Multicast-DNS) sowohl AAAA- (IPv6) als auch A-Einträge (IPv4) findet. Das Problem ist, dass einige ältere Anwendungen oder bestimmte Netzwerkdienste IPv6 nicht unterstützen – sie hängen sich auf oder schlagen fehl, wenn Windows auf IPv6 für die Verbindung besteht. Deshalb muss man Windows manchmal anweisen, zuerst IPv4 zu verwenden.

In manchen lokalen Netzwerken, insbesondere in einfachen Arbeitsgruppen ohne dedizierten DNS-Server, verwendet Windows Broadcast-Anfragen mit mDNS zur Namensauflösung. Sie können die DNS-Einträge für einen bestimmten Computer in Ihrem Netzwerk mit dem Befehl `dns –get Resolve-DnsName DESKTOP-ABCD1234

Ehrlich gesagt ist ein vollständiges Verbot von IPv6 nicht empfehlenswert – es kann zu Problemen mit dem Windows-Netzwerk und einigen Diensten führen. Stattdessen sollten Sie die Prioritätseinstellungen anpassen.

Um zu sehen, wie Windows die zu verwendende Adresse auswählt, überprüfen Sie die aktuellen Präfixrichtlinien mit folgendem Befehl:

netsh interface ipv6 show prefixpolicies

Oder, falls Sie PowerShell bevorzugen:

Get-NetPrefixPolicy

Diese Tabelle listet Adresstypen und ihre Priorität auf – je höher die Priorität, desto wahrscheinlicher wählt Windows diese Adresse für Verbindungen aus. Häufige Einträge sind:

  • ::1/128— Lokale Rückkopplung (höchste Priorität)
  • ::/0— Standard-IPv6-Adresse
  • ::ffff:0:0/96— IPv4-zugeordnete IPv6-Adressen
  • ::/96— IPv4-Adresspräfix in IPv6

Wenn Windows IPv6 bevorzugt, Ihre Apps und Geräte aber IPv4 bevorzugen, können Sie dies wie folgt anpassen:

netsh interface ipv6 set prefix ::/96 60 3Und

netsh interface ipv6 set prefix ::ffff:0:0/96 55 4

Diese Befehle senken die Priorität von IPv6, sodass Windows bei der Namensauflösung IPv4-Adressen bevorzugt. Es funktioniert reibungslos – ein Neustart ist nicht nötig. Testen Sie einfach erneut mit einem Ping und prüfen Sie, ob die IPv4-Adresse angezeigt wird.

Um Ihre Änderungen zu überprüfen, prüfen Sie die Präfixrichtlinien erneut mit netsh interface ipv6 show prefixpolicies` Get-NetPrefixPolicy`. Falls etwas schiefgeht oder Sie die Änderungen rückgängig machen möchten, setzen Sie die Richtlinien einfach mit folgendem Befehl auf die Standardwerte zurück:

netsh interface ipv6 reset

Wenn Sie lieber direkt in der Registry arbeiten oder eine dauerhaftere Einstellung wünschen, können Sie unter HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters einen DWORD-Wert namens „ DisabledComponents “ hinzufügen. Durch Setzen dieses Werts auf „ true“ wird Windows angewiesen, IPv6 zu priorisieren. Führen Sie dazu einfach folgenden Befehl aus:0x20

reg add HKLM\system\currentcontrolset\services\tcpip6\parameters /v DisabledComponents /t REG_DWORD /d 0x20

Wenn Sie diese Konfiguration rückgängig machen möchten, stellen Sie den Wert 0x0mit folgendem Befehl wieder auf den ursprünglichen Wert ein:

reg add HKLM\system\currentcontrolset\services\tcpip6\parameters /v DisabledComponents /t REG_DWORD /d 0x0

Und ja, wenn Sie dies auf mehreren Rechnern in einer Domäne ausrollen, ist die Bereitstellung dieser Registrierungseinstellung über Gruppenrichtlinien eine Option – kein manuelles Umschalten mehr auf jedem PC.