Hysteria2 в мобильной сети: как проверить доступность UDP
Hysteria2 опирается на UDP, и в мобильной сети он часто не работает из-за настроек APN, экономии батареи или блокировок. Разбираем, как проверить доступность UDP по шагам и что делать, если проблема осталась.
Содержание
Hysteria2 использует UDP для передачи трафика, и в мобильной сети это часто становится проблемой: подключение может устанавливаться, но данные не идут, либо клиент вообще не может соединиться с сервером. Если вы пользуетесь hysteria 2 vpn android и замечаете, что после перехода на мобильный интернет все перестает работать, — вы не одиноки. Но в большинстве случаев проблема решается без смены сервера и без обхода блокировок.
Ниже — практический чек-лист, который поможет проверить доступность UDP в вашей мобильной сети и вернуть Hysteria2 к жизни. Мы не будем рассматривать обход блокировок, а сосредоточимся на диагностике и настройке, которую можно выполнить за 10–15 минут.
1. Смените сеть и проверьте, повторяется ли проблема
Первый шаг — понять, где именно возникает сбой. Если Hysteria2 работает в Wi-Fi, но не работает в мобильной сети, вероятно, дело в самом мобильном операторе или в настройках телефона. Если проблема воспроизводится и в Wi-Fi, то причина скорее в конфигурации клиента или сервера, а не в UDP.
Выключите Wi-Fi и включите мобильный интернет. Подключитесь к серверу Hysteria2. Если подключение устанавливается, но нет трафика, перейдите в другую сеть (попросите друга раздать точку доступа или переключитесь на 3G/4G/5G, если есть выбор). Запишите результат. Это поможет сузить круг поиска.
2. Проверьте и исправьте APN
APN (Access Point Name) — это настройки точки доступа, которые оператор передает на телефон. Некорректный APN может ограничивать типы трафика, включая UDP. На Android APN находится в разделе «Настройки» → «Сеть и интернет» → «Мобильная сеть» → «Точки доступа». На iOS — «Настройки» → «Сотовая связь» → «Сотовая сеть передачи данных».
Сравните текущие параметры с теми, что указаны на сайте оператора. Обратите внимание на поле «Тип APN»: там должно быть что-то вроде default,supl или default,supl,mms. Если вы видите default,supl,hipri или другие модификации, попробуйте изменить на стандартное значение. Также проверьте, что поле «Протокол» (APN protocol) не установлено в IPv6-only — иногда Hysteria2 работает только на IPv4, либо наоборот.
После изменения APN перезагрузите телефон или переключите режим полета на 10 секунд. Затем проверьте Hysteria2 снова.
3. Отключите экономию батареи и фоновые ограничения
Android и iOS агрессивно экономят батарею, и VPN-клиенты часто попадают под ограничения. Hysteria2 работает через UDP, и если система приостанавливает фоновую активность приложения, соединение может «засыпать» или обрываться. Вам нужно убедиться, что ваш VPN-клиент не оптимизируется системой.
На Android: зайдите в «Настройки» → «Приложения» → найдите ваш клиент (например, v2rayNG, sing-box или hysteria) → «Батарея» → выберите «Без ограничений». Также в настройках системы отключите «Фоновая активность» для этого приложения, если такая опция есть. На iOS: «Настройки» → «VPN и управление устройством» — там обычно нет отдельных ограничений, но проверьте, что в «Настройках» → «Основные» → «Обновление контента» для VPN-приложения разрешено обновление в фоне.
Если этого недостаточно, попробуйте в настройках клиента включить опцию «keep alive» или «heartbeat»: некоторые клиенты умеют отправлять служебные UDP-пакеты, чтобы соединение не простаивало.
4. Проверьте доступность UDP напрямую
Чтобы убедиться, что UDP действительно блокируется или фильтруется, стоит выполнить тест на самом устройстве. Есть несколько способов, но самый простой — использовать приложение для проверки UDP, например UDP Test или PingTools. Однако такие приложения часто не показывают полную картину. Альтернативный вариант — использовать утилиту nc (netcat) через терминал (Termux на Android), если у вас есть root или ADB.
Пример проверки на Linux или в Termux:
nc -u -v your-server.com 12345Замените your-server.com на реальный адрес вашего сервера, а 12345 — на порт, который слушает Hysteria2. Если UDP не фильтруется, nc покажет соединение установленным (или просто не выдаст ошибку). Если пакеты теряются, вы увидите таймаут.
Но имейте в виду: такая проверка может не сработать, если сервер не отвечает на UDP-пакеты, не относящиеся к протоколу Hysteria2. Более точный способ — использовать сам клиент Hysteria2 с включенным подробным логированием. В настройках клиента (например, в конфигурации sing-box) включите debug-логи и посмотрите, появляются ли ошибки вида send: connection refused или write: no route to host. Это прямо укажет на проблему с UDP.
5. Временный запуск в режиме TCP
Если вы используете Hysteria2, то знаете, что базовый протокол работает поверх UDP, но есть возможность использовать транспорт tcp в настройках клиента и сервера (если сервер это поддерживает). Это не полноценная замена, но позволяет проверить, работает ли вообще соединение. Если при переключении на TCP все начинает работать, значит проблема именно в доступе к UDP.
Обратите внимание: не все серверные конфигурации Hysteria2 разрешают TCP fallback. Если у вас нет доступа к серверу, этот шаг пропустите и переходите к следующему.
6. Подготовьте запасной протокол
Если UDP в вашей мобильной сети стабильно недоступен, а Hysteria2 — не вариант, используйте запасной протокол, который работает поверх TCP, например VLESS+WS или Shadowsocks. Это не значит, что Hysteria2 плох — просто некоторые операторы блокируют UDP для абонентов с обычными тарифами. Настройте альтернативное подключение в том же клиенте, чтобы быстро переключаться при необходимости. Подробнее о замере скорости и выборе протокола мы рассказывали в статье Замер скорости и bandwidth.
Также не забывайте проверять актуальность вашей версии клиента: иногда ошибки UDP возникают из-за устаревшей сборки. Сверьтесь с текущим релизом, но не устанавливайте бету без необходимости.
7. Если ничего не помогло
Если вы перепробовали все шаги, но Hysteria2 по-прежнему не работает в мобильной сети, возможно, оператор блокирует UDP на уровне всей сети. В этом случае даже смена APN не поможет. Попробуйте выполнить те же проверки в другой сети (например, в роуминге или с SIM-картой другого оператора). Если проблема исчезнет — дело в конкретном операторе. Также проверьте, не включена ли на телефоне функция «Частная DNS» (Private DNS), которая иногда конфликтует с UDP. Переключите ее в режим «Авто» или «Отключено».
Если у вас по-прежнему возникают ошибки аутентификации, возможно, проблема в конфигурации клиента — смотрите нашу инструкцию Ошибка auth failed. А если вам нужно сбросить настройки и начать заново, вернитесь к главной странице и выберите подходящий раздел.
Мини-чеклист
- Проверьте работу Hysteria2 в Wi-Fi и в мобильной сети, чтобы локализовать проблему
- Сравните APN телефона с настройками оператора, измените тип APN на стандартный
- Отключите экономию батареи и фоновые ограничения для VPN-клиента
- Выполните UDP-тест с помощью netcat или аналогичной утилиты
- Включите подробные логи в клиенте и посмотрите сообщения об ошибках UDP
- Попробуйте временно переключить транспорт на TCP, если сервер это поддерживает
- Настройте запасной протокол на случай блокировки UDP оператором
Частые ошибки
- Сразу считать, что блокируется конкретный порт или IP, без проверки сети и APN
- Игнорировать экономию батареи: на Android клиент может «засыпать» и терять UDP-соединение
- Использовать неправильный APN-тип, например, добавлять hipri, который может менять маршрутизацию пакетов
- Проверять UDP с помощью обычного ping, так как ping использует ICMP, а не UDP
- Забывать о Private DNS: он может отправлять DNS-запросы по UDP, но блокироваться вместе с остальным UDP-трафиком
- Не подготовить запасной протокол и остаться без связи, если UDP недоступен
FAQ
Почему Hysteria2 не работает на Android в мобильной сети, хотя в Wi-Fi все нормально?
Скорее всего, оператор блокирует или ограничивает UDP в мобильной сети. Это может быть связано с особенностями APN, тарифа или политикой оператора. Начните с проверки APN и экономии батареи, затем протестируйте UDP напрямую.
Как проверить, доступен ли UDP в моей мобильной сети?
Самый простой способ — использовать утилиту netcat через Termux на Android или специальное приложение, которое поддерживает UDP-тесты. Также можно включить подробные логи в Hysteria2-клиенте и посмотреть, появляются ли ошибки отправки/получения UDP.
Могу ли я заставить Hysteria2 работать через TCP вместо UDP?
В некоторых конфигурациях Hysteria2 можно изменить транспорт на TCP, но это должно поддерживаться и сервером. Если сервер не настроен на TCP, этот вариант не сработает. Лучше настроить запасной протокол, например VLESS+WS или Shadowsocks.
Что делать, если все проверки показали, что UDP блокируется оператором?
Используйте запасной протокол, работающий поверх TCP. Также попробуйте обратиться к оператору с просьбой открыть UDP, но чаще всего это бесполезно. Переключение на другого оператора или использование роуминга может решить проблему.
Нужен быстрый рабочий доступ?
Если сейчас важнее вернуть подключение, чем продолжать ручную диагностику, переходите к прямому сценарию оформления доступа.
Получить доступ