Настройка Open VPN сервера на DigitalOcean

Настройка Open VPN сервера на DigitalOcean

В этой статье я пошагово продемонстрирую процесс установки и настройки OpenVPN сервера, менее, чем за 15 минут, и ценой, всего 5$ в месяц на DigitalOcean. А, если вы читали прошлую мою статью, посвященную регистрации на DigitalOcean, то уже наверняка знаете, как получить бонусных 100$ на счёт. В итоге, получается, что первые 2 месяца ваш VPN будет бесплатным.

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

После прочтению этой статьи вы самостоятельно научитесь создавать собственный VPN-сервер на DigitalOcean (или на любых других хостинг-компаниях), и работать с ним. Вы будете знать, как зарегистрировать и создать VPS для VPN, где самый дешевый VPS для VPN. Дальше я постараюсь объяснить, почему VPN - это лучшее решение для большинства пользователей, нуждаающихся в полной безопасности трафика, что такое OpenVPN, и почему этот протокол лучше всего нам подходит.

OpenVPN - это программное обеспечение, автор которого является Джеймс Йонан, который опубликовал это ПО под GPL лицензией. Это открытое програмное обеспечение, которые построено на базе технологии VPN (Virtual Private Network), которое позволяет создавать защищённое подключение.

Почему OpenVPN - лучший выбор

Во-первых, он прост: как вы увидите дальше в этой статье, OpenVPN чрезвычайно просто установить и настроить. В большинстве случаев, и, особенно, при использовании DigitalOcean, OpenVPN может быть настроен менее, чем за 15 минут. Так же, для того, чтобы подключиться к нашему VPN-серверу нужно будет создать всего один конфигурационный файл, и ничего больше.

Совместимость. OpenVPN доступен в каждой платформе и совместим с большинством существующих девайсов, включающих: Сервера, ПК, Mac, Android, Iphone, и даже wifi-роутер. Благодаря чему, вы можете защитить свой трафик на каждом из ваших устройств при работе в интернете.

Безопасность. OpenVPN использует надёжный OpenSSL метод шифрования и имеет много встроенных средств по повышению безопасного обмена и контроля информацией.

Надежность. OpenVPN - это open source ПО, что означает наличие большого open source комьюнити. Это значит, что в случае каких-то проблем, вы без проблем найдёте решение тех, кто столкнулся с этим ранее. Так же, ввиду того, что это открытое ПО, при должных знаниях, вы запросто можете модифицировать его под свои нужды.

Теперь, после вводной части, приступим к самому важному и интересному - для чего мы сегодня тут и собрались.

Настройка OpenVPN сервера на DigitalOcean

Шаг 1: создание и настройка нового дроплета на DigitalOcean

  1. Прежде всего, вы должны иметь аккаунт на DigitalOcean. В прошлой статье я показывал, как зарегистрироваться на DigitalOcean с бонусом в 100$.
  2. После аутентификации в кабинете на DigitalOcean, нужно создать новый дроплет (наш будущий VPN-сервер): create_droplet-1
  3. Теперь, на странице создания дроплета, выберите операционную систему, на которой сервер будет работать. Я рекомендую выбрать Ubuntu 18.04. image
  4. Теперь, выберите размер дроплета - мы выбираем самый минимальный тариф, как и было написано в начале (его вполне хватает для всех пользовательских нужд). plan
  5. Теперь, нужно выбрать локацию, где будет расположен VPN-сервер. Учтите, что, чем ближе географически находится к вам сервер, тем быстрее будет происходить подключение.
    Для Украины лучший вариант - Франкфурт. Вы же можете протестировать скорость своего подключения на странице DigitalOcean, и определить, какой лучше всего подходит вам. location
  6. Остальные поля оставляйте без изменений, теперь можем создать дроплет. create_button
  7. Некоторое время спустя, на странице списка дроплетов появится наш, только что созданный дроплет. droplets
  8. Сразу же, после его создания, на ваше почту было отправлено письмо с данные от подключения к серверу (ip, логин, пароль): email
  9. Запишите эти данные, они понадобятся нам дальше.

Шаг 2: Установка обязательного ПО

Теперь нужно установить ПО для VPN-конфигурации и подключения. Для этого вам понадобится всего лишь 2 программы:

  • PuTTY Client - Putty Client это программа, которая позволяет подключиться к консоли созданного сервера, и выполнять в нём команды. Вы можете скачать её по ссылке
  • OpnenVPN клиент - клиент OpenVPN, который используется для подключения к нашему VPN серверу. Скачать его можно по этой ссылке

При установке PuTTY клиента вы должны выбрать и скачать .msi - установочный файл windows, выбрав нужный, в зависимости от архитектуры вашего ПК.

Настройка VPN

Первое, что нужно сделать - это подключиться к нашему, созданному серверу с помощью PuTTY.

Откройте PuTTY, и в поле Host Name введите IP вашего сервера (который вы скопировали с письма, пришедшего на почту), и нажмите кнопку Open. putty-connect
Вам будет показано всплывающее окно во время первого входа, просто нажмите Да: putty-alert
И вы попадёте в консоль сервера, где нужно ввести логин и пароль (опять-таки, взятые из письма).
Введите root на вопрос login as, после чего - пароль, взятый из письма (если вы скопируете пароль, то можете вставить его в консоль, кликнув правой кнопкой мыши на поле ввода, видимых действий не произойдёт, но пароль будет вставлен в поле ввода, смело можете нажимать Enter).

Когда вы корректно введёте пароль, вам нужно будет изменить пароль на новый (из соображений безопасности), введите его в появившемся окне, и подтвердите: console

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

Установим OpenVPN с помощью Docker

Интересно: Докер туториал для новичков.

Выполните команды в терминале (правая кнопка миши в PuTTY, чтобы вставить скопированную команду в окно ввода команды), и нажмите ENTER:

sudo apt-get update; sudo apt-get -y upgrade
sudo apt-get install -y linux-image-extra-uname -r

После чего:

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

executing

Затем:

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

И последнюю:

sudo apt-get update; sudo apt-get install -y docker-engine

Этими шагами мы установили Docker на наш дроплет.

Процесс установки и настройки OpenVPN сервера

Мы будем использовать kylemanna/docker-openvpn docker-контейнер, который позволяет очень просто создать OpenVPN сервер. Для этого, последовательно выполним эти 3 команды (заменив {YOUR SERVER IP} во второй команде на IP вашего текущего сервера):

OVPN_DATA="ovpn-data"
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://{YOUR SERVER IP}
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki

Убедитесь, что вы вписали IP адрес своего сервера, который вы получили ранее в письме (вместо {YOUR SERVER IP}, в моём случае это будет 68.183.78.25)
run-udp-ip

После выполнения команд, вы получите сообщение о том, что нужно установить пароль. Можете установить любой, только запомните его, так как он вам позже ещё понадобится.
Повторяем ввод этого пароля ещё раз.
pass-phrase
А дальше, просто нажимаете Enter без ввода каких-либо данных.

После этого сервер начнёт генерацию приватного ключа, и этот процесс займёт несколько минут. После завершения от вас опять, в последний раз, потребуется ввести заданный пароль.
ketphrase
В результате, вы увидите, что-то вроде этого:
passphrase_repeat

И теперь последовательно выполните 2 эти команды:

docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full MYVPN nopass

И введите пароль, заданный ранее.

И должны получить что-то вроде этого: result_keypass

Теперь нужно сгенерировать конфигурационный файл для подключения к серверу из VPN-клиента:

docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient MYVPN > MYVPN.ovpn

Готово! Теперь процесс установки закончен, осталось несколько шагов до использования нашего VPN.

Теперь нужно скопировать конфигурационный файл MYVPN.ovpn с сервера. И благодаря этому файлу-ключу мы сможем подключаться к нашему VPN-серверу с любого устройства.

Подключение к Open VPN с компьютера (программа PSFTP)

Для этого будем использовать программу PSFTP (которая была установлена вместе с PuTTY), и в ней нужно выполнить команды ниже:

open {YOUR SERVER IP}

где, как и ранее, вписывайте IP своего сервера (в моём случае - 104.131.181.124), далее, в окне, указав login as - root, и пароль от нашего сервера

Учтите, что, для корректной работы, PSFTP нужно запускать от имени администратора

psftp

И после того, выполните:

get MYVPN.ovpn

И в результате чего, на вашем компьютере будет новый файл, расположенный по пути C:\Program Files\PuTTY\MYVPN.ovpn.

Теперь, всё, что нужно - это скопировать файл MYVPN.ovpn в директорию C:\Program Files\OpenVPN\config.

И это уже точно всё, теперь вы полностью готовы к использованию своего VPN сервера. Для этого, просто запустить OpenVPN GUI клиент, который появится в меня быстрого запуска программ: openvpn

Нажмите правой кнопкой на иконке этой программы и нажмите на кнопку подключиться, и вы должны получить уведомление о том, что подключение было успешным, и мы были подключены к нашему VPN-серверу: success-vpn

Подключение к Open VPN серверу с компьютера (программа Open VPN)

Помимо выше предложенного варианта можно воспользоваться более удачно альтернативой - Open VPN для Windows, MAC, или Linux.

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

После чего, нажать на кнопку Connect, и вы успешно подключетесь к вашему собственному VPN.
vpnresultpc

Подключение к OpenVPN с телефона

По такой же схеме, как и с компьютером, всего в пару кликов можно подключить собственный VPN на телефоне.

Для этого, нужно скачать уже известный Open VPN клиент на Android или Iphone.

Нужно скинуть конфиг себе на телефон (например, через телеграм), затем открыть, и в открываемых приложениях выбрать OpenVPN.
iphoneresult

И после добавления, мы успешно можем подключиться к нашему VPN-серверу.
iphoneres2

Резюме

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

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

Но, если быть честным, то по сравнению с многими готовыми решениями, создание VPN-сервера на DigitalOcean является одним из самых дешёвых (всего 5$ в месяц). Но, не без недостатков. К примеру, такой VPN-сервер имеет только одну локацию (указанную при создании дроплета), и, если, вы захотите добавить новую локацию, то для этого придётся заплатить ещё 5$. В то время, когда в готовых решениях вы зачастую имеете широкий список доступных локаций.

Решение принимать вам, но, кажется, замечательно, что теперь вы знаете, как создать VPN сервер на DigitalOcean, как настроить и пользоваться. И уверен, что теперь у вас не займёт никакого труда вопрос - как поднять VPN на VPS. А потом подключиться к нему с компьютера или телефона.