Классический VPN прописывает в систему «весь трафик в туннель». Для приватности в чужой сети это правильно, для повседневной работы неудобно. Разделять трафик можно тремя способами, и путаница между ними главный источник «настроил, а не работает».
Три способа разделить трафик
- По назначению (куда идёт соединение). Правило смотрит на домен или адрес получателя. Работает одинаково для всех программ, включая будущие. Это основной механизм разделения российских и зарубежных сервисов: разобран в статье почему банк не пускает при включённом VPN.
- По программе (кто открыл соединение). Правило привязано к исполняемому файлу: игре напрямую, рабочему клиенту в туннель. Это и есть «VPN для одной программы».
- По маршруту (вручную). Прописать диапазоны адресов в системную таблицу маршрутов. Работает без клиента, но управлять тяжело, и по программе так не разделить.
Как это работает внутри
Клиент через платформу фильтрации Windows узнаёт, какому процессу принадлежит соединение, ещё до его установления, и направляет его в туннель или через обычный интерфейс. Ключевой момент: решение принимается один раз и привязано к процессу. Не к окну и не к ярлыку: отсюда все ограничения.
Настройка в приложении SafeMoney
В приложении для Windows каждой программе назначается режим:
- через VPN: весь трафик программы в туннель;
- в обход: работает, как будто VPN выключен;
- по умолчанию: общее правило (российские сервисы напрямую, остальное в туннель).
Типовая конфигурация: банк и маркетплейс «в обход», игра «в обход» или на игровую локацию, браузер и рабочие сервисы «по умолчанию». Правило применяется к новым соединениям без переподключения.
Почему правило иногда не срабатывает
- Соединение открывает не та программа: часть приложений ходит через системные службы или встроенный браузерный движок. Признак: программа ведёт себя, будто настройки нет.
- Программа из нескольких процессов: лончер запускает отдельный процесс игры. Правило нужно назначать файлу, который реально держит соединение.
- Соединение уже установлено: открытые соединения не переключаются на лету. Перезапустите программу.
- Мешает антивирус или файрвол с перехватом трафика: временно отключите перехват и повторите тест.
- IPv6: если сервис доступен по нему, соединение уйдёт мимо правил.
Как проверить
Откройте сервис проверки IP в программе с обходом и в программе через туннель: адреса должны отличаться (домашний и адрес локации). Какой процесс держит соединение, видно в мониторе ресурсов Windows на вкладке «Сеть»: если программы там нет, а трафик идёт, за неё работает другой процесс.
На других платформах
Android: клиенты вроде Happ выбирают список приложений для туннеля штатно. iOS: выбора по приложениям нет, только по адресам и доменам (на практике хватает: российские сервисы уходят напрямую по общему правилу). Роутер: разделение по адресам для всей сети сразу, удобно для телевизора и приставок: см. VPN на телевизоре и роутере.
Коротко
- Три механизма: по назначению, по программе, по маршруту.
- Для браузера надёжнее правила по домену, для игр и клиентов по программе.
- Правило привязано к процессу: отсюда все случаи «настроил, а не работает».
- После смены правила программу нужно перезапустить.
Короткие ответы
Чем разделение по программам отличается от разделения по сайтам?
По программам маршрут назначается процессу целиком, по сайтам решение принимается для каждого соединения по домену назначения. Первое удобнее для игр и клиентов, второе точнее для браузера.
Почему браузер не слушается правила?
Браузеры открывают соединения из нескольких процессов, часть запросов уходит через системные службы. Для браузера надёжнее разделение по доменам.
Можно ли так же сделать на телефоне?
На Android клиенты умеют выбирать список приложений для туннеля. На iOS такого выбора нет, там разделение возможно только по адресам и доменам назначения.
Влияет ли разделение на скорость?
Нет. Проверка правила выполняется один раз при установлении соединения; программы напрямую работают как без VPN.