Warum bevorzugt Windows IPv4 bei Verwendung eines VPN-Split-Tunnels mit OpenConnect?

Warum bevorzugt Windows IPv4 bei Verwendung eines VPN-Split-Tunnels mit OpenConnect?

Ich verbinde mich mit einem VPN über OpenConnect 8.03 unter Windows 10. Das Profil des VPN legt nur eine Route für das Subnetz des VPN fest. Der gesamte übrige IPv4-Verkehr wird weiterhin über meine normale Verbindung geleitet. Mein Heim-Setup ist dual gestapelt mit IPv4 und IPv6.

Wenn ich nicht mit dem VPN verbunden bin, wird IPv6 IPv4 vorgezogen, wie es sein sollte. Sobald ich mich jedoch mit dem VPN verbinde, wird IPv4 IPv6 vorgezogen, sogar für Datenverkehr außerhalb des VPN. route printzeigt keinen Unterschied in den Metriken für IPv4 oder IPv6 nach der Verbindung mit dem Tunnel, außer natürlich, dass es eine niedrige Metrik für das einzelne /16 IPv4-Subnetz des VPN hinzufügt. netsh interface ipv6 show prefixpoliciesZeigt auch keine Unterschiede. Im Allgemeinen funktioniert IPv6 immer noch (bestätigt durch Verbindung mit reinen IPv6-Hosts oder beim Erzwingen von IPv6).

Wenn ich unter Linux statt unter Windows 10 eine Verbindung zum VPN über OpenConnect herstelle, wird IPv6 korrekterweise gegenüber IPv4 bevorzugt.

Antwort1

Offenbar werden DNS-Lookups bei einer Verbindung mit dem Nur-IPv4-VPN über die Nur-IPv4-Verbindung durchgeführt. In der Standardkonfiguration fragt Windows dann nur nach A-Records, unabhängig davon, ob andere Schnittstellen IPv6-Konnektivität bieten.

Es ist möglich, Windows zu zwingen, auch bei reinen IPv4-Verbindungen nach AAAA-Records zu fragen. Dazu muss der folgende Registry-Schlüssel hinzugefügt werden:

HKLM\System\CurrentControlSet\Services\Dnscache\Parameters\

DWORD "AddrConfigControl" = "0"

Wenn der Wert nicht vorhanden ist, muss er erstellt werden. Ein Neustart ist nicht erforderlich. Die Einstellung wird mehr oder weniger sofort wirksam.

verwandte Informationen