Перенаправление части интернет-трафика через VPN в Windows
При подключении к VPN в Windows можно настроить, должен ли интернет-трафик идти через это VPN-соединение, или программы по-прежнему должны использовать прямое подключение к интернету. Вопрос в том, что делать, когда нужна чуть большая степень контроля: к примеру я хочу, чтобы трафик браузеров шел через VPN, а трафик Джаббера и Outlook — по-прежнему использовал прямое подключение к интернету. Возможно ли это в Windows? Может быть с помощью каких-то сторонних программ?
При построении VPN, он меняет таблицу маршрутизации. Следовательно, VPN имеет более высокий приоритет, следовательно трафик пойдет через него. При построении VPN можно указать, чтобы изменения таблицы маршрутизации не менялось, тогда останется все по старому. Тут можно если каналообразующее оборудование поддерживает CoS, то вы можете на вырезать определенный тип трафика и настроить маршрутизацию по другим правилам.
Я догадываюсь, что возможно роутить трафик по хосту назначения или по протоколу, но мне нужно по приложениям. Я так понимаю, что на уровне таблицы роутинга понять что «это трафик от Outook — его сюда, а этот от Хрома — его сюда» — нельзя никак?
Более детальная задача — дать возможность Outlook доступаться к почтовому серверу, доступному только в локальной сети при коннекте к внешнему VPN. И аналогично для клиента Джаббера. Переконфигурировать сервера — не катит.
tangro — обычно решается на уровне днс — у меня в зависимости от запросов снаружи — выдается внешний айпишник мх, при запросе изнутри — локальный айпишник.
>> дать возможность Outlook доступаться к почтовому серверу, доступному только в локальной сети при коннекте к внешнему VPN
Ну дык. Запишите в таблице роутинга, чтобы запросы к почтовому серверу и серверу Джаббера шли через VPN, а остальные — нет.
Это всё я знаю. Представьте себе более общий случай — приложение, которое может коннектиться куда-угодно, при этом на все эти адреса оно должно ходить с (или без) впн.
Можно настроить так, чтобы нужное приложение работало только через конктреный сетевой интерфейс. Например, можно сделать через ForceBindIP. У меня так spotify выходит в интернет через американский впн-сервер, а остальной софт использует прямое соединение с инетом.
Спасибо, это выглядит решением, обязательно протестирую! Интересно, что оно работает методом хукинга в приложение, для которого настраивается. Т.е. на уровне ОС никакого API для подобных задач видимо нет.
извиниете, может я не совсем верно понял вопро, но почему бы просто не настроить в браузере прокси? на машине установить локальный прокси, который как раз смотрит в впн? а чтобы все остальное туда не шло, просто уменьнить метрику ниже того, который стоит у маршрута по умолчанию.
да, что-то я поторопился, найти сейчас такой «умный» прокси не смог( тогда вариант чуть чуть наоборот: метрику ВПН не трогаете — всё по умолчанию валится туда! а для джаббера и аутлука ( я подозреваю что адреса серверов, куда вы коннектитесь, заранее известны) добавляете собственные маршруты и заруливаете их на простое соединение. Всё упирается только в количество ресурсов, которое нужно так завернуть, зато никакого тяжелого софта или плясок с бубном. Сам таким образом обходил ограничение на пользование дропбоксом в корпоративной сети.