Что такое Hysteria 2 и зачем он нужен на OpenWrt
Hysteria 2 — это современный протокол передачи данных, основанный на модифицированном QUIC. Он обеспечивает высокую скорость соединения даже на нестабильных или зашумлённых каналах, что делает его особенно полезным для обхода ограничений и работы в условиях плохого качества связи. В отличие от традиционных VPN-решений, Hysteria 2 маскирует трафик под HTTP/3, что затрудняет его обнаружение и блокировку.
Установка Hysteria 2 на роутер с OpenWrt через пакет PassWall позволяет централизованно управлять прокси-соединениями на уровне всей домашней сети. Это избавляет от необходимости настраивать каждое устройство отдельно — достаточно подключить роутер, и весь трафик обрабатывается автоматически. PassWall поддерживает множество протоколов, включая Hysteria 2, и предоставляет удобный веб-интерфейс для управления узлами и правилами маршрутизации.
Проверка совместимости и подготовка OpenWrt
Перед установкой Hysteria 2 убедитесь, что ваша версия OpenWrt совместима с последней сборкой PassWall. PassWall 4.71-2, который поддерживает Hysteria 2, собран на основе OpenWrt 23.05-rc3. Если у вас более старая версия (например, 21.02), обновление не обязательно — многие пользователи успешно устанавливают пакет и на таких системах, но возможны проблемы с зависимостями.
Для проверки архитектуры процессора вашего роутера выполните в SSH:
uname -mРезультат (например, x86_64 или aarch64) понадобится для скачивания правильной версии пакета passwall_packages_ipk. Также убедитесь, что в текущей версии PassWall уже есть поддержка Hysteria 2 и sing-box — это можно проверить в веб-интерфейсе PassWall в разделе "Компоненты". Если sing-box отсутствует, его нужно будет установить отдельно.
Загрузка и установка PassWall с поддержкой Hysteria 2
Для установки PassWall с Hysteria 2 вам потребуются три файла:
luci-app-passwall_4.71-2_all.ipk— основной пакет приложения.luci-i18n-passwall-zh-cn_git-23.289.45328-a953315_all.ipk— пакет локализации (рекомендуется для русского интерфейса).passwall_packages_ipk_<архитектура>.zip— набор зависимостей, включая sing-box и Hysteria 2.
Скачайте эти файлы на компьютер, затем через веб-интерфейс OpenWrt перейдите в Система → Файловый менеджер и загрузите их в /tmp/upload/. После загрузки подключитесь к роутеру по SSH и выполните:
cd /tmp/upload
unzip passwall_packages_ipk_<архитектура>.zip
opkg install *.ipk --force-reinstallЕсли при установке возникнут ошибки зависимостей, попробуйте обновить список пакетов (opkg update) и повторить команду. После успешной установки перезагрузите роутер или перезапустите службы PassWall.
Настройка сервера Hysteria 2 на VPS
Для работы Hysteria 2 необходим сервер (VPS) с Debian/Ubuntu. Установка выполняется одной командой:
bash <(curl -fsSL https://get.hy2.sh/)Если у вас нет прав root, скачайте скрипт и запустите с sudo:
wget https://get.hy2.sh/install_server.sh
chmod 755 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_secure_password
masquerade:
type: proxy
proxy:
url: https://news.ycombinator.com/
rewriteHost: trueПараметр listen указывает порт (по умолчанию 443). Секция acme отвечает за автоматическое получение SSL-сертификата через Let's Encrypt — укажите ваш домен и email. auth задаёт пароль для подключения клиентов. masquerade маскирует трафик под обычный веб-серфинг, что затрудняет блокировку.
Если вы предпочитаете использовать собственные сертификаты, замените секцию acme на:
tls:
cert: /path/to/cert.crt
key: /path/to/key.keyНе забудьте выдать права на чтение файлов: sudo chmod 644 /path/to/cert.crt /path/to/key.key.
Добавление Hysteria 2 узла в PassWall на OpenWrt
После установки PassWall и настройки сервера перейдите в веб-интерфейс OpenWrt: Службы → PassWall → Узлы. Нажмите "Добавить" и выберите тип протокола Hysteria 2. Заполните поля:
- Адрес сервера: IP или домен вашего VPS.
- Порт: 443 (или тот, который вы указали в конфигурации сервера).
- Пароль: тот же, что указан в
auth.passwordна сервере. - Протокол: оставьте "udp".
- Маскировка: включите, если на сервере настроена секция
masquerade. - Обфускация: если на сервере включена обфускация Salamander, укажите тот же пароль.
Сохраните узел. Затем перейдите в Настройки → Основные настройки и выберите этот узел в качестве основного прокси. Включите глобальный режим или настройте правила маршрутизации по своему усмотрению. После применения настроек проверьте соединение, открыв любой сайт — трафик должен идти через Hysteria 2.
Обфускация трафика и проброс портов для обхода блокировок
Hysteria 2 поддерживает обфускацию трафика по алгоритму Salamander. Это преобразует пакеты в случайные байты, что делает их неотличимыми от обычного UDP-трафика. Для включения обфускации добавьте в конфигурацию сервера:
obfs:
type: salamander
salamander:
password: your_obfuscation_passwordНа клиенте в PassWall укажите тот же пароль в поле "Обфускация".
Если ваш провайдер блокирует постоянные UDP-соединения на одном порту, используйте проброс портов (port hopping). На сервере настройте iptables для перенаправления диапазона портов на порт Hysteria:
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 20000:50000 -j DNAT --to-destination :443На клиенте в конфигурации укажите несколько портов через запятую, например: your.domain.com:20000,30000,40000. Клиент будет случайным образом выбирать порт для каждого соединения, что усложняет блокировку.
Управление сервером Hysteria 2: запуск, остановка и мониторинг
После установки сервера Hysteria 2 он автоматически запускается как systemd-сервис. Основные команды управления:
systemctl start hysteria-server.service— запуск.systemctl stop hysteria-server.service— остановка.systemctl restart hysteria-server.service— перезапуск.systemctl status hysteria-server.service— проверка статуса.systemctl enable hysteria-server.service— добавление в автозагрузку.journalctl -u hysteria-server.service— просмотр логов для диагностики.
Логи помогут выявить ошибки подключения, проблемы с сертификатами или неверные параметры аутентификации. Если сервер не запускается, проверьте синтаксис YAML-конфигурации — лишние или отсутствующие пробелы часто вызывают ошибки.
Типичные проблемы и их решение
- Ошибка "sing-box not found" при установке PassWall — это означает, что пакет sing-box не установился автоматически. Войдите в веб-интерфейс PassWall, перейдите в Компоненты и нажмите "Обновить" или "Установить" для sing-box. Если это не помогает, скачайте последнюю версию sing-box вручную и установите через opkg.
- Сервер Hysteria не запускается после установки — проверьте, что порт 443 не занят другим сервисом (например, nginx). Используйте
sudo ss -tulpn | grep 443. Если порт занят, измените порт в конфигурации сервера.
- Клиент не подключается к серверу — убедитесь, что на сервере открыт UDP-порт (по умолчанию 443). Проверьте файрвол:
sudo ufw allow 443/udp. Также проверьте правильность пароля и домена.
- Низкая скорость соединения — попробуйте отключить обфускацию, если она не требуется. Также проверьте качество канала до сервера — Hysteria 2 оптимизирован для плохих линий, но слишком высокий пинг может снижать скорость.
Безопасность и дополнительные рекомендации
Hysteria 2 использует шифрование TLS для защиты данных, но для максимальной безопасности рекомендуется:
- Использовать сложные пароли для аутентификации (не менее 16 символов).
- Регулярно обновлять сервер и клиент до последних версий.
- Включать обфускацию только при необходимости, так как она может снижать совместимость со стандартными QUIC-соединениями.
- Настроить бэкап конфигурационных файлов сервера и клиента.
Если вы используете Hysteria 2 в регионе с агрессивной цензурой, рассмотрите комбинацию с другими протоколами (например, Shadowsocks или XTLS-Reality) для распределения нагрузки и повышения отказоустойчивости. PassWall позволяет легко переключаться между узлами, поэтому вы можете иметь несколько резервных серверов.
Вопросы и ответы
Можно ли установить Hysteria 2 на OpenWrt без PassWall?
Да, можно использовать отдельный клиент Hysteria 2, но это потребует ручной настройки маршрутизации и не даст удобного веб-интерфейса. PassWall упрощает управление и интеграцию с другими протоколами.
Какой минимальный VPS нужен для Hysteria 2?
Достаточно VPS с 512 МБ ОЗУ и одним ядром CPU, работающим на Debian/Ubuntu. Объём диска — от 5 ГБ. Важно наличие открытого UDP-порта (обычно 443) и возможность привязать домен.
Что делать, если после обновления PassWall пропал Hysteria 2?
Проверьте раздел "Компоненты" в PassWall — возможно, sing-box или сам Hysteria 2 не обновились. Нажмите "Обновить" или переустановите пакеты вручную через opkg.
Влияет ли обфускация Salamander на скорость?
Да, обфускация может незначительно снижать скорость из-за дополнительной обработки пакетов. Включайте её только если без неё трафик блокируется.
Как проверить, что Hysteria 2 работает корректно?
На сервере выполните systemctl status hysteria-server.service — статус должен быть active (running). На клиенте в PassWall проверьте логи подключения и откройте любой сайт — если он загружается, соединение работает.
Можно ли использовать Hysteria 2 на роутерах с малым объёмом памяти?
Да, Hysteria 2 относительно лёгкий, но для OpenWrt требуется не менее 128 МБ ОЗУ и 16 МБ flash. Если памяти мало, возможны проблемы с установкой дополнительных пакетов.
Что такое проброс портов (port hopping) и зачем он нужен?
Это техника, при которой клиент подключается к разным портам сервера, чтобы избежать блокировки по одному порту. Настраивается на сервере через iptables, а на клиенте указывается список портов.