Port hopping: что это
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
Port hopping, или мультипорт, — режим Hysteria2 в Happ, при котором сервер слушает несколько портов или диапазон портов, а клиент подключается к одному из них и периодически переключается на другой с заданным интервалом.
В обычной конфигурации Hysteria2 указан один порт сервера, но протокол поддерживает и список портов вместе с диапазонами, например 1234,5000-6000,7044. При таком мультипорте клиент случайно выбирает порт для первого подключения, а параметр mportHopInt в разделе udphop задаёт интервал переключения на другой порт. На стороне сервера для этого весь диапазон обычно перенаправляют на один настоящий порт Hysteria2 средствами межсетевого экрана. Без такой настройки сервера мультипорт работать не будет, даже если он правильно указан в ссылке клиента.
Port hopping — режим Hysteria2, в котором сервер слушает несколько портов или диапазон портов вместо одного, а клиент выбирает порт для подключения и периодически переключается на другой с заданным интервалом mportHopInt.
Что такое port hopping
Обычная конфигурация Hysteria2 указывает один порт сервера. Port hopping, который в документации Happ также называют мультипортом, расширяет эту схему: сервер слушает список портов или целый диапазон, а клиент подключается к одному из них и время от времени переключается на другой.
Формат адреса поддерживает три варианта записи: список через запятую (1234,5678,9012), диапазон через дефис (20000-50000) и их сочетание (1234,5000-6000,7044,8000-9000). Количество указываемых портов документация не ограничивает.
Периодичность переключения задаёт отдельный параметр — mportHopInt, внутри раздела udphop конфигурации. Он определяет, сколько секунд клиент держит соединение на одном порту, прежде чем перейти на следующий.
Как это выглядит в Happ
В ссылке hysteria2:// или hy2:// мультипорт указывается прямо в адресе сервера вместо одного номера порта: Happ разбирает такую строку и передаёт её ядру Xray-core вместе с остальными параметрами Hysteria2.
Со стороны сервера мультипорт требует отдельной настройки: сама служба Hysteria2 обычно слушает один порт, а весь заявленный диапазон перенаправляется на него правилами межсетевого экрана. Если администратор не настроил такую переадресацию, часть портов из списка останется недоступной, и клиент будет успешно подключаться только к тем, что действительно проброшены.
Ключ доступа при этом не меняется: один и тот же пароль работает независимо от того, к какому порту диапазона обратился клиент в конкретный момент.
Пример
Условная ссылка Hysteria2 с диапазоном портов вместо одного значения:
hysteria2://password@example.com:5000-6000/?sni=example.com#ExampleПример настройки интервала переключения на стороне конфигурации сервера:
{
"udphop": {
"port": "1234,5000-6000",
"interval": "30"
}
}Здесь interval — это и есть mportHopInt: сервер укажет клиенту менять порт каждые 30 секунд.
Отличия от похожих терминов
| Термин | Что это | Отличие от port hopping |
|---|---|---|
| Обфускация Salamander | обработка пакетов паролем | меняет формат пакетов, а не порт подключения |
| TLS-фрагментация | разбиение TLS-рукопожатия | относится к протоколам на TCP, а не к UDP-портам Hysteria2 |
| Обычный порт (без hopping) | один фиксированный порт в ссылке | клиент всегда подключается к одному и тому же порту |
| Ключ доступа | пароль или UUID для входа | не связан с тем, к какому порту идёт подключение |
Port hopping — настройка именно транспортного уровня Hysteria2. Она не заменяет ни ключ доступа, ни обфускацию, а работает рядом с ними, если сервер поддерживает все эти параметры одновременно.
Главное
- Port hopping (мультипорт) задаётся списком портов и диапазонов в адресе сервера Hysteria2, например example.com:1234,5000-6000.
- Параметр mportHopInt в разделе udphop определяет интервал в секундах, через который клиент переключается на другой порт.
- Для работы мультипорта сервер должен перенаправлять весь указанный диапазон портов на один настоящий порт Hysteria2.
- Количество портов в списке не ограничено документацией Happ, но большой диапазон нагружает правила межсетевого экрана сервера.
- Port hopping — параметр именно Hysteria2; у протоколов на TCP, например VLESS, аналогичной функции нет.
Частые вопросы
Как задать несколько портов для Hysteria2 в Happ?
После адреса сервера вместо одного порта укажите список через запятую или диапазон через дефис, например example.com:1234,5000-6000,7044. Happ передаст эту строку ядру Xray-core, а Hysteria2 сам выберет один из портов для первого подключения. Формат совпадает и для одиночных портов, и для диапазонов, их можно комбинировать в одной ссылке.
Что произойдёт, если не указать mportHopInt при мультипорте?
Клиент всё равно подключится к одному из перечисленных портов, но без заданного интервала переключение между портами не будет происходить по расписанию. mportHopInt задаётся в секундах внутри раздела udphop конфигурации и относится именно к периодическому переключению, а не к самому факту поддержки нескольких портов.
Почему мультипорт не работает, хотя в ссылке указан правильный диапазон?
Скорее всего, сервер не настроен принимать подключения на всех портах диапазона. Обычно администратор перенаправляет входящий трафик со всего диапазона на один настоящий порт Hysteria2 правилами межсетевого экрана. Если такой переадресации нет, сервер отвечает только на порт, где реально запущена служба, а остальные порты из диапазона остаются недоступны.
Есть ли ограничение на количество портов в мультипорте?
Документация Happ отдельно указывает, что количество портов не ограничено. На практике имеет смысл ориентироваться на разумный диапазон: чем он шире, тем больше правил переадресации нужно настроить на сервере и тем заметнее нагрузка на межсетевой экран при большом числе одновременных подключений.
Можно ли использовать port hopping вместе с обфускацией Salamander?
Да, эти настройки Hysteria2 независимы друг от друга: мультипорт определяет, к какому порту подключается клиент, а [обфускация Salamander](/glossary/obfs-salamander) — как обрабатываются сами пакеты после подключения. В ссылке они указываются одновременно, если сервер поддерживает оба режима.
Как понять, что сервер Hysteria2 вообще поддерживает мультипорт?
Признак — сама ссылка или инструкция от провайдера с несколькими портами или диапазоном вместо одного числа после адреса сервера. Если провайдер выдал ссылку с одним портом, добавлять диапазон самостоятельно бессмысленно: сервер должен заранее принимать соединения на этих портах, а это настраивается только на его стороне.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: Hysteria 2 — обращение 28 сентября 2026
- Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026