Предположим, что сетевой интерфейс 1 (net1) и 2 (net2) оба подключены к Интернету. Я хочу, чтобы приложение 1 (app1) использовало net1, а приложение 2 (app2) - net2. Как это можно сделать под Windows?
Если вам нужен конкретный пример вышеуказанной ситуации, подумайте:
- Ноутбук с Windows 7
- net1 = проводное соединение с интернет-модемом Verizon
- net2 = беспроводное соединение с модемом Comcast Internet
- app1 = Internet Explorer
- app2 = Firefox
- Я хотел бы иметь "IE использует Verizon, но не Comcast", и "Firefox использует Comcast, но не Verizon"
Это не должно быть сделано через таблицу маршрутизации. Если у вас есть другие идеи, пожалуйста, дайте мне знать!
Не нужно запускать vmware player и все такое. Просто включите функцию слабого хоста на вторичном адаптере (то есть на адаптере с более высокой метрикой).
Затем вы можете запустить squid и настроить squid на использование tcp_outgoing_address для ip-адреса вторичного адаптера и прокси для всех ваших приложений.
Я подозреваю, что forcebindip также должен начать работать.
Я думаю, что в стеке MS win7 есть ошибка. Когда пакет поступает на вторичный адаптер, он отбрасывается, даже если это действительный пакет.
Включение получения слабых хостов описано здесь http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx
источник
Я уверен, что это невозможно. Ближайшая вещь, которую вы можете получить, отправляя трафик на тот или иной интерфейс, - это подсети и записи маршрутизации.
Но если два приложения хотят общаться в сети, они используют одну и ту же сеть.
Технически, я полагаю, приложение могло бы привязать свой исходящий трафик к определенному интерфейсу, но приложение должно было бы быть переписано для этого.
источник
Имел такое же требование, хотел, чтобы определенные приложения проходили через определенные интернет-соединения, но не мог быть выполнен через IP или порт.
Мое решение было:
(Обратите внимание, что мой компьютер IP-адрес ххх100
а) настроить правило mangle для xxx101, чтобы пройти через wan2
б) запустить vmware player с копией ubuntulite (с установленным openssh) на ip xxx101
c) использовать «проксификатор» для привязки приложения и принудительного его туннелирования через машину vmware, которая, в свою очередь, была маршрутизирована только через wan2
Это единственный (очень неуклюжий) способ, которым я мог понять, как это сделать на уровне приложения (у проксификатора есть пробная версия, которую можно протестировать, и она работает на Windows 7 x64).
источник