Что такое Hysteria 2 и почему он работает быстрее
Hysteria 2 — это современный прокси-протокол, построенный на модифицированной версии QUIC, который работает поверх UDP. В отличие от традиционных VPN-решений на базе TCP (OpenVPN, WireGuard), Hysteria 2 использует возможности QUIC для мультиплексирования потоков, встроенного шифрования и управления перегрузкой. Это позволяет добиться более высокой скорости на нестабильных каналах и при высоком пинге.
Ключевая особенность Hysteria 2 — способность маскировать трафик под обычный HTTP/3 (QUIC). Это делает его сложным для обнаружения и блокировки, что особенно актуально в сетях с глубокой фильтрацией (DPI). Протокол поддерживает аутентификацию, статистику трафика, контроль доступа и проброс портов.
Для MikroTik Hysteria 2 интересен тем, что позволяет организовать быстрый и обходной VPN прямо на роутере, не задействуя ресурсы компьютера или смартфона. Весь трафик домашней сети может автоматически направляться через защищённый туннель.
Требования к роутеру MikroTik и подготовка
Для установки Hysteria 2 на MikroTik потребуется устройство с архитектурой ARM (например, модели hAP ac³, RB4011, RB5009) или MIPS (старые модели, такие как RB951Ui-2HnD). Важно, чтобы на роутере была установлена актуальная версия RouterOS (желательно 7.x), так как в ней улучшена поддержка контейнеров и пакетов.
Также понадобится USB-накопитель или встроенная память достаточного объёма (от 128 МБ) для хранения бинарного файла Hysteria и конфигурации. Рекомендуется использовать внешний USB-накопитель, чтобы не переполнять встроенную флеш-память.
Перед началом настройки убедитесь, что у вас есть доступ к роутеру по SSH (включите SSH-сервер в RouterOS) и права администратора. Также необходимо иметь домен (можно бесплатный, например, на freedns.afraid.org) и VPS-сервер с Ubuntu/Debian, на котором будет развёрнут сервер Hysteria 2.
Установка Hysteria 2 на сервер (VPS)
Серверная часть Hysteria 2 устанавливается на VPS с Linux. Самый простой способ — использовать официальный скрипт установки:
bash <(curl -fsSL https://get.hy2.sh/)Скрипт автоматически скачает бинарник, создаст systemd-сервис и базовую конфигурацию. Если скрипт не запускается из-за прав доступа, можно скачать его вручную и выполнить с sudo:
wget https://get.hy2.sh/install_server.sh
chmod +x install_server.sh
sudo ./install_server.shПосле установки необходимо отредактировать файл конфигурации /etc/hysteria/config.yaml. Минимальная конфигурация выглядит так:
listen: :443
acme:
domains:
- your.domain.com
email: your@email.com
auth:
type: password
password: your_strong_password
masquerade:
type: proxy
proxy:
url: https://news.ycombinator.com/
rewriteHost: trueЗдесь listen указывает порт (по умолчанию 443), acme — автоматическое получение TLS-сертификата через Let's Encrypt, auth — пароль для аутентификации клиентов, masquerade — маскировка под обычный сайт. Вместо автоматического сертификата можно указать свои файлы сертификата в секции tls.
После сохранения конфигурации перезапустите сервис:
sudo systemctl restart hysteriaПроверить статус можно командой sudo systemctl status hysteria.
Настройка клиента Hysteria 2 на MikroTik
Установка клиента Hysteria 2 на MikroTik требует загрузки бинарного файла под архитектуру роутера. Для ARM64 подойдёт файл hysteria-linux-arm64, для MIPS — hysteria-linux-mipsle. Скачать их можно с GitHub-релизов проекта Hysteria.
Загрузите бинарник на роутер, например, через FTP или SCP, и поместите в /storage/ (если используется USB-накопитель) или в /flash/. Затем создайте файл конфигурации клиента, например, /storage/hysteria-client.yaml:
server: your.domain.com:443
auth: your_password
tls:
sni: your.domain.com
insecure: false
socks5:
listen: 127.0.0.1:1080Здесь server — адрес вашего VPS, auth — пароль, tls.sni — домен, socks5.listen — локальный SOCKS5-прокси, через который будет ходить трафик.
Запустите клиент в фоне:
/storage/hysteria-linux-arm64 client -c /storage/hysteria-client.yaml &Для автоматического запуска при загрузке роутера добавьте эту команду в скрипт /system scheduler или в /system script.
Маршрутизация трафика через Hysteria на MikroTik
Чтобы весь трафик с локальной сети шёл через Hysteria, необходимо настроить маршрутизацию. Самый простой способ — использовать политику маршрутизации (policy routing) или добавить маршрут по умолчанию через локальный SOCKS5-прокси.
Однако SOCKS5 не поддерживает маршрутизацию на уровне IP, поэтому лучше использовать режим TUN (создание виртуального сетевого интерфейса). Hysteria 2 поддерживает режим TUN, который создаёт интерфейс tun0 и перенаправляет в него весь трафик.
В конфигурации клиента добавьте:
tun:
enable: true
stack: system
dns:
enable: true
listen: 127.0.0.1:53После запуска клиента появится интерфейс tun0. Настройте маршрут по умолчанию через него:
/ip route add dst-address=0.0.0.0/0 gateway=tun0Также нужно настроить NAT для исходящего трафика с локальной сети:
/ip firewall nat add chain=srcnat out-interface=tun0 action=masqueradeЭто позволит устройствам в локальной сети выходить в интернет через Hysteria.
Обход блокировок и маскировка трафика
Hysteria 2 по умолчанию маскирует трафик под HTTP/3, что делает его похожим на обычные запросы к веб-сайтам. Однако в некоторых сетях QUIC блокируется целиком. В этом случае можно использовать обфускацию Salamander, которая превращает пакеты в случайные байты без шаблона.
Для включения обфускации на сервере добавьте в конфигурацию:
obfs:
type: salamander
salamander:
password: your_obfs_passwordНа клиенте укажите те же параметры:
obfs:
type: salamander
salamander:
password: your_obfs_passwordВажно: включение обфускации делает сервер несовместимым со стандартными QUIC-соединениями, поэтому он перестанет работать как обычный HTTP/3-сервер. Это может привлечь внимание DPI, если обфускация используется массово.
Также можно использовать проброс портов (port hopping), чтобы обойти блокировку по конкретному порту. Клиент может подключаться к случайному порту из диапазона, а сервер перенаправляет трафик через iptables.
Решение типичных проблем при настройке
Одна из частых проблем — неработающее соединение при использовании мобильного интернета. Операторы могут блокировать UDP-трафик, особенно если он выглядит как QUIC. В этом случае помогает отключение обфускации и использование стандартного QUIC, так как некоторые операторы пропускают его.
Если Hysteria работает по WiFi, но не работает по мобильной сети, попробуйте:
- Отключить обфускацию Salamander.
- Изменить порт с 443 на нестандартный (например, 8443).
- Использовать проброс портов.
Ещё одна проблема — конфликт с другими туннелями. Если на роутере уже настроен WireGuard или OpenVPN, маршруты могут пересекаться. Решение — использовать разные таблицы маршрутизации или явно указывать приоритеты.
Если после обновления RouterOS перестал работать скрипт запуска, проверьте пути к бинарнику и права на выполнение. Иногда требуется переустановить пакет.
Сравнение Hysteria 2 с другими протоколами на MikroTik
На MikroTik часто используют WireGuard, OpenVPN и SSTP. Hysteria 2 выгодно отличается скоростью на нестабильных каналах благодаря QUIC, который устойчив к потерям пакетов. WireGuard быстрее на стабильных каналах, но хуже маскируется. OpenVPN надёжен, но медленнее из-за TCP-туннеля.
Hysteria 2 также поддерживает аутентификацию и мультипользовательский режим, что удобно для раздачи доступа нескольким людям. Однако у Hysteria 2 нет встроенной панели управления, в отличие от 3x-ui, поэтому управление пользователями придётся автоматизировать скриптами.
Для MikroTik важно, что Hysteria 2 можно запустить как отдельный процесс, не влияя на работу других сервисов. Это позволяет комбинировать его с WireGuard для разных сценариев.
Безопасность и рекомендации по эксплуатации
При настройке Hysteria 2 важно использовать надёжный пароль для аутентификации и не передавать его в открытом виде. Рекомендуется использовать длинные пароли или перейти на аутентификацию по сертификатам.
Также стоит ограничить доступ к серверу по IP-адресам с помощью firewall, чтобы предотвратить несанкционированные подключения. На MikroTik можно создать правило firewall, разрешающее входящие подключения только с IP вашего VPS.
Регулярно обновляйте Hysteria 2 до последней версии, так как разработчики исправляют уязвимости и улучшают производительность. Для обновления на сервере достаточно перезапустить скрипт установки.
На роутере следите за нагрузкой CPU и памятью. Hysteria 2 потребляет ресурсы, особенно при активном использовании. Если роутер слабый, возможно, стоит использовать более лёгкий протокол.
Автоматизация и мониторинг работы Hysteria на MikroTik
Для автоматического запуска Hysteria при загрузке MikroTik создайте скрипт в RouterOS:
/system script add name=hysteria-start source="/storage/hysteria-linux-arm64 client -c /storage/hysteria-client.yaml &"
/system scheduler add name=hysteria-scheduler start-time=startup interval=0 on-event="/system script run hysteria-start"Для мониторинга можно использовать логи Hysteria. В конфигурации клиента укажите уровень логирования:
log:
level: info
file: /storage/hysteria.logПросматривать логи можно командой cat /storage/hysteria.log. Также можно настроить отправку логов на удалённый сервер через syslog.
Если Hysteria перестаёт работать, добавьте в планировщик проверку процесса и перезапуск при необходимости. Например, скрипт, который проверяет наличие процесса и запускает его заново.
Вопросы и ответы
Можно ли использовать Hysteria 2 на старых роутерах MikroTik с MIPS-архитектурой?
Да, для MIPS-архитектуры существуют отдельные сборки Hysteria 2 (например, hysteria-linux-mipsle). Однако производительность таких роутеров может быть недостаточной для высоких скоростей, особенно при использовании шифрования и обфускации. Рекомендуется проверить загрузку CPU в процессе работы.
Какой домен лучше использовать для Hysteria 2 — платный или бесплатный?
Можно использовать бесплатный домен, например, от freedns.afraid.org, но важно, чтобы он не содержал слов, ассоциирующихся с VPN или прокси (например, 'proxy', 'vpn'), так как это может привлечь внимание DPI. Платный домен даёт больше доверия и возможностей, но не является обязательным.
Почему Hysteria 2 не работает через мобильный интернет, хотя через WiFi всё функционирует?
Мобильные операторы часто блокируют или ограничивают UDP-трафик, особенно если он выглядит как QUIC. Решение: отключите обфускацию Salamander, попробуйте изменить порт с 443 на нестандартный, или используйте проброс портов. Также проверьте, не блокирует ли оператор конкретные порты.
Можно ли использовать Hysteria 2 вместе с WireGuard на одном роутере MikroTik?
Да, можно. Hysteria 2 работает как отдельный процесс и не конфликтует с WireGuard, если правильно настроить маршрутизацию. Используйте разные таблицы маршрутизации или явно указывайте, какой трафик идёт через какой туннель. Например, можно направить трафик к определённым сайтам через Hysteria, а остальной — через WireGuard.
Как обновить Hysteria 2 на сервере и на роутере?
На сервере достаточно повторно запустить официальный скрипт установки: bash <(curl -fsSL https://get.hy2.sh/). На роутере необходимо скачать новую версию бинарного файла с GitHub и заменить старый, затем перезапустить клиент. Убедитесь, что конфигурация совместима с новой версией.
Что делать, если Hysteria 2 на MikroTik не пропускает трафик?
Проверьте, что клиент запущен и процесс активен. Убедитесь, что маршрут по умолчанию указывает на интерфейс TUN, и что настроен NAT. Также проверьте логи Hysteria на наличие ошибок. Часто проблема возникает из-за неправильных прав на файлы или конфликта с другими туннелями.