1

Я подключаюсь с компьютера под управлением Windows 10 к компьютеру под управлением Windows Server 2012 R2 в той же подсети. У меня также есть соединение OpenVPN, которое идет в офис, и сервер также имеет свое собственное соединение.

Когда я получаю доступ к файлам на сервере, иногда соединение проходит через VPN, и я не замечаю этого. Конечно, это не то, что я хочу, так как у меня есть гигабитное соединение с ним в локальной сети и намного медленнее через VPN.

Странно то, что я установил имя сервера в файле hosts так, чтобы он указывал на локальный IP-адрес. И даже более странно: даже если я напишу \\192.168.23.45\share в адресную строку Explorer, соединение будет фактически проходить через VPN!

Единственный способ заставить его работать должным образом - отключить VPN, получить доступ к файлам, а затем, возможно, включить VPN.

Есть ли способ сказать Windows, что она никогда не должна пытаться использовать адрес VPN для этого сервера и всегда использовать адрес локальной сети?

Метрики для обоих маршрутов - 276. Это может сделать его не в пользу локального маршрута, но не объяснит, почему он не использует IP-адрес, который я ему говорю. Я также попытался установить метрику в конфигурации OpenVPN, чтобы она была ниже или выше, но это ничего не меняет.

Локальная сеть - 192.168.23.0/24, а сеть VPN - 10.12.34.0/24, поэтому они полностью разделены. В VPN нет IPv6, локальная сеть имеет локальные адреса IPv6.

Я также могу остановить OpenVPN при передаче файлов или делать что-либо с общими файлами. Машина с Windows 10 просто подождет, затем переключится на не-VPN-соединение и продолжит работу. И если я перезапущу его, передачи переключатся на VPN-соединение.

Сервер также был обновлен до 2016 года, но это ничего не изменило. Проблема как-то в машине с Windows 10. Это также не происходит вообще с другого компьютера с Windows 10 в той же подсети, того же домена с той же конфигурацией OpenVPN.

3 ответа3

1

Возможно, вы сталкиваетесь с ожиданием DNS в VPN из-за способа, которым Windows 10 выдает DNS-запросы для VPN split-dn, что сильно отличается от предыдущих версий Windows.

Windows 10 выдает DNS-запросы параллельно всем адаптерам, а затем должен получить первый ответ.

К сожалению, он может вместо того, чтобы принять первый ответ, дождаться всех ответов. Если эта не новая ошибка еще не была исправлена, чтобы максимально приблизить поведение к предыдущим версиям Windows, сделайте следующие изменения в реестре:

DisableSmartNameResolution (DWORD)

В разделе реестра HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient .
Значение 1 для отключения, 0 для включения интеллектуального разрешения.
От Отключите интеллектуальное разрешение имен для нескольких домов :

Указывает, что многодомный клиент DNS должен оптимизировать разрешение имен в сетях. Этот параметр повышает производительность, выполняя параллельные запросы локальных многоадресных имен DNS-ссылок (LLMNR) и запросы NetBIOS через TCP/IP (NetBT) во всех сетях. В случае получения нескольких положительных ответов порядок привязки сети используется для определения того, какой ответ принять.Если вы включите этот параметр политики, клиент DNS не будет выполнять никаких оптимизаций. DNS-запросы будут выдаваться во всех сетях в первую очередь. Запросы LLMNR будут выдаваться в случае сбоя DNS-запросов, за которыми следуют запросы NetBT в случае сбоя запросов LLMNR. Если вы отключите этот параметр политики или не настроите эту политику, разрешение имен будет оптимизировано при отправке запросов DNS LLMNR и NetBT.

DisableParallelAandAAAA (DWORD)

В разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters .
Значение 0 для включения, 1 для отключения DNS-запросов A и AAAA от параллельного выполнения на всех настроенных DNS-серверах, причем самый быстрый ответ теоретически принимается первым.

Вы также можете установить эти политики с помощью PowerShell:

Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters‌​" -Name DisableParallelAandAAAA -Value 1 -Type DWord
1

OpenVPN должен иметь "виртуальный" сетевой адаптер, установленный на вашем компьютере вместе с другими физическими адаптерами.

Попробуйте изменить приоритет этих сетевых адаптеров, как показано в этой статье:https://blogs.technet.microsoft.com/networking/2015/08/14/adjusting-the-network-protocol-bindings-in-windows-10/

Вы хотите, чтобы интерфейс OpenVPN имел большее число (более низкий приоритет), чем ваш физический адаптер.

0

Если вы используете OpenVPN Client для VPN-подключения, вы можете добавить собственные маршруты для определенных доменов /IP-адресов.

Чтобы после добавления маршрута соединение с этими доменами /IP-адресами проходило по определенному маршруту.

Синтаксис маршрута для файла конфигурации OpenVPN:

route [ip or website name] [subnet mask] [your gateway]

Так что в вашем случае, если шлюз 192.168.23.1, вам нужно добавить эту строку в файл конфигурации OpenVPN:

route 192.168.23.45 255.255.255.0 192.168.23.1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .