У меня была аналогичная проблема; подключение к VPN-серверу переопределит DNS моей рабочей станции (удаленного VPN-клиента), так что DNS локальной сети будет скрыт. Я описал проблему более подробно на стороне Stackoverflow, прежде чем мне сказали , что я должен был разместить ее здесь.
Прочитав эту ветку, очевидно, что переопределение невозможно предотвратить с помощью конфигурации клиента OpenVPN. Мое решение состояло в том, чтобы добавить командный файл в каталог конфигурации OpenVPN, который выполняется, когда соединение OpenVPN сформировано. Если файл OVPN называется company.ovpn, файл, который запускается при подключении, должен называться company_up.bat.
Я дополнил этот файл с версии, которую я разместил на свой вопрос в StackOverflow ранее сегодня вечером. Теперь это выглядит так:
1: ping 127.0.0.1 -n 2 > nul
2: netsh interface ip set dns "Local Area Connection 4" static 127.0.0.1
3: route delete 0.0.0.0
4: route add -p 0.0.0.0/0 172.20.20.1 metric 1000
5: exit 0
1: взломать, чтобы подождать пару секунд, прежде чем продолжить. Последняя версия (2.3) клиента OpenVPN будет игнорировать DNS и изменения маршрута, если выполняется без задержки.
2. Установите DNS VPN-подключения, чтобы он указывал на локальный хост. У меня на локальном хосте работает распознаватель (я использую SimpleDNS Plus ), который перенаправляет запросы в домен компании на DNS-сервер компании через VPN, а все остальное - на DNS-сервер локальной сети. Обратите внимание, что я не мог использовать распознаватель локальной сети для пересылки запросов для домена компании на DNS компании через VPN, поскольку конечная точка VPN находится на локальном хосте. Имя соединения («Подключение по локальной сети 4») было определено в командной строке через «ipconfig / all».
3: VPN-сервер компании настроен на маршрутизацию всего исходящего трафика через VPN, одновременно ограничивая исходящие (к Интернету) SSH-соединения. Это противоречило моему рабочему процессу, и я сначала удаляю маршрут «0.0.0.0 netmask 0.0.0.0» ...
4: .. а затем я повторно добавляю маршрут 0.0.0.0/0, чтобы указать на локальный шлюз локальной сети, и устанавливаю его метрику (вес) равной 1000 в качестве универсального для всего трафика, который не маршрутизируется иначе.
5: Без «выхода 0» OpenVPN выдает предупреждение об ошибке сценария не удалось (со статусом выхода 1).
Надеюсь, это будет полезно для кого-то ... это работает достаточно хорошо для меня (нет необходимости вручную настраивать маршрут или DNS каждый раз, когда я открываю соединение).