Как запустить контейнер DOCKER в котором будет поднят openvpn? Всем привет!
Необходимо создать контейнер на docker в котором будет поднимать клиентское соединение openvpn, при этом контейнер в интернет должен всегда выходить только через него, когда vpn соединение обрывается, то контейнер сообщает об этом в zabbix и доступ в интернет пропадает.
Подскажите как лучше всего реализовать ?
Я так понимаю помимо сборки контейнера с volume конфига vpn, ещё нужно настраивать ipset.

30 Дек 2019 в 05:55
223 +1
0
Ответы
1

Для запуска контейнера с openvpn и настройки выхода в интернет через vpn, вы можете использовать следующий Dockerfile:

FROM debian:latest
RUN apt-get update && apt-get install -y openvpn iproute2
COPY your-openvpn-config.ovpn /etc/openvpn/client.conf
CMD openvpn --config /etc/openvpn/client.conf

Далее, для того чтобы контейнер всегда выходил в интернет через vpn, можно использовать iptables:

docker run -d --privileged your-openvpn-container
VPNCONTAINER_ID=`docker ps -q -l`
iptables -t nat -A POSTROUTING -s `docker inspect --format '{{ .NetworkSettings.IPAddress }}' $VPNCONTAINER_ID` -j MASQUERADE

Для мониторинга и отправки уведомлений о потере соединения с VPN в Zabbix, вы можете добавить проверку в Zabbix и использовать скрипт проверки соединения с VPN. Как только VPN соединение обрывается, скрипт может отправить уведомление в Zabbix.

Надеюсь, это поможет вам реализовать необходимую функциональность.

18 Апр 2024 в 22:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир