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

Используйте соединение OpenVPN для выполнения одной программы

Можно ли в Debian запустить соединение OpenVPN таким образом, чтобы оно использовалось только для выполнения одной программы? Другими словами:

Программа, для которой я хотел бы туннелировать все свои соединения через VPN, получает данные с сервера, доступного через эту VPN. В противном случае в VPN нет необходимости, и ее не нужно поддерживать для каких-либо других целей.

Насколько мне известно, сетевой стек Linux нельзя разделить для использования VPN только для одной программы. OpenVPN устанавливает отдельный сетевой интерфейс (устройство tun или tap), затем вы можете добавить маршрут через этот интерфейс. Это можно сделать только для определенного адреса или для диапазона адресов (даже для всего трафика вашей IP-сети).

Я нашел этот вопрос о суперпользователе: Как использовать разные сетевые интерфейсы для разных процессов?

Но, возможно, вам не нужны эти более сложные решения оттуда - если вы хотите получить доступ к определенному сетевому адресу, который доступен только через VPN, вы также можете просто установить соединение OpenVPN в обычном режиме, а затем обеспечить сетевую маршрутизацию, что просто запросы на этот адрес (а) направляются через VPN, а остальные - нет (это означает, что маршрут (ы) к 0.0.0.0 / :: или дефолт не обрабатываются VPN).

Если вы используете графическое конфигурационное программное обеспечение для VPN, например Network Manager, вам необходимо настроить его так, чтобы "Используйте это соединение только для ресурсов в своей сети"или аналогичный активен.

Если у вас есть набор сценариев конфигурации, убедитесь, что route add default ... не выполняется для маршрутизации по умолчанию через устройство или шлюз VPN.