У меня есть контейнер, который направляет весь свой трафик через 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