{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

Опыт использования собственного 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 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

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

Ruvds

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