В этом руководстве я настрою сервер Open VPN в Docker с помощью CloudSigma. Благодаря облачным локациям CloudSigma, распределенным по всему миру, вы можете создать сервер в любой из них и получать доступ к контенту оттуда.
Создание машины
Сначала я создаю машину со следующими ресурсами:
20 ГГц ЦП
16 ГБ ОЗУ
20 ГБ SSD
Я монтирую диск с образом Ubuntu 18.04, доступным в библиотеке CloudSigma.
Ubuntu 18.04: предустановленная 64-битная версия с драйверами VirtIO, суперпользователем, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init и последними обновлениями до 30.09.2018.
Обновление всех существующих репозиториев и пакетов на машине.
|
1 2 |
sudo apt update sudo apt upgrade |
Теперь, когда наша система обновлена, я перейду к установке Docker. Для получения дополнительной информации о Docker, пожалуйста, перейдите сюда.
Установка Docker
Я могу установить Docker, выполнив следующие команды:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
Теперь, когда Docker успешно установлен, я могу приступить к запуску OpenVPN Access Server на нем. Ниже приведена команда для создания нового Docker-контейнера OpenVPN Access Server с указанной конфигурацией.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
Следующие команды упомянуты на странице Docker-образа.
Где openvpn-as должен хранить файлы конфигурации:
|
1 |
-v /config |
Для GroupID:
|
1 |
-e PGID |
Используется для UserID:
|
1 |
-e PUID |
Для настройки часового пояса:
|
1 |
-e TZ |
Настройка интерфейса для openvpn-as, по умолчанию используется eth0:
|
1 |
-e INTERFACE |
ВАЖНО: для большинства пользователей требуется работа в режиме host:
|
1 |
--net=host |
ВАЖНО: не будет работать без привилегированного режима (privileged):
|
1 |
--privileged |
Чтобы получить ID группы и ID пользователя, выполните следующую команду:
|
1 |
id |
Я указываю часовой пояс как CET.
Для определения интерфейса выполните следующую команду:
|
1 |
ip r |
Интерфейсом обычно является ens3 или eth0. В моей системе это ens3.
После добавления всех этих параметров я выполняю следующую команду:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
Поскольку этого образа еще нет в нашей системе, он будет загружен с сервера. Результат будет следующим:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Не удалось to найти образ 'linuxserver/openvpn-as:latest' локально latest: Загрузка из linuxserver/openvpn-as 56d9dc91333b: Загрузка завершена 1356b0cfc067: Загрузка завершена 155f3c53d4a5: Загрузка завершена 05088c205b6d: Загрузка завершена 112068b0fa4e: Загрузка завершена 2ff5dd4a0d9b: Загрузка завершена 7dd87385ca73: Загрузка завершена d966d969c7cd: Загрузка завершена 4439dbcda217: Загрузка завершена 5f960f89c64e: Загрузка завершена Дайджест: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Статус: Загружен более новый образ для linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Запуск контейнера с помощью этой команды:
|
1 |
sudo docker start openvpn-as |
Войти
Теперь, когда я запустил его, я перейду в панель администратора сервера доступа.
Переход по URL-адресу: https://<<YourIpAddress>>:943/admin

Потребуется ввести имя пользователя и пароль, которые по умолчанию:
Имя пользователя: admin
Пароль: password

После входа появится запрос на принятие EULA (Лицензионного соглашения с конечным пользователем). Нажимаю «Agree» (Согласен) и перехожу в панель управления администратора.

В целях безопасности рекомендуется изменить пароль учетной записи администратора. Я меняю его с помощью следующей команды:
|
1 |
docker exec -it openvpn-as passwd admin |
Настройка DNS
Теперь, когда наш сервер запущен и работает, мы хотим настроить в нем DNS. Для получения дополнительной информации о серверах доменных имен (DNS), пожалуйста, нажмите здесь.
Один из самых быстрых DNS-серверов — это сервер Google. Я собираюсь настроить его в своем OpenVPN Access Server, чтобы мои клиенты могли легко просматривать веб-сайты.
Я перехожу в настройки VPN и в разделе настроек DNS включаю опцию «Have clients use specific DNS servers» (Использовать клиентами определенные DNS-серверы).

Затем я введу следующие адреса в столбцы DNS-серверов:
Первичный DNS-сервер: 8.8.8.8
Вторичный DNS-сервер: 8.8.8.4

Сохраните настройки и нажмите «Update Running Server» (Обновить работающий сервер). Это обновит работающий сервер.
Теперь, когда я успешно настроил сервер, я могу перейти к подключению к VPN через свою систему.
Доступ к клиентскому интерфейсу по адресу: https://<<YourIpAddress>>:943.
Введите имя пользователя и пароль администратора или создайте нового пользователя в разделе «User Management» (Управление пользователями) панели администратора.
После входа в систему мне будут предложены различные варианты для разных ОС. Я выбираю Windows и скачиваю клиентское ПО.

Теперь, когда оно установлено, я могу запустить его из меню «Пуск» или оно запустится автоматически. Из системного трея я могу подключиться к VPN, используя учетную запись, которую я настроил ранее.

И я подключен к VPN. Вуаля! Вот так создается VPN-сервер в Docker.
Комментарии
Комментариев пока нет. Будьте первым.