OpenVPN в Docker контейнере

Автор: Admin | 29.11.2016

Быстрое разворачивание OpenVPN в Docker контейнере

Запуск OpenVPN сервера за пять минут, используя базовый образ Alpine при помощи Docker

Как использовать

Кратко

cd
git clone https://github.com/maxmureev/OpenVPN-Docker-Alpine.git
cd OpenVPN-Docker-Alpine
./init.sh

Запустить OpenVPN контейнер

docker run -d --name=openvpn -v ~/OpenVPN-Docker-Alpine/volumes:/etc/openvpn --privileged -p 1194:1194/udp --net=host openvpn

Немного описания

Мне кажется дичью запускать скрипт, лежащий в data контейнере, как предложено в большинстве образов с OpenVPN на докерхабе или гитхабе. Поэтому решил не помещать easy-rsa внутрь контейнера, а выполнять действия с ключами на хост системе. При запуске init.sh билдится контейнер, скачивается easy-rsa, инициализируется хранилище ключей, создаются все ключи для сервера и копируются в рабочий каталог OVPN. Конфиг, логи и созданные ключи хранятся в каталоге volumes на хост системе. В ходе создания ключей будет задано несколько вопросов. Обращаю внимание, что все ключи создаются в параметром nopass, это значит они не защищены паролем.
Для создания клиентских ключей использовать команду:

cd ~/OpenVPN-Docker-Alpine/easy-rsa/easyrsa3/
./easyrsa build-server-full USER [nopass]

Конфиг OpenVPN настроен для раздачи интернета в качестве default gateway.

Конфиг клиента можно взять отсюда

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *