{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

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

Расскажете как оплачиваете VPS в Нидерландах? )

Ответить
Развернуть ветку
Andrey Proskuryakov
Автор

Я у edgecenter.ru купил, наши карты работают. Есть вариант visa prepaid сделать, тогда можно и на зарубежных покупать у того же hetzner.com

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

Аналогично, взял у них виртуалку в Германии за 88р в месяц, когда ещё они были под брендом gcore.

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