Опыт использования собственного VPN за последний месяц — через OpenVPN

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

При постоянном использовании мне хотелось иметь Ping в районе 5 мс по Speedtest (как без VPN). Пиковые скорости мне не важны, в первую очередь мне важна отзывчивость и стабильность в соединении.

К требуемым показателям удалось приблизиться при развертывании VPN на сервере в Москве. Получились 7 мс, и 49 мс на сервере в Амстердаме.

При использовании через роутер скорость 60 мегабит, через телефон или компьютер 100.

Цели

1. Первое что требовалось, возможность развертывать VPN за реальные 5 минут на любом максимально дешевом VPS у любого хостера. Мне было не понятно насколько это будет разрешено хостером, и чтобы можно было быстро переезжать. Но судя по всему на виртуализации KVM — это разрешено.

2. Второе это совместимость с MacOS, iOS, Android и двумя моими роутерами Asus, один из которых работает на домашнем Билайне, второй на мобильной Yota.

3. Возможность легкого использования непрофессиональными пользователями уже готового VPN.

Сначала попробовал разные решения из статей. В основном предлагается два протокола IPSec IKEv2 и OpenVPN. Про IPSec например есть хорошая статья на данном сайте. Варианты все рабочие, но сложные и долгие. Дальше попробовал ряд готовых скриптов и готовые решения у хостеров. Минус готовых решений у хостера в том что привязка к конкретным хостерам, а я хотел иметь возможность где угодно разворачивать.

В итоге остановился на OpenVPN и вот этом скрипте с github. Скрипт актуальный, последнее изменение 3 месяца назад. Установка проходит за пару минут, нужно только подтвердить ответы на некоторые вопросы.

На выходе получается полностью сконфигурированны OpenVPN сервер со всеми сертификатами и .ovpn файлом, который необходимый для коннекта к серверу с устройств. Данный файл нативно поддерживается моими роутерами, а для телефонов и mac есть официальные приложения OpenVPN. Файл я положил на своём яндекс диске, поэтому его легко можно открыть на любом устройстве в приложении OpenVPN, один раз сохранить и пользоваться, также можно, например, по Telegram его передать.

Из проблем

Если использовать недорогие массовые VPS, то ряд сайтов не будет работать, т.к. IP может оказаться в бан листе. Например Avito, им я даже написал с просьбой разблокировать — отказали, говорят вся подсеть забанена и разбану не подлежит.

С некоторыми магазинами были проблемы типа dns-shop и street-beat. Они оба защищены Variti от ddos, поэтому предполагаю что у Variti так фильтры срабатывают.

В итоге я остановился на более дорогом хостере, где почти всё работает.

Немного теории

На официальном сайте OpenVPN даны следующие рекомендации по серверному железу:

  • Память: 1 Гб и далее по 1 Гб на каждые 150 юзеров.
  • Процессор: 12 герц на 1 мегабит скорости.

Соответственно VPS с 1 Гб памяти и 1 процессорным ядром — 100 мегабит тянет.

Процессор должен быть с поддержкой инструкций AES-NI, иначе надо в 4 раза больше мощности. Современные серверные, компьютерные и мобильные процессоры это поддерживают.

С роутерами не всё так сладко, мои режут скорость до 60 мегабит. Топовые модели Asus поддерживают данные инструкции и должны тянуть до 200 мегабит, судя по отзывам которые я нашёл на западных форумах.

Как установить

  • Иметь базовый опыт администрирования серверов

  • Заказать VPS с виртуализацией KMV с Ubuntu 20 у любого хостера

  • Зайти по SSH

  • Воспользоваться данным скриптом https://github.com/angristan/openvpn-install

  • После добавить строчку «duplicate-cn» в файле /etc/openvpn/server.conf, чтобы одним файлом можно было одновременно коннектиться с разных устройств и рестартнуть VPN командой «service openvpn restart»

  • Поменять SSH порт на произвольный (по желанию, для безопасности)

  • Сгенерированный файл. ovpn использовать на любых устройствах
  • Установить приложения из AppStore или Play Store, а для компьютера с официального сайта

В итоге

Целый месяц я работал, как из дома, так и в выездном варианте. Помимо работы использовал торренты. Всё прекрасно работает стабильно без тормозов и сбоев. Рунет стал работать даже лучше чем был до марта.

Оставил себе 2 VPN, один в РФ, второй в Нидерландах, т.к. для ряда западных сервисов нужен зарубежный IP в частности для Strava.

0
108 комментариев
Написать комментарий...
Евгений Свиридов

а если нет денег на сервер, то используйте aws.amazon.com, год бесплатно, можно выбрать любое нужное вам ГЕО сервера, работает очень шустро!

Ответить
Развернуть ветку
Dmitry

Они вроде не регают новые акки для пользователей из РФ.

Ответить
Развернуть ветку
Alex Melnikoff

Даже если регают, толку мало. Им надо для валидации карту дать, с которой они попытаются $ откусить. Понятно, что с российской карты не откусится..

Ответить
Развернуть ветку
Dmitry

Ну карту еще можно где-нибудь достать, за биткоины купить например.

Ответить
Развернуть ветку
105 комментариев
Раскрывать всегда