Правила маршрутизации в Happ
Что вообще такое правило маршрутизации в Happ
Правило маршрутизации — это условие вида «если трафик идёт к такому-то домену или адресу, сделай с ним конкретное действие», применяемое уже внутри активного VPN-соединения. В отличие от раздельного туннелирования, которое работает на уровне целого приложения, правила маршрутизации работают на уровне отдельных сайтов и сервисов внутри одного и того же приложения — например, браузера.
Условие в правиле может опираться на доменное имя, диапазон IP-адресов или на geoip-базу, которая определяет принадлежность адреса к конкретной стране. Это позволяет, например, направить весь трафик к российским сайтам напрямую, а к остальным — через выбранный сервер, не переключая ничего вручную при каждом переходе между сайтами.
Такая гибкость особенно полезна, когда часть сервисов работает быстрее и стабильнее без VPN, а часть требует туннеля для доступа. Вместо ручного включения и выключения VPN по несколько раз за сессию правила маршрутизации делают это автоматически на основе заранее заданных условий.
Отличие от раздельного туннелирования стоит запомнить чётко: там вы делите трафик по приложению целиком, здесь — по конкретному адресу внутри одного и того же приложения. Один и тот же браузер может при этом открывать одни сайты напрямую, а другие — через VPN, в зависимости от того, под какое правило подпадает конкретный домен.
Три действия: прямое, через прокси, блокировка
Каждое правило маршрутизации сводится к одному из трёх действий. «Прямое» отправляет трафик в обход VPN, напрямую через ваше обычное подключение к интернету — используется для локальных сервисов, которым не нужен и часто мешает VPN-адрес.
«Через прокси» — противоположное действие, принудительно заворачивающее трафик в туннель, даже если по умолчанию для остального интернета выбран другой маршрут. Это удобно для точечного доступа к конкретному заблокированному сервису без необходимости включать VPN на весь остальной трафик.
«Блокировка» останавливает трафик к указанному адресу вообще, не выпуская его ни напрямую, ни через VPN. Реже используется в повседневных сценариях, но полезна для явного отключения рекламных доменов или трекеров на уровне сетевого правила, а не отдельного расширения браузера.
Некоторые версии Happ добавляют четвёртое, комбинированное действие — направлять трафик через определённый выбранный сервер, отличный от текущего активного, для конкретного набора адресов. Это удобно, если, например, один сервис работает быстрее через сервер в одной стране, а остальной интернет — через другой.
Как составить своё правило
Начните с формулировки условия: конкретный домен, поддомен со звёздочкой для всех вложенных адресов, диапазон IP или код страны из geoip-базы. Чем точнее условие, тем предсказуемее результат — широкое правило вроде «вся Россия напрямую» повлияет на гораздо больше сервисов, чем вы, возможно, ожидаете.
Дальше выберите действие для этого условия — прямое, через прокси или блокировка — и добавьте правило в список. Большинство версий Happ дают возможность сразу протестировать правило, открыв целевой сайт и проверив в диагностике, каким путём реально пошёл трафик.
После добавления правила проверьте его в чистом виде: закройте и снова откройте приложение или вкладку с целевым сайтом, чтобы избежать влияния уже открытого ранее соединения, которое могло установиться ещё до применения нового правила.
Если сайт использует несколько разных доменов для отдельных частей своего сервиса — например, основной сайт, поддомен для видео и отдельный домен для API, — может понадобиться не одно правило, а несколько, покрывающих все связанные адреса, иначе часть функциональности продолжит идти по маршруту, отличному от ожидаемого.
- Сформулировать точное условие: домен, IP-диапазон или страна
- Выбрать действие: прямое, через прокси или блокировка
- Добавить правило и сохранить конфигурацию
- Полностью закрыть и снова открыть проверяемый сайт
- Сверить фактический маршрут в диагностике приложения
Порядок правил и почему он важен
Правила маршрутизации обычно применяются последовательно сверху вниз, и трафик получает действие от первого правила, под которое подошло условие, — все правила ниже по списку для этого конкретного запроса уже не проверяются. Из-за этого порядок правил может полностью изменить итоговое поведение при одинаковом наборе условий.
Частая ошибка — поставить широкое правило выше узкого. Если правило «весь трафик из вашей страны — напрямую» стоит первым, а под ним лежит узкое правило «конкретный сайт — через прокси», второе правило никогда не сработает, потому что весь подходящий трафик уже был обработан первым, более общим условием.
Правильный подход — располагать самые узкие и специфичные правила выше общих, а широкие правила-«по умолчанию» оставлять в самом конце списка. Тогда точечные исключения получают приоритет, а общее правило подхватывает всё, что не попало ни под одно из более конкретных условий.
Если после добавления нового правила поведение сайта не изменилось, в первую очередь проверьте его позицию в списке относительно уже существующих правил — почти всегда причина именно в порядке, а не в неправильном самом условии.
Типичные ошибки при настройке правил
Первая ошибка — путаница с поддоменами. Правило для домена без явного указания всех поддоменов не всегда автоматически покрывает связанные сервисы на других поддоменах того же сайта, и часть страниц продолжает идти по маршруту, отличному от ожидаемого.
Вторая — устаревшая geoip-база. Правила, завязанные на принадлежность IP-адреса к стране, работают корректно только если сама база регулярно обновляется. Если правило перестало срабатывать без видимых изменений в настройках, проверьте, не вышло ли обновление Happ с актуализированной базой геоданных.
Третья — конфликт с DNS. Даже правильное правило маршрутизации по IP не поможет, если DNS-запрос для домена резолвится не в тот адрес, который вы ожидали, — из-за кэширования на устройстве или из-за особенностей выбранного DNS-сервера. Такие случаи лучше диагностировать явной проверкой резолвинга, а не только правилами маршрутизации.
Четвёртая — слишком много точечных правил вместо системного подхода. Если у вас накопилось несколько десятков отдельных правил для разных сайтов, проще пересмотреть общую логику — например, задать одно широкое правило по стране и несколько явных исключений, — чем поддерживать длинный список, в котором легко запутаться.