Почему Windows предпочитает IPv4 при использовании раздельного туннеля VPN с OpenConnect?

Почему Windows предпочитает IPv4 при использовании раздельного туннеля VPN с OpenConnect?

Я подключаюсь к VPN с помощью OpenConnect 8.03 на Windows 10. Профиль VPN устанавливает только маршрут для подсети VPN. Весь остальной трафик IPv4 по-прежнему маршрутизируется через мое обычное подключение. Моя домашняя настройка — двойной стек с IPv4 и IPv6.

Если я не подключен к VPN, IPv6 предпочтительнее IPv4, как и должно быть. Однако, как только я подключаюсь к VPN, IPv4 предпочтительнее IPv6, даже для трафика за пределами VPN. route printне показывает разницы в метриках для IPv4 или IPv6 после подключения к туннелю, за исключением, конечно, добавления низкой метрики для единственной /16 подсети IPv4 VPN. Также netsh interface ipv6 show prefixpoliciesне показывает разницы. В целом, IPv6 все еще работает (подтверждено подключением к хостам только IPv6 или при принудительном включении IPv6).

Когда я подключаюсь к VPN с помощью OpenConnect на Linux вместо Windows 10, IPv6 правильно отдается предпочтение перед IPv4.

решение1

По-видимому, при подключении к VPN только IPv4 DNS-поиск выполняется через подключение только IPv4. В конфигурации по умолчанию Windows будет запрашивать только записи A, независимо от того, предоставляют ли другие интерфейсы подключение IPv6.

Можно заставить Windows запрашивать записи AAAA также и для подключений только IPv4. Для этого необходимо добавить следующий ключ реестра:

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

DWORD "AddrConfigControl" = "0"

Если значение не существует, его необходимо создать. Перезагрузка не требуется. Настройка вступит в силу более или менее немедленно.

Связанный контент