Установка VPN сервера с помощью docker-compose

Содержание

Что нужно

  • docker
  • docker-compose

Начало

Создадим docker-compose.yml файл. Вот с таким содержимым:

version: '2'
services:
  openvpn:
    cap_add:
     - NET_ADMIN
    image: kylemanna/openvpn
    container_name: openvpn
    ports:
     - "1194:1194/udp"
    restart: always
    volumes:
     - ./openvpn-data/conf:/etc/openvpn

Настройка и инициализация

Далее нужно задать адрес сервер

docker-compose run --rm openvpn ovpn_genconfig -u udp://IP.ИЛИ.ДОМЕН.ВАШЕГО.СЕРЕРА

Инициализируем

docker-compose run --rm openvpn ovpn_initpki

Запуск

docker-compose up -d openvpn

Создание файла настроек с сертификатами

Для упрощения, зададим переменную окружения

export CLIENTNAME="название_вашего_клиента"

Далее генерируем сетификаты.

С кодовой фразой (passphrase) [рекомендуется]

docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME

Без кодовой фразы [не рекомендуется]

docker-compose run --rm openvpn easyrsa build-client-full $CLIENTNAME nopass

Создаём конфигурационный файл с сертификатами.

docker-compose run --rm openvpn ovpn_getclient $CLIENTNAME > $CLIENTNAME.ovpn

Отзыв клиентских сертификатов

С сохраниением ключей

docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME

Полное удаление

docker-compose run --rm openvpn ovpn_revokeclient $CLIENTNAME remove

Настройка клиентского менеджера соединений

Разберём настройку соединений в Gnome.

Заходим в настройки сети.

В секции VPN нажимаем на + справа от заголовка.

alt text

Далее, нажимаем на Import from file... и выбираем файл с настройками.

alt text

Далее в настойках видим созданную конфигурацию. Нажимаем на шестерёнку ⚙.

alt text

Идём во вкладку Identify. В самом низу нажимаем на кнопку Advanced...

alt text

Во вкладке Security выставляем Cipher: AES-256-GCM.

alt text

CC-BY

Если не указано иное, контент на этом сайте лицензируется в соответствии с лицензией Creative Commons Attribution 4.0 International license.