Как поднять свой VPN на сервере

6 комментариев
Как поднять свой VPN на сервере

Сегодня я расскажу вам, как создать VPN на собственном сервере за 15 минут.

Чем хорош собственный VPN?

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

Кот Таймвэб

Кроме того, входящий и исходящий трафик будет зашифрован, т.е. его не сможет видеть даже ваш интернет-провайдер.

Большинство известных VPN-сервисов имеют низкую скорость передачи данных и не самое стабильное подключение, потому лучше всего обзавестись собственным VPN. Далее я расскажу, как его создать и настроить. Говоря современно, поднять.

Мы будем отправлять трафик с устройств на собственный VPN-сервер с помощью программы OpenVPN, за счет чего скорость передачи данных будет ограничиваться только скоростью нашего интернета и сервера. Нам будет нужен VPS/VDS (виртуальный сервер), так как для работы репозитория OpenVPN подходят только такие типы серверов. VDS/VPS эмулирует работу реального физического сервера, у которого есть возможность установки своих операционных систем и ПО.

Теперь, когда разобрались с теорией, можем приступать к аренде VPS/VDS.

Арендуем сервер 

Для стабильного соединения нам нужен сервер с хорошим интернетом. Я использую самую простую конфигурацию «Danny» с системой Ubuntu 20.04, арендованную на Timeweb.

Сервер DannyСкорость интернета при данной конфигурации составляет 200 Мбит/с. Этого более чем достаточно для работы VPN на нем.

Для того чтобы взять такой же сервер, нужно зайти на главную страницу Timeweb, перейти во вкладку «VPS/VDS» и нажать кнопку «Заказать» под конфигурацией «Danny». Далее нужно заполнить все поля, выбрать желаемый период оплаты и систему Ubuntu 20.04, а затем нажать кнопку «Заказать».

Регистрация пользователя в Timeweb

Подключаемся к серверу по SSH

Для начала нам нужно подключиться к серверу по протоколу SSH через SSH-клиент. Я использую программу Termius. И вам ее рекомендую.

  1. Скачиваем программу Termius и устанавливаем ее на компьютер. 
  2. Открываем клиент, жмем на «Add host» и используем данные, которые были отправлены на вашу почту после оплаты VPS/VDS. Вам потребуется: Hostname, Login, Password, Port. Вводим эти данные в поля нового подключения. Вот как это будет выглядеть в Termius:

Termius SSH

Теперь нажимаем на название нашего подключения и попадаем в консоль сервера. 

Устанавливаем OpenVPN на сервер

Вводим следующую команду для установки софта, с помощью которого мы будем копировать репозиторий OpenVPN с GitHub.

apt install git

После установки утилиты git копируем репозиторий OpenVPN на наш сервер и переходим в его папку:

git clone https://github.com/Nyr/openvpn-install.git

cd openvpn-install/

Разрешаем выполнение установочного файла с помощью следующей команды:

chmod +x ./openvpn-install.sh

И запускаем установку OpenVPN:

./openvpn-install.sh

Настраиваем OpenVPN

Далее у нас запустится настройка установки OpenVPN. В первом пункте выбираем протокол передачи данных TCP, так как он более надежный. Вводим цифру 2 и подтверждаем действие клавишей Enter.

TCP Ubuntu

Второй шаг пропускаем с помощью клавиши Enter. Теперь нам нужно выбрать DNS для нашего сервера. Я использую сервера AdGuard, так как они блокируют рекламу и нежелательный контент на сайтах. Для подключения таких же DNS вводим цифру 6 и нажимаем Enter.

Выбор AdGuard на сервере

Теперь нам нужно выбрать любое имя файла конфигурации. Я назвал ее jsonic.

Имя конфигурации на сервере

Далее подтверждаем, что мы готовы к установке и ждем ее завершения.

Запоминаем путь, который указан в конце лога установки.

Установка OpenVPN

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

apt remove rsyslog

Подключаемся к нашему VPN

Теперь нам нужно скопировать конфигурационный файл, который создался после установки OpenVPN. Для этого подключаемся к серверу по протоколу SFTP. В Termius для этого нужно зайти во вкладку SFTP, нажать «Select host» и выбрать имя подключения:

Выбор конфигурации в Термиус

После этого заходим в папку, которая была указана при завершении установки, и копируем из нее файл конфигурации .ovpn (его имя мы вводили при настройке установщика) с помощью кнопки «Transfer to» к себе на устройство. Сохранить файл можно в любой удобной директории. 

Перенос конфигурации сервераДалее скачиваем клиент OpenVPN к себе на устройство (компьютер, ноутбук, смартфон или планшет). Программа работает на всех популярных операционных системах. Я буду показывать его включение на примере Android.

Заходим в клиент, переходим во вкладку «File», находим на устройстве файл в формате .ovpn, который мы скопировали с сервера, и жмем «Import».

Импорт профиля OpenVPN

После импорта конфигурации ставим галочку в пункте «Connect after import» и нажимаем «Add».

Файл конфигурации ovpn

Готово! Мы подключены к нашему VPN!

Комментарии

Савелий 0
30 окт в 2020
Сейчас почему-то не подключается к впн, в чем может быть проблема?
Евгений Сальников 0
11 фев в 17:48
Не работает, если использовать один и тот же файл .ovpn на разных устройствах.
Свернуть ответы
Комментарий автора
jsonic +45
22 фев в 20:15
Одновременно не будет вроде как работать
Евгений Сальников 0
10 марта в 13:38
Уже разобрался, надо на каждое устройство свою конфигурацию сделать.
tatarinn68 0
14 марта в 12:42
Ребята здравствуйте, скажите пожалуйста у всех с первого раза все заработало?
Выбор dns влияет на определение страны?
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email, который Вы использовали для входа на сайт.