- PVSM.RU - https://www.pvsm.ru -
Процесс настройки и управления VPN на Linux-сервере обычно занимает немало времени. И если настроить можно один раз и забыть, то управлять пользователями VPN периодически приходится и хорошо бы, чтобы это мог делать и рядовой сотрудник компании без прав доступа к серверу и SSH вообще. Часто используется сценарий, когда с помощью VPN организуется доступ во внутреннюю сеть облака для подключения виртуальных серверов к корпоративной сети компании. Даже для себя быстро поднять VPN бывает полезно.
В этой статье мы буквально за несколько минут настроим OpenVPN сервер с возможностью простого управления VPN–серверами, пользователями и организациями и запустим все это в InfoboxCloud [1]. Это облако присутствует в регионах Москва и Амстердам, благодаря чему можно использовать VPN как для корпоративных целей, так и для того, чтобы представиться жителем Нидерландов в сети (например для использования сервисов, которые не доступны на территории вашей страны).
На сервере мы будем использовать проект Pritunl [2], который представляет собой панель управления, автоматизирующую управление конфигурациями OpenVPN. Исходные тексты pritunl открыты и доступны на гитхабе [3]. Бесплатной версии более чем достаточно для использования. Платная позволяет отправлять данные для доступа по email или настраивать автоматическую отказоустойчивость сервиса (что для InfoboxCloud не очень важно, т.к. само облако работает в отказоустойчивом кластере) и управлять балансировкой нагрузки между несколькими серверами.
В самое ближайшеее время в InfoboxCloud [1] появится шаблон сервера с предустановленным Pritunl и можно будет создавь VPN–сервер за 1 клик.
Подключившись к серверу с 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
Откройте в браузере
https://адрес_домена_направленного_на_сервер:9700
В статье используется тестовый адрес
https://vpn.trukhin.com:9700
Предлагается настроить путь к базе данных.
Просто нажмите «Save». Откроется окно входа.
Используйте:
После входа будет предложено изменить пароль (что сделать очень рекомендуется), указать данные SMTP сервера для отправки писем (не обязательно) и отображается ключ API для программного управления VPN. Подробная документация по API тут [7]. Если вы оставите ip–адрес как есть — VPN будет работать через публичную сеть Infobox (отлично подходит для того, чтобы пользоваться интернетом из Нидерландов).
После заполнения формы вы попадете в панель управления. Пока что пользователей VPN в системе нет.
Перейдите в раздел «Users».
Добавьте организацию.
Теперь добавьте пользователя.
Пришло время наконец-то создать наш VPN–сервер. Нажмите на кнопку «Servers».
Нажмите «Add server».
Укажите имя VPN–сервера (должно совпадать с доменом, направленным на VPN–сервер!). Можно настроить DNS, выбрать способ работы VPN, разрешить нескольким устройствам подключаться одновременно и даже можно использовать двухфакторную аутентификацию с Google Authenticator.
Теперь прикрепите организацию (со всеми пользователями) к VPN–серверу, нажав «Attach Organization».
Нам уже предлагается наша организация и VPN-сервер. Просто нажмем «Attach».
Все готово! Нажмите «Start server» для запуска VPN–сервера.
Наш VPN–сервер успешно запущен!
Теперь осталось только скачать файл конфигурации OpenVPN для пользователя.
Это очень часто используемый компаниями сценарий. Серверам кроме VPN–сервера и веб-сервера не назначается публичный ip–адрес и они не имеют доступа к внешней сети. Пользователь подключается по VPN и входит во внутреннюю сеть компании в облаке.
Для того, чтобы этот сценарий работал, для начала посмотрите в панели управления [8] InfoboxCloud приватные ip–адреса серверов, к которым необходимо доступ.
При создании VPN–сервера в pritunl выберите режим сервера «Local Traffic Only» и установите cidr подсети, как показано на скриншоте.
После этого как и раньше, добавьте компанию к VPN–серверу, скачайте заново настройки для подключения пользователя и подключитесь к VPN. Теперь вы можете подключаться к серверам, доступным только из приватной сети InfoboxCloud.
Для подключения можно использовать любой клиент OpenVPN, в том числе можно настроить подключение с роутера, если он поддерживает OpenVPN (например Mikrotik). Мы рассмотрим способы подключения с десктопа.
Скачайте [9] клиент OpenVPN для Windows отсюдa [10].
Установите клиент с настройками по умолчанию. В процессе согласитесь на установку драйвера OpenVPN.
Затем скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:
Установите 7zip [11] и распакуйте скачанный tar файл.
Скопируйте .ovpn файл в директорию
C:Program filesOpenVPNconfig
Запустите с рабочего стола с правами администратора OpenVPN Gui (в свойствах ярлыка можно установить запуск с правами администратора постоянно).
В системном трее нажмите правой кнопкой мыши на ярлык OpenVPN и выберите «Connect».
Соединение будет успешно установлено.
Скачайте [12] Tunnelblick отсюда [13] и установите его.
Скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:
Установите The Unarchiver [14], чтобы распаковать tar файл не открывая терминал.
Распакуйте tar файл. Затем сделайте двойной клик по файлу конфигурации .ovpn. Разрешите использование файла конфигурации только для себя или для всех пользователей (на выбор).
Введите пароль администратора.
В панели меню нажмите на иконку Tunnelblick и выберите «Connect».
Соединение будет успешно установлено.
Откройте терминал и введите следующую команду:
sudo apt-get install network-manager-openvpn
Скачайте файл конфигурации OpenVPN из раздела пользователей вашего VPN–сервера:
Загрузится файл tar. Перейдите в терминале в директорию, куда был загружен файл:
cd ~/Downloads/
Распакуйте файл (название файла будет соответствовать имени пользователя):
tar -xvf trukhinyuri.tar
Из-за ошибки [15] в Network Manager мы не можем импортировать ovpn файл напрямую. Но есть временное решение:
<ca> и </ca>
из файла конфигурации ovpn.
<cert> и </cert>
из файла конфигурации ovpn.
<key> и </key>
из файла конфигурации ovpn.
<tls-auth> и </tls-auth>
из файла конфигурации ovpn.
<ca>
и все ниже и добавьте в конец:
ca ca.crt
cert client.crt
key client.key
tls-auth ta.key
Нажмите на иконку Network Manager и выберите «Edit connections»:
В Network manager нажмите Add и выберите «Import a saved vpn configuration» и нажмите «create»:
Выберите модифицированный файл конфигурации ovpn из папки «OpenVPN» и нажмите «Open»:
Войдите в «Advanced» -> «TLS Authentication» и установите «Key Direction» такой же, как в оригинальном файле конфигурации ovpn значение «key-direction». В нашем случае это «1».
Нажмите «Save» и закройте все окна Network manager. Подключитесь к VPN серверу, как показано на скриншоте ниже:
Вы успешно подключились к VPN из Ubuntu Desktop.
В этой статье мы научились быстро разворачивать VPN–сервер с веб-интерфейсом в InfoboxCloud [1]. Если вы хотите попробовать облачный сервер — пришлите нам [16] свой email и мы предоставим бесплатную пробную версию облака на 15 дней.
Если вы не можете писать комментарии, задайте вопрос в Сообществе InfoboxCloud [17]. В случае, если вы обнаружили ошибку в статье, автор ее с удовольствием исправит. Пожалуйста напишите в ЛС или на почту [18] о ней.
Успешной работы!
Автор: infobox
Источник [19]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/openvpn/80225
Ссылки в тексте:
[1] InfoboxCloud: http://infoboxcloud.ru
[2] Pritunl: https://pritunl.com
[3] гитхабе: https://github.com/pritunl/pritunl
[4] создайте ее: http://help.sandbox.infoboxcloud.ru/content/ru/cloud_infrastructure/order_cloud/order_cloud.html
[5] Подключитесь к серверу по SSH: https://helpdesk.infobox.ru/Knowledgebase/Article/View/400/
[6] домен: http://infobox.ru/domains/
[7] Подробная документация по API тут: https://pritunl.com/api.html
[8] панели управления: https://panel.infobox.ru
[9] Скачайте: http://swupdate.openvpn.org/community/releases/openvpn-install-2.3.6-I601-x86_64.exe
[10] отсюдa: http://openvpn.net/index.php/open-source/downloads.html
[11] 7zip: http://www.7-zip.org/
[12] Скачайте: https://sourceforge.net/projects/tunnelblick/files/All%20files/Tunnelblick_3.4.3_build_4055.4198.dmg/download
[13] отсюда: https://code.google.com/p/tunnelblick/wiki/DownloadsEntry#Tunnelblick_Stable_Release
[14] The Unarchiver: https://itunes.apple.com/ru/app/the-unarchiver/id425424353?mt=12
[15] ошибки: https://bugs.launchpad.net/ubuntu/+source/network-manager-openvpn/+bug/606365
[16] пришлите нам: mailto:trukhinyuri@infoboxlcloud.com
[17] Сообществе InfoboxCloud: https://infoboxcloud.ru/community/blog/iaas/225.html#cut
[18] на почту: mailto:trukhinyuri@infoboxcloud.com
[19] Источник: http://habrahabr.ru/post/248445/
Нажмите здесь для печати.