Другое

Почему политика маршрутизации не работает на телефонах

Политика маршрутизации через Wi-Fi не работает на мобильных устройствах из-за различий в сетевых стеках Android и iOS. Узнайте причины и решения.

Почему политика маршрутизации (Policy Routing) через Wi‑Fi не работает на телефонах, хотя работает на компьютере с OpenWRT и VPN?

Политика маршрутизации (Policy Routing) через Wi‑Fi не работает на телефонах, хотя работает на компьютерах с OpenWRT и VPN из‑за фундаментальных различий в том, как мобильные операционные системы обрабатывают сетевые политики, в отличие от настольных компьютеров. На телефонах Android и iOS есть встроенные механизмы управления сетевым трафиком, которые могут игнорировать или конфликтовать с политиками маршрутизации, установленными на уровне роутера OpenWRT.

Содержание


Основные причины несовместимости с мобильными устройствами

Мобильные операционные системы Android и iOS имеют собственные системы управления сетевыми соединениями, которые могут игнорировать политики маршрутизации, установленные на уровне роутера. В отличие от настольных компьютеров, где OpenWRT может полностью контролировать сетевую конфигурацию, на мобильных устройствах существуют следующие ограничения:

Автоматическое определение маршрутов – Мобильные ОС автоматически определяют оптимальные сетевые пути, часто игнорируя политики, установленные роутером. Это связано с тем, что смартфоны и планшеты созданы для работы в различных сетевых средах и должны быстро переключаться между разными сетями.

Системные ограничения сетевого стека – Согласно исследованиям, мобильные устройства имеют ограниченную поддержку сложных политик маршрутизации, особенно при работе с VPN‑туннелями. Как отмечает James White в своей статье о настройке OpenVPN на OpenWRT, мобильные системы часто не могут корректно обрабатывать статические маршруты и политики маршрутизации.

Фоновые приложения – Многие мобильные приложения работают в фоновом режиме и могут использовать собственные сетевые подключения, которые не подчиняются политикам маршрутизации роутера. Это приводит к утечкам трафика за пределы VPN‑туннеля.


Проблемы с DNS и шифрованием на мобильных устройствах

Одной из главных причин неэффективности политики маршрутизации на мобильных устройствах является использование современных протоколов DNS, которые могут обходить VPN‑туннели.

DNS-over-HTTPS (DoH) – Браузеры на мобильных устройствах, такие как Mozilla Firefox и Google Chrome/Chromium, имеют встроенную поддержку DNS‑over‑HTTPS. Согласно документации stangri’s OpenWrt Packages Documentation, запросы от этих браузеров к веб‑сайтам не могут быть затронуты политиками маршрутизации, если не предпринять специальные меры.

“Вы можете отключить поддержку DNS‑over‑HTTPS в браузере и использовать стандартный DNS OpenWrt, чтобы решить эту проблему”

Приватный DNS в Android – Как указано в статье ExpressVPN о приватном DNS, начиная с Android 9, устройства поддерживают приватный DNS, который может конфликтовать с VPN‑маршрутизацией. Запросы DNS через приватный DNS не проходят через VPN‑туннель, что нарушает политику маршрутизации.

Шифрованные DNS‑прокси – Многие мобильные приложения используют собственные DNS‑прокси, что приводит к тому, что DNS‑запросы не маршрутизируются через VPN, даже если остальной трафик проходит через него. Это создает «дыры» в политике маршрутизации.


Различия в поддержке VPN между Android и iOS

Android и iOS имеют существенно разную степень поддержки сложных политик маршрутизации и VPN‑функций.

Android – Предоставляет более гибкие возможности для настройки VPN и маршрутизации:

  • Поддерживает split tunneling в большинстве VPN‑приложений
  • Позволяет настраивать политики маршрутизации на уровне приложения
  • Имеет доступ к системным сетевым настройкам через API
  • Поддерживает локальные VPN‑сервисы для маршрутизации трафика

“Поддерживает split tunneling, позволяя пользователям указать, какие приложения должны проходить через VPN, а какие нет” – OpenVPN Connect for Android

iOS – Значительно более ограничен в возможностях маршрутизации:

  • Очень ограниченная поддержка split tunneling
  • Отсутствие детального контроля над политиками маршрутизации
  • Сильные ограничения на системные VPN‑настройки
  • Фоновые приложения могут игнорировать VPN‑политики

Как отмечает CNET в обзоре лучших мобильных VPN, «очень немногие клиенты предлагают split tunneling на iOS».


Конфликты между мобильными VPN‑приложениями и политиками роутера

При использовании мобильных VPN‑приложений возникает конфликт между политиками роутера OpenWRT и политиками самого VPN‑приложения.

Двойная маршрутизация – Когда мобильное VPN‑приложение устанавливает свой собственный VPN‑туннель, оно создает конфликт с политиками маршрутизации, установленными на роутере. Оба уровня пытаются контролировать маршрутизацию трафика, что приводит к непредсказуемому поведению.

Локальные VPN‑сервисы – Многие мобильные VPN‑приложения используют локальные VPN‑сервисы для перехвата и перенаправления трафика. Как указано в описании Super Proxy приложения, «приложение использует локальный VPN‑сервис для туннелирования всего трафика через HTTP‑прокси‑сервер».

Фоновая активность – Мобильные VPN‑приложения часто не корректно обрабатывают фоновый трафик, что приводит к утечкам. Фоновые приложения могут использовать системный сетевой стек напрямую, минуя VPN‑туннель.


Решения и альтернативные подходы

Существуют несколько подходов для решения проблемы политики маршрутизации на мобильных устройствах:

Создание отдельных Wi‑Fi сетей – Как рекомендуют в FlashRouters блоге, можно создать отдельные Wi‑Fi сети для разных политик маршрутизации. Например:

  • Основная Wi‑Fi сеть для компьютеров с политикой VPN
  • Отдельная Wi‑Fi сеть для мобильных устройств без VPN

Настройка DHCP с разными диапазонами – В OpenWRT можно настроить разные DHCP диапазоны для разных политик:

text
LAN сеть: 192.168.1.0/24
VPN сеть: 192.168.51.0/24

Это позволит разделить устройства на разные сетевые зоны с разными политиками маршрутизации.

Отключение DNS‑over‑HTTPS – На мобильных устройствах можно отключить DoH в браузерах:

  • В Firefox: Настройки → Сеть → Отключить DNS‑over‑HTTPS
  • В Chrome: Настройки → Безопасность → Приватный DNS → Отключить

Использование split tunneling в VPN‑приложении – Настроить VPN‑приложение на уровне устройства для маршрутизации только определенных приложений через VPN, а остальные оставить через обычное подключение.

Настройка kill switch – Включить функцию kill switch в OpenWRT и VPN‑приложениях, чтобы при обрыве VPN‑соединения полностью отключался интернет, предотвращая утечки трафика.


Заключение

Политика маршрутизации на уровне роутера OpenWRT неэффективна для мобильных устройств из‑за фундаментальных различий в архитектуре сетевого стека Android и iOS. Основные проблемы включают:

  1. Автоматическое определение маршрутов – Мобильные ОС игнорируют политики роутера в пользу собственных оптимизаций
  2. DNS‑over‑HTTPS и приватный DNS – Защищенные протоколы обходят VPN‑туннели
  3. Ограниченная поддержка split tunneling – Особенно на iOS
  4. Конфликты между VPN‑приложениями и роутером – Двойная маршрутизация создает непредсказуемое поведение

Для решения проблемы рекомендуется использовать разделение сетей через создание отдельных Wi‑Fi сетей с разными политиками маршрутизации, что позволит эффективно управлять трафиком как для компьютеров, так и для мобильных устройств.

Источники

  1. stangri’s OpenWrt Packages Documentation - VPN Policy Routing
  2. James White - Switching to OpenWrt: OpenVPN client setup differences
  3. FlashRouters Blog - Policy-Based Routing by Device VPN
  4. ExpressVPN - Android private DNS: What it is and how to enable it
  5. OpenVPN Connect for Android - Features
  6. CNET - Best Mobile VPN of 2025
  7. Super Proxy Android App - Description
Авторы
Проверено модерацией
Модерация