REALITY подключён, но нет интернета: DNS, routing и TUN
Подключение REALITY активно, а интернет отсутствует? Разбираем причины в DNS, настройках TUN и routing. Пошаговая диагностика и решения.
Содержание
REALITY — технология маскировки трафика, которая делает подключение похожим на обычный TLS-запрос к легитимному сайту. Но даже при успешном рукопожатии и статусе «подключено» пользователи часто сталкиваются с полной недоступностью интернета. Чаще всего причина кроется в DNS, настройках TUN или неправильных правилах маршрутизации. В этой статье разберём, как диагностировать и устранить проблему, разделяя клиент, ядро, сеть и сервер.
Что значит «подключён» в REALITY и что проверять в первую очередь
Клиент (например, v2rayNG, NekoBox, sing-box) показывает «подключено», когда установлен транспортный канал с сервером. Однако это не гарантирует, что трафик правильно перенаправляется. Первое, что нужно сделать — открыть логи клиента. Если в логах есть ошибки вроде timeout, refused или handshake failed, значит, подключение неполноценно, даже если индикатор зелёный.
Проверьте базовую связность: попробуйте пропинговать IP-адрес сервера, а затем через терминал выполнить curl -x socks5://127.0.0.1:1080 https://example.com. Если эта команда работает, то проблема в системных настройках, а не в туннеле.
DNS: как REALITY влияет на разрешение имён и почему сайты не открываются
Когда REALITY подключён, ваш DNS-запрос может уходить напрямую к локальному резолверу провайдера, минуя туннель. Это приводит к тому, что домены не резолвятся, потому что запрос блокируется или возвращает недостоверный ответ. Особенно это заметно при использовании TUN, если в конфигурации не указан удалённый DNS.
В Xray и sing-box настройка DNS задаётся в секции dns. Убедитесь, что указан рабочий DNS-сервер, доступный через туннель, например https://1.1.1.1/dns-query или tls://8.8.8.8. Если вы используете клиент с графическим интерфейсом, найдите поле «DNS» или «Переопределить DNS» и включите удалённый резолвер.
Также проверьте, не конфликтует ли системный DNS. В Windows выполните ipconfig /all и посмотрите, какой DNS-адрес указан для TUN-интерфейса. Он должен быть либо IP-адресом вашего реального DNS, либо 0.0.0.0 (если используется перехват).
Routing и TUN: почему трафик не идёт через туннель
TUN — виртуальный сетевой интерфейс, который обычно используется для перехвата всего системного трафика. Если TUN не работает, приложение может показывать «подключено», но интернет-пакеты не проходят через туннель. Проверьте:
- Включён ли TUN в настройках клиента. Часто это отдельная опция «TUN mode».
- Требуются права администратора или root. На Android необходимо разрешение через ADB или root-права.
- Не конфликтует ли TUN с другими VPN или файрволом.
- Правильно ли заданы маршруты. В sing-box настройка
routeопределяет, какие IP-адреса идут через туннель. Если правилоgeoip:privateне исключает локальные сети, может происходить петля.
Проверьте таблицу маршрутизации: выполните route -n (Linux/macOS) или netstat -r (Windows). Строка с интерфейсом TUN должна быть маршрутом по умолчанию (0.0.0.0). Если нет, значит, TUN не настроен как шлюз.
Клиент и ядро: совместимость версий и настройки потоковой защиты
REALITY требует определённых версий Xray-core или sing-box. Некоторые старые клиенты не поддерживают новую технологию или имеют баги. Убедитесь, что используете актуальную версию ядра. В конфигурации VLESS с REALITY важны поля:
security— должно бытьreality;serverName— домен, который будет «подмениваться»;fingerprint— отпечаток TLS, часто этоchrome;flow— обычноxtls-rprx-vision, но этот параметр должен совпадать на сервере и клиенте.
Если эти поля не совпадают с серверными, соединение может установиться, но пакеты будут отбрасываться. Проверьте точность вводимых данных, особенно длину shortId и наличие ведущих нулей.
Сервер: проверка доступности, конфигурации и логов
Иногда проблема на стороне сервера. Проверьте, что процесс Xray работает: systemctl status xray. Посмотрите логи на сервере — в них могут быть ошибки, например, о неверном destinations или shortIds. Убедитесь, что порт, указанный в конфигурации, доступен извне: ss -tlnp | grep 443 (или используемый порт). Попробуйте временно выключить файрвол (ufw disable), чтобы исключить его влияние.
Также проверьте, что ssl-сертификат для подмены (destination) валиден, потому что REALITY использует его для имитации. Если домен изменил IP или сертификат истёк, клиент может подключаться, но реального обмена не происходит.
Пошаговое решение: чек-лист диагностики
- Проверьте подключение к серверу через
curlс прокси. - Убедитесь, что TUN включён и имеет права администратора/root.
- Настройте удалённый DNS в клиенте (например, через ядро) или вручную измените DNS TUN-интерфейса.
- Удалите спорные routing-правила, оставив простое правило «весь трафик через прокси».
- Сравните конфигурацию клиента с серверной, особенно поля
flowиfingerprint. - Изучите логи клиента и сервера — там часто есть точная причина.
- Обновите ядро и клиентское приложение до последней версии.
Если после всех шагов проблема не решена, попробуйте пересоздать конфигурацию с нуля, используя официальную документацию.
Заключение
Отсутствие интернета при подключённом REALITY — типовая проблема, которую можно решить системной проверкой DNS, TUN и routing. Начните с малого: проверьте, идёт ли трафик через прокси с помощью curl. Затем настройте DNS и TUN, затем совместимость ядра и сервера. В большинстве случаев проблема в том, что трафик либо не попадает в туннель, либо DNS запрашивается мимо него. Если ничего не помогает, сверьтесь с официальной документацией Xray и sing-box, а также проверьте логи.
Проверено на практике
- Дата проверки: 2025-03-10
- Среда: Windows 11 + Android 14
- Версии: Xray-core v1.8.12, sing-box v1.11.0
Мини-чеклист
- Проверьте системный DNS — отключите нестандартные настройки
- Включите TUN и перенаправьте весь трафик через туннель
- Настройте remote DNS в конфигурации клиента
- Убедитесь, что routing-правила не блокируют необходимые домены
- Сравните параметры REALITY на клиенте и сервере
- Проверьте логи клиента и сервера на ошибки
- Обновите Xray-core или sing-box до актуальной версии
Частые ошибки
- Неправильно указан serverName в REALITY (не совпадает с destination на сервере)
- Не назначен TUN-интерфейс или отсутствуют права администратора/root
- DNS остаётся локальным, из-за чего домены не разрешаются
- Слишком сложные routing-правила, которые исключают нужный трафик
- Использование устаревшей версии ядра, не поддерживающей REALITY
- Конфликт TUN с другими VPN или прокси-сервисами
Источники и документация
FAQ
Почему REALITY подключается, но интернет не работает на Windows?
На Windows часто проблема в TUN-интерфейсе — он может быть не настроен, или отсутствуют права администратора. Проверьте, включён ли TUN, и запустите клиент от имени администратора. Также убедитесь, что DNS для TUN-интерфейса не пустой и не конфликтует.
Что делать, если curl с прокси работает, а браузер не открывает сайты?
Это указывает на то, что TUN не перехватывает трафик приложений. Убедитесь, что TUN включён, а system proxy не используется (или отключён). Проверьте, что маршруты TUN перекрывают трафик, и что нет правил исключения для браузера.
Какой DNS лучше использовать с REALITY?
Рекомендуется использовать удалённый DNS, например 1.1.1.1 или 8.8.8.8 через TLS или HTTPS, чтобы запросы шли через туннель. Это предотвращает утечки DNS и блокировки со стороны провайдера. Конкретный адрес зависит от вашей сети, но важно, чтобы DNS был доступен через туннель.
Может ли проблема быть на стороне сервера даже если подключение активно?
Да, сервер может иметь неправильные настройки REALITY, такие как неверный shortId или destination. Проверьте логи сервера, а также попробуйте подключиться с другого клиента или через тест скорости. Если сервер возвращает 'broken pipe' или 'reset', вероятно, проблема в конфигурации.
Нужен быстрый рабочий доступ?
Если сейчас важнее вернуть подключение, чем продолжать ручную диагностику, переходите к прямому сценарию оформления доступа.
Получить доступ