23.07.2026
openvpn docker compose
Установка OpenVPN в Docker с помощью Compose: Полное Руководство
Если вы ищете простой и надежный способ развернуть OpenVPN-сервер в Docker, вы пришли к правильному месту. В этой статье мы расскажем, как использовать Docker Compose для установки OpenVPN и настройки безопасного VPN-соединения.
Навыки, необходимые для выполнения задачи
Чтобы развернуть OpenVPN в Docker с помощью Compose, вам понадобится базовый опыт работы с Docker и Docker Compose. Кроме того, рекомендуем знать основы настройки OpenVPN и информационной безопасности.
Шаг 1. Создание файла docker-compose.yml
Сначала нам нужно создать файл docker-compose.yml с настройками нашего OpenVPN-сервера. Откройте текстовый редактор и добавьте следующий код:
version: '3'
services:
openvpn:
image: kylemanna/openvpn
container_name: openvpn
ports:
- "1194:1194"
volumes:
- ./openvpn:/etc/openvpn
cap_add:
- NET_ADMIN
Этот файл указывает Docker Compose на использование образа kylemanna/openvpn и настраивает порты и параметры нашего контейнера.
Шаг 2. Создание файлов OpenVPN
Создайте два файла в директории openvpn: server.ovpn и client.ovpn. В файле server.ovpn добавьте следующий код:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
Файл client.ovpn должен содержать следующий код:
client
dev tun
proto udp
remote <IP_адрес_сервера> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
verb 3
Шаг 3. Установка сертификатов и ключей
Чтобы развернуть OpenVPN, нам нужно создать сертификаты и ключи для нашего сервера и клиента. Мы можем использовать OpenSSL для этого. Сначала создайте файл ca.key и ca.crt командой:
openssl genrsa -out ca.key 2048
openssl req -new -x509 -nodes -key ca.key -subj "/C=RU/ST=Moscow/L=Moscow/O=My Company/CN=My CA" -out ca.crt
Далее создайте файлы server.key и server.crt командой:
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/C=RU/ST=Moscow/L=Moscow/O=My Company/CN=My Server" -out server.csr
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
Наконец, создайте файлы client.key и client.crt командой:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -subj "/C=RU/ST=Moscow/L=Moscow/O=My Company/CN=My Client" -out client.csr
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt
Шаг 4. Развертывание OpenVPN
Выполните команду, чтобы развернуть OpenVPN:
docker-compose up -d
Ожидайте, пока контейнер не запустится и сервис не станет доступным.
Шаг 5. Настройка клиента
Чтобы подключиться к OpenVPN-серверу, нужно создать файл client.ovpn с настройками клиента, как показано выше. Далее запустите команду:
docker run -it --rm --name client -v $(pwd)/client.ovpn:/etc/openvpn/client.ovpn -v $(pwd)/client.crt:/etc/openvpn/client.crt -v $(pwd)/client.key:/etc/openvpn/client.key kylemanna/openvpn
Это запустит клиент OpenVPN и подключит вас к серверу.
Вывод
Развертывание OpenVPN в Docker с помощью Compose - это простой и надежный способ развернуть безопасное VPN-соединение. Мы надеемся, что эта статья помогла вам понять, как использовать Docker Compose для настройки OpenVPN. Если у вас есть какие-либо вопросы или проблемы с настройкой, не стесняйтесь обращаться к нам.
Дополнительные ресурсы
Если вы хотите узнать больше о настройке OpenVPN и информационной безопасности, рекомендуем посмотреть следующие ресурсы:
- Документация OpenVPN
- Документация Docker Compose
- Сайт OpenVPN
Окончательный ответ:
- Создайте файл
docker-compose.ymlс настройками OpenVPN:
version: '3'
services:
openvpn:
image: kylemanna/openvpn
container_name: openvpn
ports:
- "1194:1194"
volumes:
- ./openvpn:/etc/openvpn
cap_add:
- NET_ADMIN
- Создайте файлы OpenVPN:
server.ovpnиclient.ovpn. - Создайте сертификаты и ключи для сервера и клиента.
- Развертывайте OpenVPN с помощью команды
docker-compose up -d. - Настройте клиента OpenVPN и подключитесь к серверу.