VPN (Virtual Private Network) дословно переводится как «виртуальная частная сеть». Основная функция этой технологии — защита сетевого трафика от постороннего наблюдения и вмешательства извне. Проблема в том, что бесплатные VPN-сервисы далеко не всегда гарантируют полную безопасность, поэтому многие пользователи предпочитают разворачивать собственный VPN-сервер на арендованном VPS. В этом материале разберём весь процесс настройки OpenVPN на виртуальном сервере — от аренды машины до подключения клиента.
Развернуть собственный VPN можно, пройдя через следующие этапы:
VPS (или VDS) — это формат хостинга, при котором клиенту выделяется обособленный сегмент физического сервера — благодаря технологии виртуализации. Такая аренда обходится существенно дешевле, чем аренда целой физической машины, при этом по своим возможностям VPS практически ничем не уступает: развернуть на нём VPN получится точно так же, как и на выделенном сервере.
Провайдер Vpserver.Pro предоставляет серверы сразу в нескольких географических локациях, а минимальная стоимость аренды стартует от 10$ ежемесячно (либо 0.35$ в сутки).
Для нашей задачи вполне подойдёт самая простая конфигурация по минимальному тарифному плану. Выбираем подходящий вариант, проходим несложную регистрацию и оплачиваем выбранный тариф. В демонстрационных целях мы используем шаблон Ubuntu, а в качестве типа подключения указываем SSH.

Как только установка операционной системы завершится, вы получите комплект данных для входа на сервер: логин, пароль и IP-адрес — эта информация потребуется на следующем шаге.
SSH представляет собой протокол, дающий возможность удалённо управлять операционной системой сервера. Специальное приложение — SSH-клиент — позволяет подключиться к VPS и провести все нужные настройки.
В качестве примера возьмём бесплатное приложение Putty, загрузить которое можно с сайта разработчика.
Запускаем программу, в строке «Host Name» прописываем IP-адрес сервера, значение поля «Port» оставляем без правок — там должно стоять «22». После этого нажимаем «Open», и перед нами откроется консоль для дальнейшей работы.

Указываем логин (у нас это «root») и подтверждаем ввод клавишей Enter. Далее вводим пароль вручную либо вставляем его через контекстное меню правой кнопки мыши, снова нажимаем Enter. При корректном вводе данных соединение установится. Важный момент: символы пароля не отображаются в окне Putty при наборе — это стандартное поведение приложения, а не сбой.

Чтобы установить OpenVPN, копируем целиком нижеприведённую команду, вставляем в консоль и нажимаем Enter:
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Запустится процесс установки, в ходе которого потребуется задать несколько параметров конфигурации:
Далее достаточно нажать любую клавишу, чтобы стартовала установка, и дождаться её окончания.

FTP — это сетевой протокол для передачи файлов, а FTP-клиент — программа, которая упрощает взаимодействие с FTP-сервером. С её помощью мы подключимся к арендованному VPS и загрузим сгенерированный конфиг.
В качестве примера используем бесплатный FTP-клиент FileZilla, доступный для загрузки с официального сайта.
Запускаем FileZilla. В поле «Хост» вводим:
sftp://Айпи-адрес-сервера
Логин и пароль берём из тех данных доступа, что получили ранее. Нажимаем кнопку «Быстрое соединение». Как только связь установится, в правой части интерфейса отобразится содержимое сервера, а в левой — файлы вашего компьютера. Находим нужный конфигурационный файл среди серверных папок и перетаскиваем его мышью в левую область — так он сохранится на локальном диске.

После установки клиента OpenVPN дважды кликаем по конфигурационному файлу и подтверждаем действие кнопкой «Да». Обратите внимание — файл находится в той папке, которая была выбрана при его скачивании через FileZilla.
Программа OpenVPN может запускаться в свёрнутом состоянии. Чтобы подключиться к сети, найдите значок приложения в области уведомлений (нижний правый угол экрана), кликните по нему правой кнопкой мыши, выберите нужный конфигурационный файл и нажмите «Подключиться».
Если требуется подключить дополнительного пользователя к серверу, где OpenVPN уже настроен и работает, удобнее всего воспользоваться утилитой Easy-RSA — набором скриптов для управления сертификатами, который позволяет без труда генерировать ключи и сертификаты для новых клиентов.
Для начала подключаемся к серверу по SSH — так же, как описано в начале статьи. Если утилита ещё не установлена, вводим в терминал команду:
sudo apt install easy-rsa
Дальнейшие действия выполняем по порядку.
cd /usr/share/easy-rsa./easyrsa init-pki./easyrsa build-ca./easyrsa build-client-full <client-name> парольная_фраза_клиента
usr/share/easy-rsa/pki/issued/<client-name>.crt - сертификат
/usr/share/easy-rsa/pki/private/<client-name>.key - ключ
sudo cp keys/<client-name>.crt keys/<client-name>.key keys/ca.crt /etc/openvpn/
sudo nano /etc/openvpn/<client-name>.ovpn
В качестве основы для конфига можно взять шаблон, который использовался при настройке первого клиента (см. Этап 3).
sudo systemctl restart openvpn
На этом процедура добавления клиента закончена — остаётся отправить ему нужные файлы. По уже отработанной схеме с использованием FileZilla скачиваем на компьютер четыре файла: <client-name>.ovpn, <client-name>.crt, <client-name>.key и ca.crt. Эти файлы переносятся на устройство клиента — будь то компьютер или смартфон, с которого планируется выход в частную сеть. Дальнейшие шаги зависят от конкретного OpenVPN-приложения, установленного на этом устройстве.
Чтобы добавить очередного пользователя, процедуру нужно повторить полностью, за исключением этапа изменения настроек «vars».
Стоит также упомянуть более простой вариант получения файла конфигурации (*.ovpn) для нового клиента — достаточно повторно запустить установочный скрипт OpenVPN.
Теперь у вас есть полное понимание того, как развернуть свой VPN на базе VDS-сервера. Если в процессе настройки возникнут вопросы или сложности — служба технической поддержки Vpserver.Pro всегда готова помочь клиентам, работающим на серверах нашей компании.