Posts Настройка VPN  in Docker
Post
Cancel

Настройка VPN  in Docker

Начало работы

Для выполнения этого урока сначала необходимо установить Docker на нашем сервере. После его установки нам нужно только выполнить следующие шаги.

Скачиваем репозиторий с контейнером:

git clone https://github.com/kylemanna/docker-openvpn.git

Мы получаем доступ к папке, которую мы скачали:

1
cd docker-openvpn 

И создаем образ с именем, которое мы хотим — в моём случае vpn — из контейнера:

1
 docker build -t vpn . 

Затем нам нужно будет создать каталог, куда мы подключим рабочую нагрузку контейнеров, в моем случае я создам его в /opt :

1
mkdir -p /opt/vpn-data 

Конфигурация OpenVPN

Теперь мы собираемся развернуть контейнер и сгенерируем первый файл конфигурации, который мы сохраним в папке, которую мы создали ранее.

1
docker run -v /opt/vpn-data:/etc/openvpn --rm vpn ovpn_genconfig -u udp://[IP_ADRESS]:3000 

Здесь мы должны добавить наш каталог, имя контейнера, который мы создали ранее, а затем добавить общедоступный IP-адрес нашего сервера.

С этим у нас уже есть наш файл конфигурации, теперь следующим будет создание PKI и CA.

Генерация PKI и CA

Чтобы OpenVPN работал правильно, нам нужно создать закрытый ключ, открытый ключ и сертификат. Для этого мы выполним следующее:

1
docker run -v /opt/vpn-data:/etc/openvpn --rm -it vpn ovpn_initpki 

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

1
docker run --name vpn -v /opt/vpn-data:/etc/openvpn --restart=always -d -p 3000:1194/udp --cap-add=NET_ADMIN vpn 

Добавить пользователя

Мы можем создавать пользователей или клиентов для доступа к VPN. Для этого нам нужно будет сгенерировать файлы .ovpn для каждого пользователя. Соединения будут выполняться без добавления пароля, поскольку процесс проверки будет проходить через ключ, сертификат и пользователя.

Чтобы создать нового клиента:

1
docker run -v /opt/vpn-data:/etc/openvpn --rm -it vpn easyrsa build-client-full USUARIO nopass 

Где USER мы будем указывать имя пользователя, которого мы хотим. Теперь мы создали пользователя, наконец, мы должны сгенерировать файл для вашего подключения:

1
docker run -v /opt/vpn-data:/etc/openvpn --rm vpn ovpn_getclient USUARIO > USUARIO.ovpn 

Его мы уже можем импортировать файл OVPN в любой клиент OpenVPN, и мы можем установить соединение.

This post is licensed under CC BY 4.0 by the author.