- Создаём собственный VPN сервис за 5 минут
- Немного предыстории
- Какой VPS сервер выбрать и как подключиться к серверу
- Аренда сервера VPS
- Подключение к серверу VPS
- Как создать OpenVPN сервер за 5 минут
- Настройка OpenVPN для фильтрации только заблокированных сайтов
- Как сделать свой VPN сервер на VPS
- Варианты использования VPN
- Способы создания VPN соединения
- Сторонний и собственный VPN-сервер — в чём разница
- Выбор инструмента
- Как настроить сервер VPN
- Подключение к серверу VPN
- Windows
- Linux
- Проверка соединения
Создаём собственный VPN сервис за 5 минут
Немного предыстории
Тема обхода блокировок до сих пор является актуальной повесткой дня. Но на написание этой статьи, сподвигла меня несколько другая тема. Сейчас на рынке доступен огромный выбор различных VPN с разной ценовой категорией, плюс часто встречающиеся акции на получение VPN.
Разрабатываются новые технологии для VPN, появляются новые механизмы обхода блокировок типа SmartDNS. Как раз такой услугой воспользовался недавно. Работает хорошо, удобно было добавить DNS в роутер, но адреса обхода очень ограничены. В моем случае поддержка пошла на встречу и вместе мы смогли добавить сервис Кинопоиск от Яндекса. Правда, почти сразу я понял, что хочется большего, хочется самому управлять трафиком. Плюс лично мне не интересны VPN, направляющие весь трафик. Они снижают скорость, не так удобны для просмотра местных сайтов. К тому же мне надо этот трафик пропустить через роутер (в первую очередь для полной работы Яндекс Станции). Сейчас нахожусь в Молдове, здесь сайты не блокируют, но некоторые российские сервисы недоступны.
Какой VPS сервер выбрать и как подключиться к серверу
Само создание OpenVPN сервера займет меньше 5 минут, но сначала мы рассмотрим аренду сервера и подключение к нему.
Аренда сервера VPS
В первую очередь нужно арендовать VPS сервер. VPS сервер – виртуальный выделенный сервер, который соответствует физическому серверу, т.е пользователь получает root-доступ к операционной системе, IP-адресам и т.д.
Тут зависит от ваших целей, стоимости сервера, и того какие именно услуги этот сервер может поддерживать (например, не все хостинг-провайдеры разрешают использование VPN-серверов, поэтому перед заказом услуги предварительно у тех. поддержки узнайте разрешают ли они использование VPN сервера). Если вы хотите получить доступ к российским сайтам, то вы, конечно, можете выбрать европейские сервера, но на мой взгляд, стоит выбрать российские сервера, для получения полного доступа к сервисам. В таком случае (повторюсь, для доступа к российским серверам) рекомендую обратить внимание на следующую статью, в которой были протестированы некоторые российские хостинг-провайдеры: Обзор дешевых VPS-серверов. Я же воспользовался услугами хостинг-провайдера VDS.SH. С учетом того, что не все провайдеры разрешают использование VPS в качестве VPN сервера, перечислю тех, кто точно разрешает:
- VDS.SH
- firstvds.ru
- pq.md
- skyhost.ru
- gcorelabs.com
- hostiman.ru
- vpshoster.ru
- hosting.energy
Если у вас есть достоверная информация о том какие хостинг-провайдеры разрешают использование VPS в качестве VPN-сервера, то поделитесь информацией. Можем добавить в статью.
Для тех, кому нужен доступ к заблокированным в РФ сайтам, нужно брать сервер за пределами России. Это может быть DigitalOcean или linode – из недорогих хостингов.
Если вы собираетесь использовать сервер только в качестве VPN сервера, то вам не нужны дополнительные панели управления, типа ISPmanager. Не заказывайте их.
Подключение к серверу VPS
Выбрав сервер, на электронную почту вы получили необходимые данные для доступа к нему.
Подключаться к серверу будем с помощью ssh клиента PuTTY, а скачивать нужные файлы (клиентские ovpn файлы) с помощью ftp-клиента FileZilla.
Запускаем приложение PuTTY, в графе Host Name вводим ip адрес нашего сервера (эти данные мы получили сразу после регистрации сервера), порт 22.
Далее нажимаем на Open и в появившемся окне нажмите на ДА. Откроется новое окно, в котором нужно ввести имя пользователя и пароль, которые мы получили на электронный адрес. Процесс ввода пароля не будет отображаться, но введя его все равно нажмите на Enter. Теперь мы подключились к нашему серверу.
Для вставки скопированного текста в операционную систем сервера удобно пользоваться нажатием правой кнопкой мыши.
Подключение с помощью FileZilla. Открываем FileZilla: Файл > Менеджер сайтов > Новый сайт > Протокол указываем SFTP, Хост – IP адрес сервера, а также Имя пользователя и пароль, полученные по почте.
Как создать OpenVPN сервер за 5 минут
На самом деле на установку OpenVPN сервера уйдет меньше 5 минут. Установка сервера будет рассматриваться на VPS с операционной системой Ubuntu, для Debian команды идентичны, но скорее всего без sudo (как правило он не предустановлен).
Устанавливаем утилиты, которые нам пригодятся:
Для операционных систем, версии которых не ниже Ubuntu 18.04, Debian 9, CentOS 7. Допускаются данные версии и выше. Скрипт автоматической установки OpenVPN:
Во время установки будет задано несколько вопросов с уже готовым по умолчанию ответом. Можно соглашаться, можно отредактировать и выбрать свой вариант. Протокол соединения, рекомендую, использовать udp. В качестве DNS использую Яндекс DNS (77.88.8.8). Последним вопросом будет предложено задать имя клиентского файла ovpn, который затем будет расположен в директории Root.
Повторный запуск скрипта позволяет:
- Добавить клиентский файл ovpn для подключения
- Анулировать клиентский файл ovpn, выданный ранее.
- Удалить сервер OpenVPN
- Выйти
Для операционных систем, версии которых ниже ранее перечисленных. Выполнять нужно следующий скрипт:
Этот скрипт подойдет для операционных систем не выше, но в том числе, Ubuntu 16.04, Debian 8, Centos 6.
Являясь обладателем роутера ASUS RT-AC59U, который поддерживает клиентские VPN, меня интересовало подключение через роутер. Опытным путем выяснил, что OpenVPN клиент роутера поддерживает подключение, созданное на сервере версии только Ubuntu 16.04.
После установки скрипта VPN уже готов и запущен. Можно с помощью FileZilla скачать файл ovpn и импортировать в нужное устройство. Как импортировать ovpn можно посмотреть на примере статьи: Настройка OpenVPN. Подключение к бесплатным серверам VPN Gate.
По умолчанию через VPN будет проходить весь трафик.
Настройка OpenVPN для фильтрации только заблокированных сайтов
По умолчанию направляется весь трафик через VPN, а мы бы хотели пустить только определенные адреса для их разблокировки, а остальной трафик чтобы оставался без изменений.
Подключившись по PuTTY к серверу, открываем ранее установленный файловый менеджер mc (запускается командой: mc). Переходим к директории: /etc/openvpn/server/
Нас интересует файл server.conf , нажимаем на него и жмём F4 для редактирования, затем номер 1 для выбора редактора nano. Редактирование файла можно сразу запустить командой:
Находим строчку push «redirect-gateway def1 bypass-dhcp» и закомментируем её, добавив перед ней значок #. Данную строчку можно и вовсе удалить. Именно она отвечает за то, чтобы весь трафик шел через VPN.
Добавим строчку duplicate-cn . Она позволит использовать один сертификат на нескольких устройствах.
Затем нам нужно добавить ip адреса, которые будут идти через VPN. Узнать IP адрес сайта можно с помощью Командной строки, командой:
В том случае если адреса заблокированы провайдером и не пингуются, то можно воспользоваться онлайн сервисами, например этим.
Адреса без букв, будут являться адресами IPv4, которые нам нужны. Добавлять адреса в конце файла server.conf нужно следующим образом:
где 5.45.192.0 добавленный нами ip адрес.
Добавив адреса, нажимаем ctrl+O, затем ctrl+ X, для сохранения внесенных изменений и закрытия редактора.
Для пользователей, кому нужны адреса для доступа к российским сервисам, я взял открытую базу сервиса zaborona и немного добавил ip адресов. Предлагаю совместно наполнять эту базу.
Скриншот моего файла server.conf.
Итак, закомментировали или удалили строчку #push «redirect-gateway def1 bypass-dhcp» , добавили IP адреса для обхода блокировки, теперь осталось только перезапустить OpenVPN сервер.
После внесения изменений в server.conf нужно перезапустить VPN сервер. Для Ubuntu 18.04, Debian 9, Centos 7 и выше:
Для Ubuntu 16.04, Debian 8, Centos 6 и ниже:
Существует еще один скрипт для автоматической установки OpenVPN сервера:
Данный скрипт является форком предыдущего скрипта, но с улучшениями безопасности. Кроме того, этот скрипт позволяет добавить пароль для подключения клиентов.
Как сделать свой VPN сервер на VPS
Содержание:
VPN (англ. Virtual Private Network, «виртуальная частная сеть») — технология, позволяющая создавать зашифрованные сетевые соединения (VPN-туннели) между клиентским устройством и удалённым сервером над существующей публичной сетью.
Варианты использования VPN
- Изменение внешнего IP-адреса для обеспечения анонимности в сети.
- Получение доступа к заблокированному ресурсу.
- Установка соединения с рабочей сетью, для удалённого использования (например, сотрудником из дома).
- Объединение в одну сеть нескольких точек доступа, находящихся в разных местах.
- Разделение сетей по привилегиям для разных групп пользователей.
Способы создания VPN соединения
- Можно воспользоваться готовым VPN-сервером на платных и бесплатных онлайн-сервисах (например, Hidemy VPN).
- Развернуть собственный сервер. Для данного варианта потребуется найти VPS хостинг для VPN.
Сторонний и собственный VPN-сервер — в чём разница
- Скорость. На сторонних серверах она зависит от загруженности, то есть количества пользователей и степени активности каждого из них. У бесплатных сервисов скорость может быть значительно ниже, чем у платных ресурсов. У собственного VPN на VDS проблема загрузки отсутствует, если подключены к нему 1-2 пользователя.
- Анонимность. Сторонние серверы настраиваются профессионалами, поэтому могут предложить высокую анонимность, но личные данные пользователя доступны владельцам. Если удачно сделать выбор VPS для VPN и правильно его настроить, то удастся добиться тех же показателей, но вся пользовательская информация не попадёт в третьи руки. Получить её могут только спецслужбы при условии, что сервер расположен в одном с ними государстве.
- Управляемость. Настроить виртуальный VPN сервер можно только на собственном VPS. Пользователям онлайн-сервисов предоставлен значительно ограниченный ряд параметров. Однако необходимо учитывать, что настройка VPS для VPN – это затратный по времени процесс. Но зато на выходе пользователь получает стабильную и настроенную «под себя» VPN сеть.
Выбор инструмента
Настроить VPN на VPS сервере можно с помощью технологии OpenVPN, передающей трафик через защищённые протоколы библиотеки OpenSSL (SSLv3/TLSv1.2), которые считаются наиболее безопасными, по сравнению с другими распространёнными протоколами L2TP, PPTP, SSTP и IKEv2.
Чтобы создать VPN подключение, нужно скачать бесплатный клиент OpenVPN Connect с официального сайта и запустить его установку.
Как настроить сервер VPN
Установка VPN сервера на VPS возможна с помощью готовых скриптов OpenVPN, которые существенно упрощают процесс настройки. Данный способ подойдёт как для дистрибутивов семейства Debian (Ubuntu, Linux Mint и т.д.), так и для Red Hat (CentOS 7, RHEL и т.д.).
- Для начала открываем консоль и вводим команду:
После этого должен автоматически запуститься скрипт установки. Он самостоятельно инсталлирует и настроит необходимые пакеты для запуска OpenVPN сервера.
- Далее пользователю будет задано несколько вопросов. Новичкам рекомендуется установить универсальные параметры:
- Which protocol should OpenVPN use? (Какой протокол следует использовать для OpenVPN?) — UDP (recommended);
- What port should OpenVPN listen to? (Какой порт должен прослушивать OpenVPN?) — 1194;
- Select a DNS server for the clients (Выберите DNS-сервер для клиентов) — Google;
- Enter a name for the first client (Придумайте имя пользователя) — «имя пользователя».
Каждое действие подтверждается нажатием на «Enter».
- После выполнения предыдущих этапов, в корневой директории пользователя появится конфигурационный файл с расширением «.ovpn», отвечающий за настройки VPN-подключения. Его имя будет взято из заполненного на предыдущем шаге параметра «имя пользователя». В дальнейшем файл потребуется скопировать на компьютер, где установлен «клиент».
Настройка VPN сервера считается законченной. Теперь остаётся только подключиться к созданной сети.
Подключение к серверу VPN
Чтобы поднять VPN туннель на VPS, необходимо предварительно перенести файл с расширением «.ovpn» с сервера на устройство с установленным клиентом. Передавать данные по сети можно с помощью FTP-клиента — приложения, предназначенного для управления файлами удалённого хранилища. Программа устанавливает соединение через распространённые сетевые протоколы (SFTP, SCP, FTP и др.).
Существуют свои версии FTP-клиентов для ОС на базе Windows, Linux, а также macOS/iOS и Android. Два первых варианта являются наиболее популярными, поэтому ниже мы рассмотрим их установку подробнее.
Windows
Один из самых популярных FTP-клиентов для Windows имеет название WinSCP. Скачать программу с официального сайта можно здесь.
Прочитать о том, как работать с клиентом WinSCP можно в этой инструкции.
Алгоритм действий для подключения:
- Скачать, установить и запустить программу WinSCP или её аналог.
- Зайти на сервер, используя аутентификационные данные для подключения через SSH.
- Перенести файл «.ovpn» с сервера на устройство, на котором установлен клиент OpenVPN.
- В пользовательском меню OpenVPN выбрать опцию «Import Profile» (Импорт конфигурации) и указать путь к скачанному файлу. Если же OpenVPN запускается первый раз, то программа сама предложит подключиться к сети.
Linux
Чтобы перенести файл «.ovpn» с VPS-сервера на устройство под управлением Linux можно воспользоваться кроссплатформенным FTP-клиентом FileZilla. О том, как установить программу и работать с ней, подробно написано в этой статье.
После того как файл будет скопирован на ПК, можно приступить к созданию соединения с VPN-сервером. Процесс настройки будет описан на примере Ubuntu. Инструкция также подойдёт для родственных Debian/Ubuntu-дистрибутивов, работающим в совокупности с оболочкой Gnome.
- В первую очередь устанавливаются дополнения для Network Manager и оболочки Gnome. В терминале необходимо ввести команду:
- Далее нужно зайти в настройки сети и создать новое сетевое подключение «VPN».
- Теперь необходимо импортировать файл конфигурации «.ovpn», чтобы сеть появилась в списке.
Проверка соединения
Чтобы проверить свой VPN сервер на VPS в системе Windows, необходимо запустить клиент OpenVPN и попытаться подключиться к созданному соединению. В случае успеха статус сети изменится на «Connected». Для системы Linux способ аналогичен, если не считать, что установка соединения выполняется из меню настроек.
Для полной убеждённости можно перейти на сайт 2ip, который выводит информацию о внешнем IP-адресе. Если полученное значение совпадает с адресом VPN-сервера, то всё настроено правильно.
Начни экономить на хостинге сейчас — 14 дней бесплатно!