Vps сервер для vpn
Создаём собственный 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.255.252.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
- В первую очередь смотрим на цену, можно найти предложения за $3-4 в месяц, что дешевле многих VPN сервисов;
- Выбирайте VPS ближе к вам географически, если хотите иметь приемлемую скорость через VPN. Чем меньше пинг от вас до VPS, тем лучше скорость;
- Выбирайте минимальную конфигурацию. OpenVPN не использует больше одного ядра и может работать на 256MB памяти. Минимального дискового пространства в 3-5GB так же вполне достаточно;
- Некоторые VPS ограничены по трафику, но обычно это 1TB в месяц, если вы планируете использовать больше, рассмотрите другие тарифные планы;
- Перед тем как оформить заказ на VPS, уточните разрешена ли загрузка торрентов (при условии, что они вам нужны, конечно);
- Так же можно уточнить включены ли TUN/TAP устройства в системе. В скрипте есть проверка на это, но лучше уточнить до покупки, возможно их и нельзя будет включить через поддержку провайдера VPS;
- Наличие IPv6 адреса, скрипт позволяет настроить сервер с поддержкой IPv6 и возможно вы захотите иметь возможность посещать IPv6 ресурсы через VPN.
Скрипт доступен на GitHub.
Создаем свой VPN server на VPS
Арендовать полноценный сервер мы не будем. Я арендую виртуальный сервер – VPS (virtual private server). В очень многих случаях для размещения сайтов в интернете или для других целей (в т. ч. для организации VPN) не требуется больших серверных мощностей, но необходимо «под себя» настроить операционную систему сервера.
Для этих целей, необходимо сделать несколько, не очень сложных шагов, описанных ниже:
Шаг №1. Аренда сервера.
Первым делом нужно перейти на сайт DigitalOcean и зарегистрироваться. Ссылка реферальная, после регистрации и оплаты аккаунта в 5$ получите на свой счет еще 10$, и мне и вам приятно. Итого на аккаунте будет 15$.
Далее откроется страница, на которой нужно указать данные своей банковской карты. Без этого система не будет работать и не даст возможности воспользоваться бонусными 10 долларами. При этом на вашей карте может быть заблокирована сумма в несколько рублей, которая затем будет возвращена. Данные можно указать свои, но лучше заплатить через PayPal.
Что делать, если банковской карты нет? Заведите себе Киви-кошелек, он автоматически дает виртуальную карту, баланс которой равен балансу кошелька. Пополнять кошелек можно почти везде.
Однако, если вы введете в DigitalOcean данные карты Киви, то система ее «выплюнет», сославшись на то, что DigitalOcean не работает с предоплаченными и виртуальными картами. В таком случае вам нужно пополнить баланс на 5 долларов через систему PayPal, заплатив картой Киви. Необходимо привязать вашу виртуальную карту к PayPal и совершить платеж.
После совершения платежа необходимо пройти верификацию, могут потребовать прислать ваше фото с развернутым паспортом или другим докуметом удостоверяющим личность, для проформы. Не пугайтесь документ бликует на фото и разобрать там ваши данные будет непросто.
После всех процедур оплаты и верификации приступаем с созданию своего VPN сервера.
Смотрим видео-урок:Видео
Примечание. Большинству жителей России и стран СНГ подойдет Амстердам или Франкфурт (пинг до Франкфурта в большинстве случаев будет немного меньше, чем до Амстердама). Жителям Дальнего востока России рекомендую протестировать Сингапур и сравнить показатели с европейскими серверами.
Скачать программу Putty (для подключения к управлению сервером).
Всё, мы заказали VPS. Поздравляю. Теперь пора перейти к его настройке.
Шаг №2. Настройка VPN.
Не пугайтесь, процесс настройки своего собственного VPN прост, как дважды-два!
В видео-уроке выше мы подключились к нашему серверу с помощью Putty. Теперь продолжим.
Копируем и вставляем (нажатием правой кнопки мыши, как мы делали в видео-уроке) команду:
nano vpn.sh
Теперь копируем и вставляем в открывшееся окно редактирования файла следующее:
#!/bin/bash
echo «Выберите, что вы хотите сделать:»
echo «1) Настроить новый PoPToP VPN сервер И создать нового пользователя»
echo «2) Создать дополнительных пользователей (к уже существующему VPN)»
if test $x -eq 1 ; then
echo «Введите имя пользователя, которое нужно создать (н.п.. client1 or john):»
echo «Введите пароль для этого пользователя:»
ip = ` ifconfig eth0 | grep ‘inet addr’ | awk < 'print $2' >| sed s / . * : //`
echo «установка и настройка PoPToP»
apt-get install pptpd
echo «Создание конфигурации сервера»
cat > / etc / ppp / pptpd-options END
# setting up pptpd.conf
echo «option /etc/ppp/pptpd-options» > / etc / pptpd.conf
echo «logwtmp» >> / etc / pptpd.conf
echo «localip $ip » >> / etc / pptpd.conf
echo «remoteip 10.1.0.1-100» >> / etc / pptpd.conf
# adding new user
echo » $u * $p *» >> / etc / ppp / chap-secrets
echo «Переадресация IPv4 и добавление этого в автозагрузку»
cat >> / etc / sysctl.conf END
echo «Обновление IPtables Routing и добавление этого в автозагрузку»
iptables -t nat -A POSTROUTING -j SNAT —to $ip
# saves iptables routing rules and enables them on-boot
iptables-save > / etc / iptables.conf
cat > / etc / network / if-pre-up.d / iptables END
iptables-restore / etc / iptables.conf
chmod +x / etc / network / if-pre-up.d / iptables
cat >> / etc / ppp / ip-up END
ifconfig ppp0 mtu 1400
echo «Перезапуск PoPToP»
/ etc / init.d / pptpd restart
echo «Настройка вашего собственного VPN завершена!»
echo «Ваш IP: $ip ? логин и пароль:»
echo «Имя пользователя (логин): $u ##### Пароль: $p «
# runs this if option 2 is selected
elif test $x -eq 2 ; then
echo «Введите имя пользователя для создания (eg. client1 or john):»
echo «введите пароль для создаваемого пользователя:»
ip = ` ifconfig venet0: 0 | grep ‘inet addr’ | awk < 'print $2' >| sed s / . * : //`
# adding new user
echo » $u * $p *» >> / etc / ppp / chap-secrets
echo «Дополнительный пользователь создан!»
echo «IP сервера: $ip , данные для доступа:»
echo «Имя пользователя (логин): $u ##### Пароль: $p «
echo «Неправильный выбор, выход из программы. «
Нажимаем Ctrl+O, затем Enter.
Нажимаем Ctrl+X.
Копируем и вставляем команду:
sh vpn.sh
Вводим 1 и нажимаем Enter. Ждем. Согласно запросам системы, вводим желаемый логин и нажимаем Enter. Аналогично с паролем. На вопросы “[Y]/[N]” вводим Y и нажимаем Enter. После завершения настройки будут показаны наши логин, пароль и IP адрес сервера эту информацию неоходимо запомнить для дальнейшего подключения к серверу VPN.
Готово! VPN настроен!
Шаг №3. Проверка VPN подключения.
открываем «Центр управления сетями и общим доступом» Windows:
или Панель управления
В свойствах подключения необходимо сделать как на скрине.
Подключаемся. Теперь мы работаем через VPN! Чтобы в этом удостовериться, идем на 2ip.ru и убеждаемся в том, что показываемый нам наш IP адрес совпадает с IP адресом нашего VPS.
Когда нам станет ненужным VPN-подключение, разрываем его:
Как можно экономить деньги! Через личный кабинет DigitalOcean мы можем выключить наш VPS (droplet в терминологии DigitalOcean)
За сервер в выключенном состоянии идет списание денежных средств по стандартному тарифу 5$ в месяц. Поэтому чтобы сэкономить, мы сделаем резервную копию нашего сервера, удалим его, а когда нам снова понадобится VPN, мы его восстановим из резервной копии!
Перейдем в управление сервером (панель управления DigitalOcean находится по адресу cloud.digitalocean.com, вход в нее возможен через кнопку Sign In на главное странице digitalocean.com в правом верхнем углу).
Нам нужно создать резервную копию (снимок, snapshot) нашего VPS. Но для этого его сначала нужно выключить.
Ждем около минуты, пока сервер выключится. Затем переходим в раздел Snapshots, вводим произвольное имя снимка и создаем его:
За каждый гигабайт «веса» нашего VPS при создании снимка спишется по 2 цента. Создание резервной копии (снимка) займет несколько минут.
Теперь удаляем сервер:
Все! Списание средств за использование ресурсов остановлено.
Восстановление работоспособности сервера VPN
Нам нужно создать новый VPS из той резервной копии, которую мы сделали до этого.
Нажимаем «создать дроплет»:
Теперь, как и прежде, вводим любое имя сервера латинскими буквами без пробелов, выбираем первый минимальный тариф, регион должен быть тот же самый, что и тот, в котором у нас до этого был сервер.
Чуть ниже нажимаем на название снимка, который мы сделали (был серым, а должен стать синим):
…и нажимаем большую зеленую кнопку «Create droplet».
Ждем около минуты.
Смотрим, совпадает ли IP адрес нашего сервера с прежним. Если да, то в Windows просто возобновляем уже ранее созданное подключение:
Если нет, то нажимаем правой кнопкой мыши на название нашего подключения и меняем IP адрес на новый:
Вводим новый IP и нажимаем «ОК»:
Внимание! Теперь, чтобы выключить VPN, нам не нужно делать резервную копию, просто сразу удаляем сервер, а в следующий раз все восстановим из старого снимка. Перед удалением сервер выключать необязательно. На всякий случай такой порядок действий в скриншотах:
Это мы удалили VPS на время неиспользования VPN. Теперь его восстановим из старого снимка:
Проверяем, сохранился ли старый IP и продолжаем работу.
Весь урок и пример был взят с www.comss.ru
У кого растут руки из нужного места настроят все влегкую. Если мы будем пользоваться VPN по 2 часа каждый день, то в месяц мы заплатим около 30 рублей. Согласитесь, это не 350 руб/мес за платный VPN-сервис!
VPS для OpenVPN
Для организации сервиса ВПН на своем отдельном виртуальном сервере мы предлагаем быстрые VPS в Германии, которые имеют безлимитный трафик и SSD диски от Samsung. Каждый, кто использует VPN, знает насколько важно иметь высокий аптайм и при этом получать качественный и недорогой сервис, бесплатную базовую поддержку.
Openvpn — VPN-сервер распространяемый бесплатно. Он позволяет создавать зашифрованные каналы типа «точка-точка» или «сервер-клиенты» между компьютерами. Он также позволяет устанавливать соединения между компьютерами, находящимися за NAT и сетевым экраном, без необходимости изменения их настроек. При этом вы получаете ваш собственный постоянный (статический) IP адрес в сети интернет.
OpenVPN сервер на VPS устанавливается автоматически при выборе соответствующего рецепта во время заказа VPS. Устанавливается и настраивается сам OpenVPN сервер. Также настраивается NAT, и генерируется один клиентский ключ для пользователя client1. Когда ВПС активируется и вы получите данные для доступа на него, вы найдёте в папке /etc/openvpn (в Ubuntu это будет папка /etc/openvpn/easy-rsa/keys) файлы сертификатов ca.crt, server.crt и ключа server.key для пользователя client1. Вам останется только скачать эти файлы на свой компьютер и импортировать их в ваш openvpn клиент. Для удобства импорта, вы можете использовать скачанные файлы в файле .ovpn воспользовавшись многочисленными инструкциями в сети.
Вы также можете использовать файлы easy-rsa для генерации дополнительных ключей для дополнительных клиентов в папке /etc/openvpn/easy-rsa/keys. OpenVPN сервер позволяет установить впн соединение на любых устройствах: ПК, ноутбуках, планшетах, смартфонах, роутерах.
Выберите тарифный план:
Тариф | Кол-во ядер | Память | Диск | Цена в ₽. | |
R7 | 1 | 512 Мб | 5 Гб | 149 | |
R8 | 1 | 1 Гб | 10 Гб | 249 | |
R9 | 2 | 2 Гб | 20 Гб | 299 | Дополнительная информация:Вы можете установить любое ПО, в том числе Mikrotik, Wireguard, SoftEther самостоятельно воспользовавшись многочисленными инструкциями в интернете. Установка Mikrotik требует дополнительных настроек поэтому необходимо обратиться в техническую поддержку. Во всех перечисленных тарифах бесплатно включено по одному IPv4 и IPv6 адресу. Техническая поддержка предоставляется бесплатно в рамках регламента. Дополнительные IPv4 адреса для вашего ВПС могут быть выданы в количестве до 32 штук. Дополнительные IPv4 адреса выдаются автоматически, стоимость одного IPv4 адреса составляет: 65 ₽ (ежемесячно) Все IP адреса по умолчанию имеют геолокацию: Франкфурт на Майне, Германия. По запросу в поддержку могут выделяться дополнительные IP адреса с геолокацией: Москва, Российская Федерация. Заказ, оплата и получение данных сервера
Техническая поддержка detector |