Назад | Перейти на главную страницу

Есть ли способ отправлять маршруты только через OpenVPN при определенных условиях?

Абстрактный вопрос: В моей настройке клиента OpenVPN я хотел бы установить маршруты, отправляемые сервером только при определенных условиях.

Конкретная ситуация: Я использую ноутбук, который, когда я нахожусь в офисе, подключается к инфраструктуре нашей компании через свой шлюз. Когда меня нет на работе, например На сайте клиентов я использую отдельное соединение OpenVPN для доступа к нашей инфраструктуре. Дело в том, что это соединение OpenVPN также используется для подключения к нашим клиентам, когда я нахожусь в офисе или когда я нахожусь в дороге.

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

Вопрос: Есть ли в OpenVPN возможность сообщить клиенту что-то вроде "если вам назначен IP-адрес, например 10.0.0.X (IP-адрес офиса), сделайте НЕ применить один конкретный маршрут, отправленный с сервера (маршрут, который указывает на нашу инфраструктуру / центр обработки данных) ".

Все другие маршруты не должны зависеть от обходного пути / решения, и маршрут должен быть продвинут, когда я работаю с сайта клиентов или из моего домашнего офиса. Я не могу установить другое соединение, которое не включает маршрут к центру обработки данных, так как соединение также используется коллегами.

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

Вы можете использовать директиву route-noexec и вручную настроить маршрутизацию с помощью up и down скрипты на этом конкретном клиенте.

У вас должна быть вся необходимая информация в переменных среды, см. Раздел Environmental Variables на странице руководства.

У вас может быть два разных файла .opvn в клиенте, которые вы используете, в зависимости от вашей ситуации. Затем в одном из этих файлов .opvpn вы можете использовать route-nopull директиву и используйте настраиваемые альтернативные маршруты (пример).

Это не идеально, но это лучшее, что я мог придумать.