Я подключаюсь к 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"
Если значение не существует, его необходимо создать. Перезагрузка не требуется. Настройка вступит в силу более или менее немедленно.