Докеризированный VPN сервер, который работает прямо из коробки, не требует долгой настройки и постоянного места на жестком диске. Стартует за 2 секунды. Высокий уровень безопасности. Чтобы запустить, скопируйте и вставьте код ниже в окне терминала вашего сервера и следуйте инструкциям:
docker run -it --rm --cap-add=NET_ADMIN \
-p 1194:1194/udp -p 80:8080/tcp \
--name dockovpn alekslitvinenk/openvpn
Чтобы получить более детальную информацию, перейдите к Быстрый старт или посмотрите видео.
https://github.com/dockovpn/dockovpn
https://hub.docker.com/r/alekslitvinenk/openvpn
Тег | Описание |
---|---|
latest |
Этот тег добавляется ко всем новым сборкам docker-openvpn: v#.#.# или v#.#.#-regen-dh |
v#.#.# |
Стандартная фиксированная релиз версия. Здесь {1} указывает на мажорную версию, {2} - минорную и {3} - это a патч. Пример - v1.1.0 |
v#.#.#-regen-dh |
Релизная версия с обновленным файлом Деффи Хеллмана. Чтобы поддерживать уровень безопасности контейнера на высоком уровне, новая сборка с постфиксом тега regen-dh генерируется каждый час. Пример - v1.1.0-regen-dh |
dev |
Рабочая сборка Dockovpn, которая содержит последние изменения из ветки где ведется активная разработка (master) |
Переменная | Описание | Значение по умолчанию |
---|---|---|
NET_ADAPTER | Сетевой адаптер для использования на серверной машине | eth0 |
HOST_ADDR | Переопределенный адрес сервера (если автоматически определенный не работает) | localhost |
HOST_TUN_PORT | Порт на сервере для передачи VPN данных | 1194 |
HOST_TUN_PROTOCOL | Протокол туннеля (tcp или udp ) |
udp |
HOST_CONF_PORT | HTTP порт на сервере для скачивания клиентского файла конфигурации | 80 |
<custom port>
или <custom protocol>
на нужные вам значения:
DOCKOVPN_CONFIG_PORT=<custom port>
DOCKOVPN_TUNNEL_PORT=<custom port>
DOCKOVPN_TUNNEL_PROTOCOL=<custom protocol>
docker run -it --rm --cap-add=NET_ADMIN \
-p $DOCKOVPN_TUNNEL_PORT:1194/$DOCKOVPN_TUNNEL_PROTOCOL -p $DOCKOVPN_CONFIG_PORT:8080/tcp \
-e HOST_CONF_PORT="$DOCKOVPN_CONFIG_PORT" \
-e HOST_TUN_PORT="$DOCKOVPN_TUNNEL_PORT" \
-e HOST_TUN_PROTOCOL="$DOCKOVPN_TUNNEL_PROTOCOL" \
--name dockovpn alekslitvinenk/openvpn
После того как контейнер был запущен с помощью команды docker run
становится возможным использование дополнительных команд контейнера через docker exec
. Например, docker exec <container id> ./version.sh
. Ниже приведен список всех поддерживаемых команд.
Команда | Описание | Параметры | Пример |
---|---|---|---|
./version.sh |
Выводит полную версию контейнера, например Dockovpn v1.2.0 |
docker exec dockovpn ./version.sh |
|
./genclient.sh |
Генерирует новую конфигурацию для клиента | z — Необязательный. Помещает свежесгенерированный файл client.ovpn в zip архив.zp paswd — Необязательный. Помещает свежесгенерированный файл client.ovpn в zip архив с защитой паролем paswd o — Необязательный. Выводит клиентский файл конфигурации в консоль. oz — Необязательный. Помещает свежесгенерированный файл client.ovpn в zip архив и выводит файл в консоль. Лучше всего использовать с переадресацией вывода в файл. ozp paswd — Необязательный. Выводит zip архив с парольной защитой клиентского файла коифигурации в консоль. Лучше всего использовать с переадресацией вывода в файл. |
docker exec dockovpn ./genclient.sh docker exec dockovpn ./genclient.sh z docker exec dockovpn ./genclient.sh zp 123 docker exec dockovpn ./genclient.sh o > client.ovpn docker exec dockovpn ./genclient.sh oz > client.zip docker exec dockovpn ./genclient.sh ozp paswd > client.zip |
./rmclient.sh |
Удалаяет клиентский сертификат. Таким образом все последующие попытки пользователя установить соединение с данным сервером Dockovpn будут отвергаться. | Идентификатор клиента, пример vFOoQ3Hngz4H790IpRo6JgKR6cMR3YAp . |
docker exec dockovpn ./rmclient.sh vFOoQ3Hngz4H790IpRo6JgKR6cMR3YAp |
- Сервер: физический или виртуальный. У вас должны быть права администратора на данной машине.
- Докер.
- Публичный IP адрес.
Скопируйте код ниже и вставьте его в консоли вашего сервера:
docker run -it --rm --cap-add=NET_ADMIN \
-p 1194:1194/udp -p 80:8080/tcp \
--name dockovpn alekslitvinenk/openvpn
Ctrl+P Ctrl+Q
.
Если все предыдущие шаги были выполнены верно, то мы должны увидеть в консоли нечто похожее:
Sun Jun 9 08:56:11 2019 Initialization Sequence Completed
Sun Jun 9 08:56:12 2019 Client.ovpn file has been generated
Sun Jun 9 08:56:12 2019 Config server started, download your client.ovpn config at http://example.com/
Sun Jun 9 08:56:12 2019 NOTE: After you download you client config, http server will be shut down!
Сервис поднимет одноразовый http-сервер для того чтобы вы могли скачать файл с клиентскими настройками. После того как файл будет скачан, http-сервер будет остановлен.
Теперь, когда сервер запущен, вы можете прейти на <IP адрес вашего сервера>
в браузере и скачать клиентский файл конфигурации. Загрузка фала должна начаться немедленно.
Как только вы загрузите файл, в консоли вашего сервера вы увидите сообщение о том что http сервер был остановлен.
Sun Jun 9 09:01:15 2019 Config http server has been shut down
Импортируйте client.ovpn
в ваш любимый клиент OpenVPN. В большинстве случаев достаточно дважды кликнуть на файл, чтобы инициировать импорт настроек.
Вы должны увидеть вашу новую конфигурацию в списке доступных конфигураций для подключения. Кликните ее и начнется установка соединения. Через пару секунд все будет готово.
Поздравляем, теперь вы можете безопасно путешествовать по Всемирной Сети!
Есть возможность сохранить сгенерированные файлы в volume. Запустите docker образ с:
-v openvpn_conf:/opt/Dockovpn_data
Иногда более удобно использовать docker-compose.
Для того чтобы запустить docker-openvpn с помощью docker-compose, выполните:
docker-compose up -d && \
docker-compose exec -d dockovpn wget -O /doc/Dockovpn/client.ovpn localhost:8080
После запуска данной команды вы сможете взять client.ovpn
из openvpn_conf
директории.
Руководство контрибьютора (на английском)
Кодекс поведения (на английском)
Руководство по релизу (ENG)
Лицензионное соглашение (на английском)