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

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

У меня есть контейнер, который направляет весь свой трафик через OpenVPN. Это делается OpenVPN с помощью комбинации

0.0.0.0/1 via 10.8.8.17 dev tun0 
128.0.0.0/1 via 10.8.8.17 dev tun0 

который маскирует default маршрут (который все еще существует, когда OpenVPN закрывается)

Мне нужно явно добавить маршрут для локальной сети, которая будет направлять пакеты через eth0 и нет tun0.

Это делается вручную через

ip route add 10.10.10.0/24 via 10.10.11.254 dev eth0

после запуска OpenVPN.

Как я могу сделать это автоматически при запуске OpenVPN?

Я пытался добавить

route 10.10.10.0 255.255.255.0

к му .ovpn config, но это приводит к новому маршруту через tun0 (что вполне понятно, поскольку не было конкретной информации о сетевой карте для маршрутизации, но я также не видел ничего доступного в документе)

# ip route
(...)
10.10.10.0/24 via 10.8.8.17 dev tun0 

Могу ли я достичь того, чего я хочу, с помощью конфигурации OpenVPN или мне нужно сделать это как-то вне процесса запуска OpenVPN?

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

Файлы OpenVPN могут ссылаться на сценарии оболочки, которые будут выполняться, когда туннель включен или отключен с помощью up и down директивы.

Пример:

up on-up.sh
down on-down.sh