Вступление
Представим ситуацию: поздно ночью вам пишет на телефон какой-то незнакомец и говорит, что у него есть твоя история браузера, где ты смотрел арты по My Little Pony и угрожает, что если ты ему не заплатишь выкуп, то он всё это сольёт родственникам. Страшно, не правда ли? Как же он это сделал?
Сильно в это углубляться не будем, но чаще всего дело в публичном Wi-Fi. Например, приспичило тебе посмотреть на поней, а мобильный интернет закончился.
Чтобы избежать подобных ситуаций лучше использовать VPN. В этой статье мы разберёмся, что это за технология, её эволюцию и настроим собственный VPN-сервер.
ДИСКЛЕЙМЕР
Автор не побуждает использовать данную технологию для обхода блокировок. Материал создан сугубо в образовательных целях и не побуждает к совершению действий, которые описаны в данной статье. Автор осуждает обход блокировок и он не несёт ответственность за действия пользователей
Автор уважает Свинцова, РКН не бань!
Теоретическая часть
VPN (Virtual Private Network, Виртуальная Частная Сеть) — технология, которая позволяет пользователю подключаться к удалённой компьютьерной сети из любой точки мира. Зародилась данная технология с появленим протокола PPTP (Point-to-Point Tunnelling Protocol) разработанная компанией Microsoft. Даже сейчас поддержка этого протокола встроена в Windows. За ним появились L2TP и IPsec... Но легендарными стали протоколы OpenVPN и WireGuard.
OpenVPN хотел превзойти PPTP и L2TP, которые чаще использовались в корпоративных сетях. Он поддерживал библиотеку OpenSSL и работает на 1194 порту. WireGuard хотел превзойти уже OpenVPN. Он уже работает только на UDP, поддерживает новые виды шифрования (Curve25519, ChaCha20, Poly1305 и т. д.) и IPv6.
Реали таковы, что все эти протоколы очень легко вычислить и их уже забанили.
Протоколы, о которых я сейчас рассказал действуют по принципу шифрования всего подряд. Но сейчас самый действенный способ — маскировка под обычный трафик. Именно по такому принципу действует протоколы VLESS с технологией Reality и Hysteria2. Последнего мы подробно и разберём.
Разбор принципа работы Hysteria2
Протокол работает на QUIC (Если вкратце, тот же HTTP, только на UDP и с шифрованием) и маскируется под обычный сайт. При подключении к серверу провайдер видит соединение с каким-то сайтом и отправкой какого-то шума. Если он постучиться на сервер, то он ответит как обычный вебсайт. А сам пользователь соединяется с ним с помощью специального пароля, который выдаёт сам же сервер
Ладно, долой душнить! Пора приступать к практике
Установка Hysteria2
Мы будем ставить не само ядро, а панель Blitz. У неё есть несколько преимуществ:
- Управление сервером через веб-панель или бота в Telegram
- Создание сайта для маскировки
- Поднятие на сервере WARP
- Создание системы подписок
Для начала, вам нужно купить собственный VPS. Лучше покупать на Weasel Cloud или HOSTOFF.NET (не реклама). Убедитесь, что на VPS стоит Ubuntu LTS, так как дальнейшие команды будут только для этого дистрибутива. Также, вам нужен домен. Бесплатные домены выдаються на DuckDNS. И ещё нужно скачать SSH-клиент. Советую Termius, только не создавайте там аккаунт. После соединения с сервером выполните команды ниже
apt update # обновление списка пакетов
apt upgrade # обновление самих пакетов
Теперь установим панель Blitz
bash <(curl https://raw.githubusercontent.com/ReturnFI/Blitz/main/install.sh)
После установки панель автоматически запуститься и должна выглядеть вот так
Заходите в первый пункт и выбираете тоже первое. Вас попросят вписать сайт, под который будет маскироваться сервер. Предлагаю нейтральный и не заблокированный в РФ сервис, но также он должен располагаться в одном регионе с сайтом. Примеры: spacex.com, stackoverflow.com или prometheanworld.com
После вас попросят указать порт, на котором будет работать VPN. Лучше выбрать UDP-порт из списка зарегистрированных портов (те, которые начинаются с 1024).
Супер! У вас уже установлено ядро Hysteria2! Можно уже прям так пользоваться, но удобнее будет поднять Веб-панель. Для этого выходим из этого меню (нажмите 0), нажимаем 2 и затем 8. У вас появиться меню управления Веб-панелью. Нажимаете 1, вводите домен, который вам выдал DuckDNS, и вводите порт, на котором будет она будет работать. Берёте из этого же списка. Дальше вводите имя учётной записи админа, пароль(символы не отображаются при вводе пароля) и вам выдадут ссылку на Веб-панель. Копируйте URL комбинацией клавиш Ctrl+Shift+C и вставляете в браузер.
Так намного удобнее, не правда ли?
Теперь вводите логин и пароль админа, который до этого вводили при настройке. Далее зайдите во вкладку Users и удаляете пользователя по умолчанию, так как его нельзя настроить. После нажмите на синию кнопку + справа.
Вот так выглядит меню создания пользователя. В первую строку вводите имя, во второй строке настраивается ограничение трафика в гигабайтах, в третьей строке ставиться счётчик действия подписки. Если не хотите ставить ограничения, то напишите во 2 и 3 строке 0. Четвёртая строка задаёт описание пользователю, но это не обязательный пункт. Как только всё вписали нажимаете на единственную кнопку "Add user". Теперь в строке с именем пользователя ищете столбец Config, нажимаете на кнопку QR-кода и вам выдаёт QR-код на конфиг. Также можно и скопировать его нажав на QR-код. После этого скачиваете на своё устройство Hiddify и вставляете конфиг.
Всё! Вы уже можете пользоваться VPN, но можно его и дополниетльно настроить.
Увеличение скорости сервера
Переходим во вкладку Config и видим вот такую картину:
Нам нужен только пункт bandwidth. Up отвечает за скорость загрузки, а Down — скорость скачивания. Пишем туда вашу реальную скорость интернета. Например, если у вас 3 гигабита в секунду, то переводим их в мегабиты и пишем 3000 mbps. После нажимаем кнопку "Save JSON".
Сайт-заглушка
Дополнительный слой защиты для сервера — сайт-заглушка. Он будет полезен если провайдер будет проверять сайт вручную, с помощью человека.
Здесь нужны знания HTML, но если вы его не знаете то его можно сделать через ChatGPT. Пишите текст по типу такого:
Сдлеай сайт-заглушку для сервера. Фон будет с красными и чёрными оттенками, посередине будет текст (вставьте любое название сюда), а внизу надпись "Сайт на профилактике". Сам дизайн должен быть минималистичным. Как только будет готово открой сайт в Canvas.
Но лучше сделать что-то своё. Когда закончили вам надо скачать исходный код и переименовать файл с ним в index.html. Далее скачиваете программу WinSCP. Соединяемся с сервером, создаём в директории root папку, где будет храниться исходный код нашего сайта заглушки и кидаем туда наш код.
После идём в веб-панель, раздел Settings, вкладка Decoy Site и вписываем домен нашего сайта и путь до файла с самим сайтом.
Система подписок
Вы уже знаете, как ограничить пользователю трафик или время работы конфига. Но можно и сделать мини-страницу, на которой будет лежать конфиг. Для этого возьмите ещё один домен на DuckDNS. Далее возвращайтесь к Веб-панели, раздел Settings и вкладка Subscriptions. В первую строку вставляете ваш домен, а во вторую — порт, на котором страница будет работать (смотрите тот же список UDP портов). Когда будет всё готово, то при передаче конфига у вас появиться кнопка Normal-SUB.
Блокировка российских сайтов на VPN-сервере
Слышали, что MAX может отслеживать ваш VPN? Мы тоже слышали! Поэтому поможем вам этому помешать. Для этого переходим в раздел Hysteria и идём в окно Update GeoIP & GeoSite Files, где нажимаем на кнопку Update for Russia. Теперь при заходе через VPN на российские сайты у вас будет вылезать ошибка. Такая же штука работает и для Ирана с Китаем. Делается таким же образом, но с другими кнопками.
Заключение
Сегодня мы научились настраивать свой VPN-сервер на Hysteria2. Советую и дальше изучать панель Blitz, чтобы полностью понять, как она работает.
А так, на этом всё! Всем спасибо за внимание и...
Не прощаемся!