Раздельное туннелирование в HAPP: как направить только нужные приложения через VPN

Настройка раздельного туннелирования в HAPP: правила маршрутизации, Per-App Proxy, PROCESS-NAME, GeoIP и GeoSite. Сценарии для Android, iOS, Windows, macOS и Linux.

Что такое раздельное туннелирование и зачем оно нужно

Раздельное туннелирование (split tunneling) — это функция, которая позволяет делить интернет-трафик на два потока: один уходит через VPN-сервер, другой — напрямую через обычное соединение. В клиенте HAPP эта возможность реализована через гибкие правила маршрутизации, которые работают на основе ядра Xray.

Основная цель — не отправлять весь трафик через туннель, а выбирать, что именно должно быть защищено или скрыто. Это решает сразу несколько задач:

  • Доступ к заблокированным ресурсам. Сайты и сервисы, недоступные напрямую, открываются через VPN.
  • Сохранение локального доступа. Роутер, принтер, устройства умного дома и локальные серверы остаются доступными, даже когда VPN включён.
  • Экономия трафика. Если через сервер идёт только часть данных, расход трафика и нагрузка на канал снижаются.
  • Снижение задержек в играх. Игровой трафик можно направить напрямую, а голосовой чат — через VPN.
  • Совместимость с банковскими и государственными сервисами. Многие банки и госуслуги блокируют вход с «зарубежных» IP-адресов, поэтому их исключают из туннеля.

Раздельное туннелирование — это компромисс между приватностью и удобством. Часть трафика остаётся видимой вашей сети, но для банков и локальных сервисов это скорее плюс, чем минус.

Как HAPP обрабатывает трафик: порядок правил

HAPP использует ядро Xray, которое обрабатывает трафик по правилам маршрутизации. Правила проверяются строго сверху вниз, и как только одно из них совпадает, применяется соответствующее действие, а проверка остальных прекращается. Это ключевой момент: порядок правил определяет, какой маршрут получит трафик.

Каждое правило состоит из трёх частей:

  • Тип — что именно проверяется: IP-адрес, домен, геолокация или имя приложения.
  • Значение — конкретное значение для сопоставления, например youtube.com или ru.
  • Действие — что сделать с трафиком: PROXY (отправить через VPN), DIRECT (отправить напрямую) или BLOCK (заблокировать).

Из-за последовательной проверки важно размещать более конкретные правила выше общих. Если общее правило (например, «весь трафик через VPN») стоит выше конкретного исключения, исключение никогда не сработает. Поэтому при настройке сначала добавляют исключения, а затем — правило по умолчанию.

Типы правил в HAPP: домены, GeoIP, GeoSite и приложения

HAPP поддерживает несколько типов правил, каждый из которых предназначен для своей задачи:

  • DOMAIN / DOMAIN-SUFFIX — правило для конкретного домена или его части. Например, example.com или youtube.com. Подходит для небольших сайтов, которые используют один-два домена.
  • GEOSITE — правило для крупных сервисов, которые используют множество скрытых технических доменов. Например, YouTube, Instagram, Netflix. Вместо ручного добавления десятков доменов вы указываете одно имя, и HAPP подставляет все нужные домены из встроенной базы.
  • GEOIP — правило для диапазонов IP-адресов, сгруппированных по странам или сервисам. Например, ru для всех российских IP-адресов.
  • PROCESS-NAME — правило для настольных приложений по имени исполняемого файла. Например, Discord.exe или telegram.exe.
  • Per-App Proxy — режим на мобильных устройствах, где можно выбрать приложения из списка установленных.

Базы GeoIP и GeoSite встроены в HAPP и обновляются автоматически, поэтому вам не нужно вручную добавлять тысячи IP-адресов. Для крупных платформ используйте GEOSITE, для небольших сайтов — DOMAIN.

Настройка на Android и iOS: Per-App Proxy и ограничения

На Android и iOS раздельное туннелирование реализовано по-разному.

Android

На Android доступен режим Per-App Proxy. В настройках маршрутизации вы выбираете режим:

  • Только выбранные через сервер — весь трафик идёт напрямую, кроме отмеченных приложений.
  • Все через сервер, кроме выбранных — весь трафик идёт через VPN, кроме отмеченных.

Система предоставляет список установленных приложений, и вы отмечаете нужные. Это удобно, когда нужно исключить, например, банковское приложение или игру.

iOS

На iOS пофайлового выбора приложений нет — Apple не даёт приложениям видеть чужие процессы. Поэтому разделение трафика на iPhone и iPad выполняется только правилами по доменам и IP-адресам. Практически это даёт тот же результат: если вы хотите, чтобы банковское приложение работало напрямую, добавьте домены банка в правило DIRECT.

Важно: на iOS недоступны правила PROCESS-NAME и Per-App Proxy, поэтому все настройки маршрутизации сводятся к доменам и IP.

Настройка на Windows, macOS и Linux: PROCESS-NAME

На десктопных платформах — Windows, macOS и Linux — раздельное туннелирование настраивается через правила PROCESS-NAME. Вы указываете точное имя исполняемого файла приложения, и HAPP направляет его трафик по нужному маршруту.

Пример для Windows:

  • Откройте правила маршрутизации.
  • Добавьте правило типа PROCESS-NAME.
  • Введите имя файла, например Discord.exe.
  • Установите действие PROXY или DIRECT.
  • Переместите правило в нужное место списка.

На macOS и Linux принцип тот же, но имена файлов могут отличаться. Например, на Linux это может быть discord или telegram-desktop.

Важно: некоторые приложения используют системные компоненты (WebView, push-сервисы), которые считаются отдельными процессами. В таких случаях одного исключения приложения может быть недостаточно — добавьте также правила по доменам сервиса.

Типичные сценарии: от простых до продвинутых

Рассмотрим несколько практических сценариев, которые покрывают большинство потребностей.

Сценарий 1. Весь интернет через VPN, кроме российских сайтов

Это полезно, если VPN должен быть включён постоянно, но российские сайты и приложения должны открываться напрямую (например, для банков или госуслуг).

  • Установите правило по умолчанию PROXY.
  • Добавьте блок правил с условиями GEOIP ru и GEOSITE ru.
  • Установите для этого блока действие DIRECT.
  • Переместите блок вверх списка.

Сценарий 2. Прямой доступ ко всему, кроме заблокированных сервисов

Подходит, когда VPN нужен только для YouTube, Instagram или Netflix.

  • Установите правило по умолчанию DIRECT.
  • Добавьте блок правил с GEOSITE youtube, instagram, netflix.
  • Установите действие PROXY.

Сценарий 3. Только выбранные сайты через VPN

  • Установите правило по умолчанию DIRECT.
  • Добавьте правила DOMAIN для нужных сайтов, например chatgpt.com, x.com.
  • Установите действие PROXY.

Сценарий 4. Discord через VPN, игра напрямую

  • Добавьте правило PROCESS-NAME для Discord.exe с действием PROXY.
  • Добавьте правило PROCESS-NAME для игры, например EscapeFromTarkov.exe, с действием DIRECT.
  • Убедитесь, что правила расположены в правильном порядке.

Сценарий 5. Локальная сеть напрямую

  • В настройках включите опцию «Обход системного прокси для локальных адресов».
  • Это сохранит доступ к роутеру, принтеру и устройствам умного дома.

Расширенные настройки: разные VPN-локации для разных сайтов

Стандартные правила позволяют направлять трафик либо через VPN, либо напрямую. Но что если нужно, чтобы сайт A шёл через один VPN-сервер, а сайт B — через другой? Для этого потребуются расширенные профили маршрутизации JSON.

В HAPP можно импортировать JSON-профили, которые описывают несколько исходящих соединений и правила их использования. Это продвинутый уровень настройки, требующий понимания структуры конфигурации Xray.

Пример: вы хотите, чтобы YouTube открывался через сервер в Нидерландах, а Netflix — через сервер в США. В профиле нужно:

  • Создать два исходящих соединения с разными серверами.
  • Добавить правила, которые сопоставляют домены YouTube с первым исходящим, а Netflix — со вторым.
  • Импортировать профиль в HAPP.

Такая настройка доступна только через JSON, и она не для новичков. Но она даёт максимальную гибкость.

Диагностика: почему правила не работают

Если раздельное туннелирование не даёт ожидаемого результата, причины обычно следующие:

  • Неправильный порядок правил. HAPP проверяет правила сверху вниз и останавливается на первом совпадении. Если общее правило стоит выше конкретного, конкретное не сработает.
  • Скрытые домены. Многие сервисы (видео, изображения, CDN) используют дополнительные домены, которые не попадают в простое правило DOMAIN. Замените DOMAIN на GEOSITE.
  • Системные компоненты. Некоторые приложения используют WebView или push-сервисы, которые считаются отдельными процессами. Добавьте правила по доменам.
  • Не переподключились. Правила применяются только после переподключения к VPN. На активное соединение они не действуют.
  • Проблемы с сервером. Если сервер не работает, весь трафик может идти напрямую или вообще не идти. Проверьте работоспособность сервера.

Для точной диагностики откройте логи HAPP и посмотрите, каким исходящим ушло соединение: direct или proxy. Это надёжнее, чем гадать по поведению сайта.

Вопросы безопасности и приватности

Раздельное туннелирование — это компромисс. Когда часть трафика идёт напрямую, она видна вашей сети (например, Wi-Fi роутеру или провайдеру). Для банковских операций это даже плюс, так как снижается риск блокировки из-за «зарубежного» IP. Но для задач, требующих максимальной приватности, лучше направлять весь трафик через VPN.

Также важно помнить о DNS-запросах. Если DNS не настроен внутри приложения, запросы могут уходить напрямую, раскрывая посещаемые сайты. В HAPP есть встроенные настройки DNS, включая DoH (DNS over HTTPS), которые стоит включить для защиты.

Ещё один момент — Kill Switch. Если VPN-соединение оборвётся, Kill Switch заблокирует весь трафик, чтобы он не ушёл напрямую. Это особенно важно, если вы используете VPN для обхода блокировок.

Частые ошибки и советы по оптимальной настройке

Начинающим пользователям стоит придерживаться простых правил:

  • Начинайте с простого. Если вам нужен VPN только для пары сайтов, используйте правило по умолчанию DIRECT и добавьте исключения PROXY.
  • Если нужен постоянный VPN — установите правило по умолчанию PROXY и добавьте исключения DIRECT для российских сервисов и локальной сети.
  • Порядок правил решает всё. Всегда размещайте исключения выше общего правила.
  • Используйте GEOSITE для крупных сервисов. Это избавит от проблем со скрытыми доменами.
  • Не забывайте про локальную сеть. Включите обход для локальных адресов, чтобы не потерять доступ к роутеру и принтеру.
  • Переподключайтесь после изменения правил. Иначе изменения не применятся.

Если вы используете банковские приложения, оставляйте их напрямую — так они не будут блокировать вход из-за «зарубежного» IP. Игры с российскими серверами тоже лучше направлять напрямую для снижения пинга.

Вопросы и ответы

Чем раздельное туннелирование отличается от маршрутизации по доменам?

Раздельное туннелирование делит трафик по приложениям, а маршрутизация — по доменам и IP-адресам. На Android доступны оба способа, на iOS — только правила по доменам. На десктопе можно использовать PROCESS-NAME для приложений и DOMAIN/GEOSITE для сайтов.

Есть ли раздельное туннелирование на iPhone?

Пофайлового выбора приложений на iOS нет — это ограничение системы. Тот же результат достигается правилами по доменам конкретного сервиса. Например, чтобы банковское приложение работало напрямую, добавьте его домены в правило DIRECT.

Почему после правила сайт всё равно открывается через сервер?

Скорее всего, сработало более общее правило выше по списку, либо адрес разрешился в IP, попавший под другое правило. Проверьте порядок правил и используйте GEOSITE для крупных сервисов, так как они используют множество скрытых доменов.

Раздельное туннелирование замедляет соединение?

Нет. Часть трафика просто не идёт через сервер, поэтому нагрузка на канал даже меньше. Однако если через VPN идёт большой объём данных, скорость может быть ниже, чем при прямом соединении, из-за особенностей сервера.

Почему после включения режима перестал открываться сайт?

Скорее всего, выбран режим «только выбранные через сервер», а нужный домен в список не попал. Переключитесь на «все через сервер, кроме выбранных» или добавьте недостающий домен в правила.

Как понять, что именно сработало: direct или proxy?

Откройте логи HAPP и посмотрите, каким исходящим ушло соединение: direct или proxy. Это точнее, чем гадать по поведению сайта. Логи показывают, какое правило сработало для каждого соединения.

Сохраняются ли правила после обновления приложения?

Да, правила хранятся в профиле. Но при удалении и повторной установке Happ профиль придётся импортировать заново — ссылка-подписка восстанавливает всё за секунду.