Как настроить свой VPN сервер

Правительства разных стран так или иначе пытаются запретить доступ к определённым ресурсам в Интернете. В России "заблокирован" Telegram и LinkedIn, в Казахстане уже не первый год невозможно посетить сайт Медузы, под раздачу даже попал официальный сайт gRPC, в Украине на фоне политических проблем запретили доступ к Яндексу.

От мала до велика знают как обойти эти блокировки, никого уже не удивишь словом VPN. Спроси у продвинутого юзера про VPN и он лихо назовёт парочку приложений для своего любимого смартфона в названии которых точно будет VPN 😎 Но мало кто задумывается, что публичные впн-сервисы могут также таить угрозу. Например, они без труда могут перехватывать весь трафик между вашим телефоном (клиентом) и сервисом на который вы обращаетесь (сервером). Таким сервисом может быть в том числе и банковское приложение, интернет-банкинг. Согласитесь, неприятно будет в один прекрасный день увидеть 0 на балансе вашего личного счёта.

Чтобы чувствовать себя в безопасности при использовании VPN я рекомендую настроить свой собственный VPN сервер. Для этого не нужно уметь программировать и даже иметь навыки администрирования Linux. Всё что необходимо — это иметь аккаунт на облачном хостинге DigitalOcean и следовать инструкциям этого руководства.

Если у вас до сих пор нет аккаунта в DigitalOcean, то создать его можно по моей ссылке. Зарегистрировавшись по ней вы получите $100 на ваш аккаунт, которыми сможете воспользоваться в течение 2-х месяцев! То есть как минимум у вас будет 2 месяца бесплатного использования личного VPN сервиса!

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

Прелесть DigitalOcean в том, что у них есть Marketplace готовых продуктов. В этом маркетплейсе есть официальный образ популярного Open Source VPN сервера OpenVPN.

После регистрации и входа в панель DigitalOcean, в левой части найдите Marketplace, переходите по ссылке:

В списке готовых приложений ищем OpenVPN Access Server, и переходим по ссылке:

На странице сервиса вам необходимо нажать на кнопку с текстом Create OpenVPN Access Server Droplet:

Droplet в терминах DigitalOcean это виртуальная машина, если проводить аналогию с сервисом AWS, то Droplet это та же EC2-машина.

После нажатия на кнопку DigitalOcean предложит вам выбрать тарифный план, от него зависит мощность сервера на котором будет крутиться ваш будущий VPN сервер. Скажу, что для личного пользования подойдёт самый дешевый тариф — $5. За эти деньги вы получите виртуальную машину с 1 Гб оперативной памяти и 25 Гб SSD диска + 1000 Гб трафика. Именно на этом тарифном плане крутится мой VPN сервер, которым я пользуюсь уже третий год подряд.

После выбора тарифного плана вам также необходимо выбрать регион в котором находится датацентр. Если вы из Евразии, то смело выбирайте Frankfurt, в этом регионе минимальный пинг.

Далее предлагается выбрать вариант аутентификации на будущей виртуальной машине, есть 2 способа:

  • использовать одноразовый пароль, который будет отправлен на почту и после первичного входа его необходимо поменять
  • использовать ssh ключ

Если вы не знаете, что такое SSH ключи, то выбирайте вариант с одноразовым паролем. После этого необходимо задать название будущей виртуальной машины (дроплета), тут всё на ваше усмотрение, можно оставить всё как предлагает digitalocean. Нажимаем на зелёную кнопку Create Droplet. Готово. Создание виртуальной машины занимает какое-то время, около 2-х минут.

После создания виртуальной машины вам необходимо к ней подключиться для первичной настройки OpenVPN, нужно ответить на несколько вопросов в интерактивном режиме (на каком порту будет Admin UI, какой порт используется для VPN сервера и т.д.):

После настройки конфигурации сервера необходимо задать пароль для пользователя openvpn, он является администратором VPN сервера.

passwd openvpn

После этого необходимо открыть админ панель OpenVPN в браузере, ссылка будет в терминале в котором вы задавали настройки:

Авторизуемся на сервере:

После входа в панель необходимо будет создать пользователя, сделать это нужно в разделе User Management → User Permissions не забыв также указать пароль. После создания пользователя необходимо выйти из административной панели и перейти по ссылке без указания /admin, появится вот такая форма:

Авторизуйтесь под новым пользователем. После успешного входа вы увидите страницу, где вам будет предложено скачать VPN клиент OpenVPN либо загрузить файл конфигурации для OpenVPN клиента с расширением .ovpn. Для Android также есть приложение клиента, в котором можно импортировать этот файл конфигурации, и всё будет работать как по маслу.

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