Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов

в 12:25, , рубрики: 14.04, infobox, openvpn, vpn, Блог компании Infobox, веб-интерфейс, Настройка Linux, облако, облачный VPN, панель управления, системное администрирование, хостинг

Процесс настройки и управления VPN на Linux-сервере обычно занимает немало времени. И если настроить можно один раз и забыть, то управлять пользователями VPN периодически приходится и хорошо бы, чтобы это мог делать и рядовой сотрудник компании без прав доступа к серверу и SSH вообще. Часто используется сценарий, когда с помощью VPN организуется доступ во внутреннюю сеть облака для подключения виртуальных серверов к корпоративной сети компании. Даже для себя быстро поднять VPN бывает полезно.

В этой статье мы буквально за несколько минут настроим OpenVPN сервер с возможностью простого управления VPN–серверами, пользователями и организациями и запустим все это в InfoboxCloud. Это облако присутствует в регионах Москва и Амстердам, благодаря чему можно использовать VPN как для корпоративных целей, так и для того, чтобы представиться жителем Нидерландов в сети (например для использования сервисов, которые не доступны на территории вашей страны).
Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 1
На сервере мы будем использовать проект Pritunl, который представляет собой панель управления, автоматизирующую управление конфигурациями OpenVPN. Исходные тексты pritunl открыты и доступны на гитхабе. Бесплатной версии более чем достаточно для использования. Платная позволяет отправлять данные для доступа по email или настраивать автоматическую отказоустойчивость сервиса (что для InfoboxCloud не очень важно, т.к. само облако работает в отказоустойчивом кластере) и управлять балансировкой нагрузки между несколькими серверами.

В самое ближайшеее время в InfoboxCloud появится шаблон сервера с предустановленным Pritunl и можно будет создавь VPN–сервер за 1 клик.

Что нам потребуется для настройки

  • Мы надеемся, что у вас уже есть учетная запись в InfoboxCloud. Если еще нет — создайте ее.
    Затем создайте облачный сервер с Ubuntu 14.04 в панели управления (не забудьте серверу выделить 1 публичный IP–адрес и установить необходимую скорость канала — до гигабита). При создании сервера необходимо установить галочку «разрешить управление ядром ОС». После создания сервера на вашу электронную почту придут данные для доступа к серверу. Подключитесь к серверу по SSH.
  • Также нам потребуется домен или поддомен для организации точки входа в VPN. Запись A домена следует направить на ip–адрес созданного облачного сервера.

Устанавливаем Pritunl

Подключившись к серверу с Ubuntu 14.04 по SSH выполните команду:

apt-key update && apt-get update && apt-get -y upgrade && apt-get -y install python-software-properties && apt-get -y install software-properties-common && add-apt-repository -y ppa:pritunl && apt-get update && apt-get -y install pritunl

Настраиваем VPN–сервер в веб-интерфейсе

Откройте в браузере

https://адрес_домена_направленного_на_сервер:9700

В статье используется тестовый адрес

https://vpn.trukhin.com:9700

Предлагается настроить путь к базе данных.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 2

Просто нажмите «Save». Откроется окно входа.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 3

Используйте:

  • Логин: pritunl
  • Пароль: pritunl

После входа будет предложено изменить пароль (что сделать очень рекомендуется), указать данные SMTP сервера для отправки писем (не обязательно) и отображается ключ API для программного управления VPN. Подробная документация по API тут. Если вы оставите ip–адрес как есть — VPN будет работать через публичную сеть Infobox (отлично подходит для того, чтобы пользоваться интернетом из Нидерландов).

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 4

После заполнения формы вы попадете в панель управления. Пока что пользователей VPN в системе нет.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 5

Перейдите в раздел «Users».
Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 6

Добавьте организацию.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 7

Теперь добавьте пользователя.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 8

Пришло время наконец-то создать наш VPN–сервер. Нажмите на кнопку «Servers».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 9

Нажмите «Add server».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 10

Укажите имя VPN–сервера (должно совпадать с доменом, направленным на VPN–сервер!). Можно настроить DNS, выбрать способ работы VPN, разрешить нескольким устройствам подключаться одновременно и даже можно использовать двухфакторную аутентификацию с Google Authenticator.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 11

Теперь прикрепите организацию (со всеми пользователями) к VPN–серверу, нажав «Attach Organization».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 12

Нам уже предлагается наша организация и VPN-сервер. Просто нажмем «Attach».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 13

Все готово! Нажмите «Start server» для запуска VPN–сервера.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 14

Наш VPN–сервер успешно запущен!

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 15

Теперь осталось только скачать файл конфигурации OpenVPN для пользователя.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 16

Особенности подключения к внутренней сети InfoboxCloud

Это очень часто используемый компаниями сценарий. Серверам кроме VPN–сервера и веб-сервера не назначается публичный ip–адрес и они не имеют доступа к внешней сети. Пользователь подключается по VPN и входит во внутреннюю сеть компании в облаке.

Для того, чтобы этот сценарий работал, для начала посмотрите в панели управления InfoboxCloud приватные ip–адреса серверов, к которым необходимо доступ.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 17

При создании VPN–сервера в pritunl выберите режим сервера «Local Traffic Only» и установите cidr подсети, как показано на скриншоте.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 18

После этого как и раньше, добавьте компанию к VPN–серверу, скачайте заново настройки для подключения пользователя и подключитесь к VPN. Теперь вы можете подключаться к серверам, доступным только из приватной сети InfoboxCloud.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 19

Настраиваем клиентов OpenVPN

Для подключения можно использовать любой клиент OpenVPN, в том числе можно настроить подключение с роутера, если он поддерживает OpenVPN (например Mikrotik). Мы рассмотрим способы подключения с десктопа.

Настройка OpenVPN–клиента на Windows

Скачайте клиент OpenVPN для Windows отсюдa.

Установите клиент с настройками по умолчанию. В процессе согласитесь на установку драйвера OpenVPN.

Затем скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 20

Установите 7zip и распакуйте скачанный tar файл.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 21

Скопируйте .ovpn файл в директорию

C:Program filesOpenVPNconfig

Запустите с рабочего стола с правами администратора OpenVPN Gui (в свойствах ярлыка можно установить запуск с правами администратора постоянно).

В системном трее нажмите правой кнопкой мыши на ярлык OpenVPN и выберите «Connect».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 22

Соединение будет успешно установлено.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 23

Настройка OpenVPN–клиента на OS X

Скачайте Tunnelblick отсюда и установите его.

Скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 24

Установите The Unarchiver, чтобы распаковать tar файл не открывая терминал.

Распакуйте tar файл. Затем сделайте двойной клик по файлу конфигурации .ovpn. Разрешите использование файла конфигурации только для себя или для всех пользователей (на выбор).

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 25

Введите пароль администратора.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 26

В панели меню нажмите на иконку Tunnelblick и выберите «Connect».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 27

Соединение будет успешно установлено.

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 28

Настройка OpenVPN–клиента на Ubuntu Desktop

Откройте терминал и введите следующую команду:

sudo apt-get install network-manager-openvpn

Скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 29

Загрузится файл tar. Перейдите в терминале в директорию, куда был загружен файл:

cd ~/Downloads/

Распакуйте файл (название файла будет соответствовать имени пользователя):

tar -xvf trukhinyuri.tar

Из-за ошибки в Network Manager мы не можем импортировать ovpn файл напрямую. Но есть временное решение:

  • Создайте папку «OpenVPN» и скопируйте туда файл конфигурации ovpn, который вы распаковали ранее из архива.
  • Откройте файл конфигурации ovpn из папки «OpenVPN» в текстовом редакторе.
  • Создайте файл ca.crt в папке «OpenVPN»: скопируйте в него текст между
    <ca> и </ca>
    

    из файла конфигурации ovpn.

  • Создайте файл client.crt в папке «OpenVPN»: скопируйте в него текст между
    <cert> и </cert>
    

    из файла конфигурации ovpn.

  • Создайте файл client.key в папке «OpenVPN»: скопируйте в него текст между
    <key> и </key>
    

    из файла конфигурации ovpn.

  • Создайте файл ta.key в папке «OpenVPN»: скопируйте в него текст между
    <tls-auth> и </tls-auth>
    

    из файла конфигурации ovpn.

  • Откройте файл конфигурации ovpn из папки «OpenVPN» и отредактируйте его: удалите секцию
    <ca> 
    

    и все ниже и добавьте в конец:

    ca ca.crt
    cert client.crt
    key client.key
    tls-auth ta.key
    

Нажмите на иконку Network Manager и выберите «Edit connections»:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 30

В Network manager нажмите Add и выберите «Import a saved vpn configuration» и нажмите «create»:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 31

Выберите модифицированный файл конфигурации ovpn из папки «OpenVPN» и нажмите «Open»:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 32

Войдите в «Advanced» -> «TLS Authentication» и установите «Key Direction» такой же, как в оригинальном файле конфигурации ovpn значение «key-direction». В нашем случае это «1».

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 33

Нажмите «Save» и закройте все окна Network manager. Подключитесь к VPN серверу, как показано на скриншоте ниже:

Развертываем OpenVPN сервер с панелью управления в облаке InfoboxCloud и настраиваем доступ для клиентов - 34

Вы успешно подключились к VPN из Ubuntu Desktop.

Заключение

В этой статье мы научились быстро разворачивать VPN–сервер с веб-интерфейсом в InfoboxCloud. Если вы хотите попробовать облачный сервер — пришлите нам свой email и мы предоставим бесплатную пробную версию облака на 15 дней.

Если вы не можете писать комментарии, задайте вопрос в Сообществе InfoboxCloud. В случае, если вы обнаружили ошибку в статье, автор ее с удовольствием исправит. Пожалуйста напишите в ЛС или на почту о ней.

Успешной работы!

Автор: infobox

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js