¿Por qué Windows prefiere IPv4 cuando utiliza un túnel dividido VPN con OpenConnect?

¿Por qué Windows prefiere IPv4 cuando utiliza un túnel dividido VPN con OpenConnect?

Me estoy conectando a una VPN usando OpenConnect 8.03 en Windows 10. El perfil de la VPN solo establece una ruta para la subred de la VPN. El resto del tráfico IPv4 todavía se enruta a través de mi conexión normal. La configuración de mi hogar tiene doble pila con IPv4 e IPv6.

Si no estoy conectado a la VPN, se prefiere IPv6 a IPv4, como debería ser. Sin embargo, tan pronto como me conecto a la VPN, se prefiere IPv4 a IPv6, incluso para el tráfico fuera de la VPN. route printno muestra ninguna diferencia en las métricas para IPv4 o IPv6 después de conectarse al túnel, excepto, por supuesto, que agrega una métrica baja para la única subred IPv4 /16 de la VPN. Tampoco netsh interface ipv6 show prefixpoliciesmuestra diferencias. En general, IPv6 todavía funciona (se confirma al conectarse a hosts que solo utilizan IPv6 o al forzar IPv6).

Cuando me conecto a la VPN usando OpenConnect en Linux en lugar de Windows 10, se prefiere IPv6 a IPv4.

Respuesta1

Aparentemente, cuando se conecta a la VPN solo IPv4, las búsquedas de DNS se realizan a través de la conexión solo IPv4. En la configuración predeterminada, Windows solo consultará registros A, independientemente de si otras interfaces proporcionan conectividad IPv6.

Es posible forzar a Windows a consultar registros AAAA también en conexiones solo IPv4. Para ello, es necesario agregar la siguiente clave de registro:

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

DWORD "AddrConfigControl" = "0"

Si el valor no existe, es necesario crearlo. No es necesario reiniciar. La configuración surtirá efecto más o menos inmediatamente.

información relacionada