Настройка vds для vpn

Настройка VPN на виртуальном сервере

VPN или Virtual Private Network — виртуальная частная сеть. Это обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).

Проксирование/туннелирование трафика на тарифах с виртуализацией OpenVZ не разрешается. Используйте KVM серверы!

Создают VPN для решения разных задач:

  • Объединить в общую сеть нескольких географически удаленных офисов компании, имеющих доступ в Интернет
  • Защитить соединение пользователя, работающего из дома, с офисной сетью
  • Отделить сеть, доступную непривилегированным пользователям, от основной сети компании
  • Защитить передаваемые по сети данные с помощью шифрования
  • Доступ в интернет

Конкретный VPN может решать сразу несколько задач, например, одновременно шифровать соединение и связывать удалённые офисы в единую сеть.

Технических реализаций VPN много. Рассмотрим два самых доступных для настройки варианта: OpenVPN и PPTP .

OpenVPN

Установить OpenVPN можно автоматически из рецепта на любой сервер с виртуализацией KVM.

OpenVPN — распространяемая по лицензии GNU GPL реализация VPN . Для шифрования использует библиотеку OpenSSL и может использовать все доступные в ней алгоритмы шифрования. Для установки соединения может использовать TCP , либо UDP -протокол. Реализует одновременно как клиентское, так и серверное приложение. Может использоваться как для организации соединений точка-точка, так и для варианта сервер-клиенты. Известны также и варианты организации защиты Wi-Fi сети с помощью OpenVPN .

На VDS может использоваться для организации доступа в Интернет. Например, если провайдер не предоставляет клиентам внешнего маршрутизируемого адреса, связка OpenVPN + VDS-KVM является вполне реальным способом этот внешний маршрутизируемый адрес получить.

PPTP — туннельный протокол типа точка-точка. Инкапсулирует PPP -кадры в IP -пакеты для передачи их по сети. PPP -сессия устанавливается с помощью протокола GRE .

После организации туннеля вы можете использовать его и для доступа из локальной сети в Интернет, и обратно. Обычно VPN используют для того, чтобы «подменить» IP , который вам выделяет провайдер, на IP -адрес сервера. А выбор стран, в которых вы можете приобрести сервер, огромен.

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

Источник

Создаём собственный VPN сервис на базе VPS сервера

Немного предыстории

Тема обхода блокировок до сих пор является актуальной повесткой дня. Но на написание этой статьи, сподвигла меня несколько другая тема. Сейчас на рынке доступен огромный выбор различных 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.hosting
  • skyhost.ru
  • edgecenter.ru (бывший gcore)
  • 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.

Повторный запуск скрипта позволяет:

  1. Добавить клиентский файл ovpn для подключения
  2. Анулировать клиентский файл ovpn, выданный ранее.
  3. Удалить сервер OpenVPN
  4. Выйти

Для операционных систем, версии которых ниже ранее перечисленных. Выполнять нужно следующий скрипт:

Этот скрипт подойдет для операционных систем не выше, но в том числе, Ubuntu 16.04, Debian 8, Centos 6.

Являясь обладателем роутера ASUS RT-AC59U, который поддерживает клиентские VPN, меня интересовало подключение через роутер. Опытным путем выяснил, что OpenVPN клиент роутера поддерживает подключение, созданное на сервере версии только Ubuntu 16.04. Добавлено: с момента написания статьи, после обновления прошивки роутера, роутер стал поддерживать клиентские конфигурационные файлы ovpn из первого скрипта установки. Проверено на подключении к серверу на базе Ubuntu 18.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 сервера:

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

Источник

Безопасный OpenVPN на VPS за несколько минут

Введение

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

Скрипт позволяет одной командой создать работающий сервер и создать файлы конфигурации для клиентов в unified формате (то есть с сертификатами, включёнными в файл конфигурации). Кстати, эти файлы подходят для мобильных устройств.

Скрипт создавался для машин с CentOS 7.x или Ubuntu Server 17.x, использование на Ubuntu 16.x. возможно, но там OpenVPN 2.3.x в репозиториях. При необходимости можно добавить другие дистрибутивы, но обычно при покупке VPS можно выбрать систему и это не так важно.

Скрипт написан на bash за пару часов, возможны ошибки и наверняка что-то можно было реализовать проще и лучше.

Запускайте скрипт на свежей машине, он перезаписывает правила iptables и конфигурацию OpenVPN. И да, в правилах iptables разрешен порт ssh 22, если вы поменяли его на другой, не забудьте поменять порт в скрипте.

Особенности

Как пользоваться

Использовать скрипт очень просто, скачайте файл openvpnsetup.sh на ваш VPS, дайте ему права на запуск chmod +x openvpnsetup.sh и запустите ./openvpnsetup.sh. В результате вы получаете настроенный сервер, готовый к работе на выбранном вами порту.

В папке /etc/openvpn создается скрипт newclient.sh, который нужен для создания файлов конфигурации клиентской части, использовать его так же просто — ./newclient.sh clientname. Результатом будет файл /etc/openvpn/bundles/clientname.ovpn, который сразу можно использовать на клиенте, просто положите его в папку config (в случае использования на Windows) на вашей машине.

Если вы захотите пересоздать сервер, просто удалите все из папки /etc/openvpn и запустите скрипт заново (естественно, клиентские сертификаты надо будет перевыпустить).

Советы по выбору VPS для OpenVPN

  1. В первую очередь смотрим на цену, можно найти предложения за $3-4 в месяц, что дешевле многих VPN сервисов;
  2. Выбирайте VPS ближе к вам географически, если хотите иметь приемлемую скорость через VPN. Чем меньше пинг от вас до VPS, тем лучше скорость;
  3. Выбирайте минимальную конфигурацию. OpenVPN не использует больше одного ядра и может работать на 256MB памяти. Минимального дискового пространства в 3-5GB так же вполне достаточно;
  4. Некоторые VPS ограничены по трафику, но обычно это 1TB в месяц, если вы планируете использовать больше, рассмотрите другие тарифные планы;
  5. Перед тем как оформить заказ на VPS, уточните разрешена ли загрузка торрентов (при условии, что они вам нужны, конечно);
  6. Так же можно уточнить включены ли TUN/TAP устройства в системе. В скрипте есть проверка на это, но лучше уточнить до покупки, возможно их и нельзя будет включить через поддержку провайдера VPS;
  7. Наличие IPv6 адреса, скрипт позволяет настроить сервер с поддержкой IPv6 и возможно вы захотите иметь возможность посещать IPv6 ресурсы через VPN.

Скрипт доступен на GitHub.

Источник

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

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

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

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

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

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

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

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

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

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

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

Читайте также

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также

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

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

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

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

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

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

Источник