Пошаговая инструкция настройки VPN на VPS

VPN (Virtual Private Network) дословно переводится как «виртуальная частная сеть». Основная функция этой технологии — защита сетевого трафика от постороннего наблюдения и вмешательства извне. Проблема в том, что бесплатные VPN-сервисы далеко не всегда гарантируют полную безопасность, поэтому многие пользователи предпочитают разворачивать собственный VPN-сервер на арендованном VPS. В этом материале разберём весь процесс настройки OpenVPN на виртуальном сервере — от аренды машины до подключения клиента.

Развернуть собственный VPN можно, пройдя через следующие этапы:

Этап 1. Аренда виртуального сервера

VPS (или VDS) — это формат хостинга, при котором клиенту выделяется обособленный сегмент физического сервера — благодаря технологии виртуализации. Такая аренда обходится существенно дешевле, чем аренда целой физической машины, при этом по своим возможностям VPS практически ничем не уступает: развернуть на нём VPN получится точно так же, как и на выделенном сервере.

Провайдер Vpserver.Pro предоставляет серверы сразу в нескольких географических локациях, а минимальная стоимость аренды стартует от 10$ ежемесячно (либо 0.35$ в сутки).

Для нашей задачи вполне подойдёт самая простая конфигурация по минимальному тарифному плану. Выбираем подходящий вариант, проходим несложную регистрацию и оплачиваем выбранный тариф. В демонстрационных целях мы используем шаблон Ubuntu, а в качестве типа подключения указываем SSH.

Создание VPS сервера

Как только установка операционной системы завершится, вы получите комплект данных для входа на сервер: логин, пароль и IP-адрес — эта информация потребуется на следующем шаге.

Этап 2. Подключение к серверу по SSH

SSH представляет собой протокол, дающий возможность удалённо управлять операционной системой сервера. Специальное приложение — SSH-клиент — позволяет подключиться к VPS и провести все нужные настройки.

В качестве примера возьмём бесплатное приложение Putty, загрузить которое можно с сайта разработчика.

Запускаем программу, в строке «Host Name» прописываем IP-адрес сервера, значение поля «Port» оставляем без правок — там должно стоять «22». После этого нажимаем «Open», и перед нами откроется консоль для дальнейшей работы.

Подключение к серверу по SSH

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

Подключение к серверу по SSH

Этап 3. Установка и конфигурация OpenVPN

Чтобы установить OpenVPN, копируем целиком нижеприведённую команду, вставляем в консоль и нажимаем Enter:

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Запустится процесс установки, в ходе которого потребуется задать несколько параметров конфигурации:

  1. Which protocol should OpenVPN use? — выбираем протокол передачи данных, вводим «1» и жмём Enter.
  2. What port should OpenVPN listen to? — оставляем поле без изменений, просто нажимаем Enter.
  3. Select a DNS server for the clients. — назначаем DNS-сервер, к примеру, вводим «2» (Google) и подтверждаем Enter.
  4. Enter a name for the first client. — придумываем имя клиента латинскими символами (подойдёт произвольное) и нажимаем Enter.

Далее достаточно нажать любую клавишу, чтобы стартовала установка, и дождаться её окончания.

Установка и настройка OpenVPN

Этап 4. Загрузка конфигурационного файла через FTP-клиент

FTP — это сетевой протокол для передачи файлов, а FTP-клиент — программа, которая упрощает взаимодействие с FTP-сервером. С её помощью мы подключимся к арендованному VPS и загрузим сгенерированный конфиг.

В качестве примера используем бесплатный FTP-клиент FileZilla, доступный для загрузки с официального сайта.

Запускаем FileZilla. В поле «Хост» вводим:

sftp://Айпи-адрес-сервера

Логин и пароль берём из тех данных доступа, что получили ранее. Нажимаем кнопку «Быстрое соединение». Как только связь установится, в правой части интерфейса отобразится содержимое сервера, а в левой — файлы вашего компьютера. Находим нужный конфигурационный файл среди серверных папок и перетаскиваем его мышью в левую область — так он сохранится на локальном диске.

Скачивание конфига через FTP-клиент

Чтобы в дальнейшем открыть этот конфиг, потребуется скачать приложение OpenVPN с официального сайта.

Также советуем использовать проверенную версию OpenVPN, доступную на нашем сервере.

 

Этап 5. Подключение к VPN

После установки клиента OpenVPN дважды кликаем по конфигурационному файлу и подтверждаем действие кнопкой «Да». Обратите внимание — файл находится в той папке, которая была выбрана при его скачивании через FileZilla.

Программа OpenVPN может запускаться в свёрнутом состоянии. Чтобы подключиться к сети, найдите значок приложения в области уведомлений (нижний правый угол экрана), кликните по нему правой кнопкой мыши, выберите нужный конфигурационный файл и нажмите «Подключиться».

 

Добавление новых клиентов OpenVPN: пошаговые команды

Если требуется подключить дополнительного пользователя к серверу, где OpenVPN уже настроен и работает, удобнее всего воспользоваться утилитой Easy-RSA — набором скриптов для управления сертификатами, который позволяет без труда генерировать ключи и сертификаты для новых клиентов.

Для начала подключаемся к серверу по SSH — так же, как описано в начале статьи. Если утилита ещё не установлена, вводим в терминал команду:

sudo apt install easy-rsa

Дальнейшие действия выполняем по порядку.

      1. Переходим в рабочую директорию Easy-RSA:
        cd /usr/share/easy-rsa
    1. Создаём структуру директорий:
      ./easyrsa init-pki
  1. Генерируем корневой сертификат (CA), задавая при этом парольную фразу — её обязательно нужно запомнить:
    ./easyrsa build-ca
  2. Затем переходим к генерации ключей и сертификатов для клиентов. Обратите внимание: корневой сертификат создаётся всего один раз и в дальнейшем используется при генерации всех клиентских ключей — повторная генерация не требуется. Вводим команду следующего вида (система запросит парольную фразу корневого сертификата):

./easyrsa build-client-full <client-name> парольная_фраза_клиента

  1. Здесь <client-name> — произвольное уникальное имя клиента. После выполнения команды будут сформированы два файла:

usr/share/easy-rsa/pki/issued/<client-name>.crt - сертификат
/usr/share/easy-rsa/pki/private/<client-name>.key - ключ

  1. Копируем полученные файлы (корневой сертификат, клиентский сертификат и ключ) в директорию OpenVPN:

sudo cp keys/<client-name>.crt keys/<client-name>.key keys/ca.crt /etc/openvpn/

  1. Создаём конфигурационный файл для нового клиента:

sudo nano /etc/openvpn/<client-name>.ovpn

В качестве основы для конфига можно взять шаблон, который использовался при настройке первого клиента (см. Этап 3).

  1. Перезапускаем службу OpenVPN, чтобы изменения вступили в силу:

sudo systemctl restart openvpn

На этом процедура добавления клиента закончена — остаётся отправить ему нужные файлы. По уже отработанной схеме с использованием FileZilla скачиваем на компьютер четыре файла: <client-name>.ovpn, <client-name>.crt, <client-name>.key и ca.crt. Эти файлы переносятся на устройство клиента — будь то компьютер или смартфон, с которого планируется выход в частную сеть. Дальнейшие шаги зависят от конкретного OpenVPN-приложения, установленного на этом устройстве.

Чтобы добавить очередного пользователя, процедуру нужно повторить полностью, за исключением этапа изменения настроек «vars».

Стоит также упомянуть более простой вариант получения файла конфигурации (*.ovpn) для нового клиента — достаточно повторно запустить установочный скрипт OpenVPN.

В заключение

Теперь у вас есть полное понимание того, как развернуть свой VPN на базе VDS-сервера. Если в процессе настройки возникнут вопросы или сложности — служба технической поддержки Vpserver.Pro всегда готова помочь клиентам, работающим на серверах нашей компании.