В Windows 10 при подключении к VPN с включенным разделенным туннелированием (шлюз отключен) при разрешении DNS всегда используются DNS-серверы локальной сети, игнорируются DNS-серверы и DNS-суффикс, заданный для VPN-подключения.
Ожидаемое поведение - использовать DNS-серверы VPN, в противном случае становится невозможным разрешать записи DNS в удаленной сети (например, в доменных компьютерах).
Это работало должным образом в предыдущей версии Windows.
Это широко обсуждалось в этой ветке ответов Microsoft .
vpn
dns
windows-10
ECC-Dan
источник
источник
Ответы:
Я навсегда исправил эту проблему, вручную установив метрику моего подключения к локальной сети выше (15), чем одно окно назначает для моего VPN (11).
Это можно сделать двумя способами:
netsh int ip set interface interface="LAN CONNECTION NAME" metric=15
Эффект мгновенный (по крайней мере, при использовании командной строки), и DNS-запросы теперь проходят через мой VPN, как и ожидалось.
Это работает с Split Tunneling и является постоянным исправлением при переподключениях и перезагрузках.
Обратите внимание, что вы также можете изменить метрику VPN вместо соединения с локальной сетью, но это не будет постоянным, поскольку Windows сбрасывает метрику, когда соединение установлено.
В зависимости от вашей среды у вас может быть другая метрика по умолчанию для вашей локальной сети и VPN-соединения. Просто настройте соответствующим образом, чтобы у вашей VPN была более низкая метрика, чем у вашей локальной сети.
Кроме того, если вы обнаружите, что не можете редактировать свойства TCP / IP вашей VPN, поскольку они также были повреждены в Windows 10 , вы можете установить большинство свойств через Powershell :
источник
1
, которое, похоже, решает проблему на данный момент. Впрочем, я не знаю значения метрики для моего VPN-соединения, потому что во всплывающем окне свойств VPN-соединения нет кнопки «Дополнительно».Я развернул новую установку Windows 10 на виртуальной машине, чтобы протестировать ее, увидев эту проблему на каждой физической машине с Win10, которая у меня есть. Я проверил все ответы в этой теме, и ни один из них не сработал. Я обнаружил, что решение состоит в том, чтобы объединить ответы, опубликованные здесь "Keenans" и "ECC-Dan":
http://answers.microsoft.com/en-us/windows/forum/windows_10-networking/win-10-dns-resolution-of-remote-network-via-vpn/513bdeea-0d18-462e-9ec3-a41129eec736? страница = 1
Панель управления> Центр управления сетями и общим доступом> Изменить настройки адаптера> Щелкните правой кнопкой мыши адаптер Ethernet или Wi-Fi> Свойства>, дважды щелкните IPv4> Дополнительно> Снимите флажок Автоматическая метрика> Введите 15 для метрики интерфейса> ОК> ОК.
На той же странице свойств дважды щелкните IPv6> Дополнительно> Снимите флажок Автоматическая метрика> Введите 15 для метрики интерфейса> ОК> ОК.
Только после изменения обоих этих параметров проблема будет решена. Я тестировал смену одного обратно, и он снова ломается. После изменения обоих я запустил nslookup из командной строки, и он вернул DNS-сервер в удаленной сети, к которой подключен VPN, где в противном случае он вернул бы локальный DNS-сервер. Затем я использовал перехват Wireshark на интерфейсе Ethernet, сделал несколько запросов на случайные веб-сайты и убедился, что не было перехваченных пакетов DNS. Это доказывает, что после внесения изменений DNS-запросы отправляются ТОЛЬКО через VPN-соединение, а не одновременно по всем соединениям (что известно как утечка DNS в Win10). Так что это также часть решения для утечки DNS Win10:
https://medium.com/@ValdikSS/beware-of-windows-10-dns-resolver-and-dns-leaks-5bc5bfb4e3f1#.7ppsn1nda
Обратите внимание, что для устранения утечки DNS вам сначала необходимо выполнить действия, описанные выше. Затем вам нужно установить два значения реестра. Связанные статьи содержат только одну статью, которая сама по себе не решает проблему в более новых сборках Win10. Установите эти значения реестра:
Только после всего этого поведение вашего DNS-клиента вернется к тому, что было в Win7. Вы должны задаться вопросом, как это прошло через QA в Microsoft.
источник
Это не работает, даже если я изменил метрики как для IPv4, так и для IPv6 и использовал реестр DisableSmartNameResolution и DisableParallelAandAAAA с текущей Windows 10 Edu (по состоянию на декабрь 2018 года), когда клиент подключен с помощью кабеля UTP и протокол IPv6 поддерживается в локальной сети (т.е. клиент имеет публичный / глобальный адрес IPv6).
Достаточно отключить протокол IPv6 на интерфейсе UTP / LAN, используемом для VPN, чтобы он работал (чтобы удалить / not_use глобальный адрес IPv6 на клиенте).
Это работает без проблем, когда клиент подключен к Интернету по Wi-Fi и IPv6 доступен (клиент имеет глобальный адрес IPv6 и не имеет соединения UTP / LAN).
источник