Docker образ OpenVPN

Jenkins dd98a8d4bd Add new config for pavlov.a %!s(int64=4) %!d(string=hai) anos
openvpn dd98a8d4bd Add new config for pavlov.a %!s(int64=4) %!d(string=hai) anos
Dockerfile c6aa2cb46c Correct EXPOSE in Dockerfile to UDP %!s(int64=6) %!d(string=hai) anos
Jenkinsfile 3b6e43f98e Jenkinsfile mistakes %!s(int64=6) %!d(string=hai) anos
Jenkinsfile_keygen 87ea76b83f See Redmine 117384 %!s(int64=5) %!d(string=hai) anos
README.md 66c59cb307 Change Dockerfile, docker-entrypoint.sh %!s(int64=6) %!d(string=hai) anos
app.py 29893e1c04 Raise to 3650 days age of CRL file %!s(int64=6) %!d(string=hai) anos
docker-entrypoint.sh dfb6d04119 Missprint in firewall definition in docker-entrypoint.sh %!s(int64=6) %!d(string=hai) anos
intex.html bd562a2a7c Initial commit %!s(int64=6) %!d(string=hai) anos
ip_admin.txt dd98a8d4bd Add new config for pavlov.a %!s(int64=4) %!d(string=hai) anos
ip_client.txt 133a60a06b Add new config for dmitrovich %!s(int64=4) %!d(string=hai) anos
keygen.sh d194d3e1cd Добавил проверку выполнения. See Redmine 114379 %!s(int64=5) %!d(string=hai) anos
revoke.sh 1e15bc6086 see Redmine 108981 %!s(int64=5) %!d(string=hai) anos
stonevpn.conf 15472d43d5 Add stonevpn.conf, change Dockerfile %!s(int64=6) %!d(string=hai) anos

README.md

Docker образ OpenVPN

Состав дистрибутива:

  • Docker образ на основе Centos 7
  • OpenVPN
  • StoneVPN
  • Easy-RSA
  • Git client

Для запуска контейнера используется исполняемый файл docker-entrypoint.sh, в котором:

  • считывается из переменной режим работы (сервер, клиент, генерация конфигов)
  • присваивается дополнительный ip-адрес, присвоенной переменной ip, на интерфейс указанный в переменной dev
  • добавляется правило iptables
  • определяется процедура удаления ip и правила iptables при штатной и нештатной остановке контейнера
  • определяется подсеть кластера

Пример запуска контейнера

docker run -d --rm -e mode=server -e net="192.168.0.200" -e ip="192.168.0.234" -e dev="eth0" --net=host --privileged ovpn:1

Примечание: