Как настроить VPN только для отдельных приложений: раздельное туннелирование на Android, iPhone и компьютере
VPN для отдельных приложений — это раздельное туннелирование: через VPN идёт только выбранное, остальное — напрямую. На Android и компьютере это умеют многие VPN-приложения. На iPhone выбирать приложения нельзя — там делят по сайтам.
На этой странице
Включить VPN только для нужных приложений можно, но не везде одинаково. Это называется раздельным туннелированием (split tunneling): часть трафика идёт через VPN-сервер, остальное — напрямую, как будто VPN выключен. На Android такую возможность даёт сама система, и многие VPN-приложения выводят её в настройки. На компьютере всё зависит от программы. На iPhone обычным пользователям выбрать приложения нельзя — там трафик делят по сайтам. А для России часто удобнее как раз деление по сайтам: тогда банки и Госуслуги сами идут напрямую, и ничего настраивать не нужно.
Что такое раздельное туннелирование
Без него VPN гонит через сервер всё подряд: и зарубежные сайты, и банк, и такси. Раздельное туннелирование разрешает делить трафик. Делят двумя способами:
- По приложениям. Вы выбираете: браузер и мессенджер — через VPN, банк и маркетплейс — напрямую. Решение принимается по тому, какое приложение отправило данные.
- По сайтам и адресам. Правила говорят: такие-то домены или адреса — через VPN, остальные — напрямую. Неважно, из какого приложения идёт запрос: зарубежный сайт пойдёт через сервер и из браузера, и из почты.
У деления по приложениям обычно два режима, и путать их нельзя:
- «Только выбранные — через VPN». Всё остальное идёт напрямую. Удобно, если VPN нужен одному-двум приложениям.
- «Все, кроме выбранных». Выбранные идут напрямую, остальное — через VPN. Удобно, если мешает только банк или одно местное приложение.
На Android эти режимы взаимоисключающие на уровне системы: у VPN может быть либо список разрешённых приложений, либо список исключённых, но не оба сразу.
Что умеет каждое устройство
| Устройство | По приложениям | По сайтам и адресам |
|---|---|---|
| Android | Да, система поддерживает с Android 5.0 — если VPN-приложение вывело это в настройки | Да, если умеет VPN-приложение |
| iPhone и iPad | Только на устройствах под управлением организации (MDM) | Да, если умеет VPN-приложение |
| Windows | Зависит от программы: одни умеют, другие нет | Да, если умеет VPN-программа |
| Mac | Зависит от программы, встречается редко | Да, если умеет VPN-программа |
Android
С Android 5.0 любое VPN-приложение может сказать системе: «пускай через меня только эти приложения» или «всех, кроме этих». Приложения не из списка, как сказано в документации Android, «работают с сетью так, будто VPN не запущен». Поэтому на Android настройка «приложения через VPN», «прокси для приложений» или «раздельное туннелирование» встречается чаще всего. Искать её нужно в самом VPN-приложении: в системных настройках VPN такого выбора обычно нет.
iPhone и iPad
Apple разрешает VPN для отдельных приложений (per-app VPN) только для приложений, которыми управляет организация через систему управления устройствами (MDM). Это инструмент для рабочих телефонов, а не для обычного пользователя. Поэтому VPN-приложения на iPhone делят трафик по сайтам и адресам. Если нужно, чтобы одно приложение работало без VPN, остаётся обходной путь: автоматизация в «Командах», которая выключает VPN, когда вы открываете это приложение, и включает, когда закрываете. Пока оно открыто, без VPN весь телефон.
Windows и Mac
Тут всё зависит от программы. Ядра sing-box и Xray умеют правила по имени процесса — то есть по программе на компьютере, — но выводит ли это клиент в понятные настройки, решает его автор. Пример ограничений из жизни — документация Amnezia: выбор приложений там есть на Android и Windows, но на Windows только в режиме «эти приложения — мимо VPN», а на iPhone, Mac и Linux — только деление по адресам. Ещё там предупреждают, что приложения из Microsoft Store и некоторые игры с античитом пустить мимо VPN не получается.
По приложениям или по сайтам: что удобнее
Деление по приложениям кажется понятнее, но в жизни у него есть подвохи:
- Одно приложение — много сайтов. Браузер ходит и на зарубежные, и на российские сайты. Пустите его через VPN — российские сайты в браузере тоже пойдут через зарубежный сервер, и банк в браузере может не пустить.
- Список надо вести. Поставили новое приложение — не забудьте решить, куда его.
- На iPhone так нельзя вовсе.
Деление по сайтам решает это иначе: российские адреса — напрямую, зарубежные — через VPN, из любого приложения. Минус в том, что правила нужно где-то взять и поддерживать: адреса у сервисов меняются, и самому составлять такие списки — занятие на выходные. Поэтому лучше, когда правила присылает VPN-сервис вместе с подпиской и обновляет их сам.
Как это устроено у Демьяныча
У Демьяныча раздельное туннелирование по сайтам включено с самого начала и одинаково работает на iPhone, Android, Windows и Mac. Российские сайты идут напрямую, зарубежные — через наши серверы в Европе. Банки, Госуслуги и маркетплейсы работают с включённым VPN — выключать его не нужно. Торренты идут мимо наших серверов. Правила приходят вместе с подпиской, настраивать ничего не надо: Как это работает: включил и забыл.
Если всё-таки нужно пустить одно приложение мимо VPN:
- Android — в sing-box можно исключить приложение из VPN: оно пойдёт напрямую, остальное — через VPN.
- iPhone — автоматизация в «Командах»: VPN сам выключается, пока приложение открыто.
- Компьютер — исключить одно приложение sing-box не умеет; выключите VPN на время.
Пошагово — в статье Как пустить одно приложение мимо VPN. А если зарубежный сайт не пускает адреса наших серверов, его можно пустить напрямую — пришлите адрес в поддержку: Зарубежный сайт с VPN не работает или пишет про «регион с ограничениями».
Если раздельное туннелирование не срабатывает
- Проверьте режим: «только выбранные через VPN» и «все, кроме выбранных» дают противоположный результат.
- Выключите и включите VPN — многие приложения применяют новый список только при новом подключении.
- Закройте нужное приложение полностью и откройте снова: старые соединения держатся, пока приложение открыто.
- Если приложение всё равно пишет «у вас включён VPN» — телефон сообщает приложениям, что VPN включён, даже когда российские сайты идут напрямую. Почему так и что делать: Приложение пишет «У вас включён VPN».
- Если с включённым VPN не открывается российский сайт или приложение: С включённым VPN не открывается российский сайт или приложение.
Частые вопросы
Можно ли включить VPN только для одного приложения?
На Android — да, если ваше VPN-приложение умеет выбирать приложения: Android даёт такую возможность всем VPN-приложениям с версии 5.0. На компьютере — зависит от клиента. На iPhone обычные VPN-приложения выбрать приложения не могут: Apple разрешает это только устройствам, которыми управляет организация.
Что такое раздельное туннелирование?
Это когда часть трафика идёт через VPN, а часть — напрямую, как без VPN. Делить можно по приложениям (это приложение — через VPN, то — нет) или по сайтам и адресам (зарубежные — через VPN, российские — напрямую).
Как сделать, чтобы банк работал без VPN, а остальное — через VPN?
Два пути: исключить приложение банка из VPN (на Android, если приложение VPN это умеет) или пользоваться VPN, который сам пускает российские сайты напрямую. Второй удобнее: не нужно составлять список, и он работает и на iPhone.
Есть ли раздельное туннелирование на iPhone?
По приложениям — только для устройств под управлением организации (корпоративные профили MDM). Обычные VPN-приложения на iPhone делят трафик по сайтам и адресам. Ещё можно настроить автоматизацию в «Командах», чтобы VPN выключался, пока открыто нужное приложение.
Почему после исключения приложение всё равно идёт через VPN?
Чаще всего приложение держит старые соединения. Выключите и включите VPN, а приложение закройте полностью и откройте заново. Если не помогло — проверьте, какой режим выбран: «только выбранные через VPN» или «все, кроме выбранных».
Источники
- Android Developers — VpnService.Builder: addAllowedApplication и addDisallowedApplication
- Apple — VPN на устройствах Apple: VPN для отдельных приложений (per-app VPN)
- sing-box — правила маршрутизации: package_name, process_name, домены
- Project X — документация Xray: маршрутизация по доменам, адресам и процессам
- Amnezia — раздельное туннелирование: платформы и ограничения