У меня есть две настройки клиента OpenVPN, управляемые сервисами systemd openvpn.foo
и openvpn.bar
. Они подключаются к разным VPN и могут быть активными или неактивными в любой момент времени.
Я бы хотел настроить для них разные правила брандмауэра iptables. Проблема в том, что первый процесс OpenVPN, кажется, захватывает tun0
интерфейс, независимо от того, является ли это конфигурацией foo или bar. Проблема в том, что я не могу прикрепить правила iptables к интерфейсу, потому что я не знаю, работает ли он с VPN foo или bar в данный момент.
Вопросы:
persist-tun
кажется недостаточным, так как он не переживает перезагрузку.Спасибо!
Вы можете указать имя устройства tun в файле конфигурации .ovpn:
Отредактируйте файл /etc/openvpn/server-vpngw.conf
и добавьте такие строки:
dev tun3
client-config-dir /etc/openvpn/ccd
Затем создайте следующий файл /etc/openvpn/ccd/vpn-name
и отредактируйте его так:
ifconfig-push 10.8.2.202 10.8.2.201
push "route 172.16.12.0 255.255.255.0"
push "route 10.2.4.0 255.255.255.0"
Другой более простой подход - отредактировать клиента, а не сервер:
Отредактируйте файл конфигурации клиента
sudo vim /etc/openvpn/client1.conf
И жестко запрограммируйте желаемое имя интерфейса tun:
dev tun69
Повторите шаг 1 со вторым файлом конфигурации VPN-клиента.
Перезапустите службу, чтобы изменения вступили в силу:
sudo service openvpn restart