Wie richte ich eine anwendungsspezifische Routing-Tabelle unter Windows ein?

14

Angenommen, die Netzwerkschnittstelle 1 (net1) und 2 (net2) sind beide mit dem Internet verbunden. Ich möchte, dass Anwendung 1 (App1) net1 und Anwendung 2 (App2) net2 verwendet. Wie geht das unter Windows?

Wenn Sie ein konkretes Beispiel für die oben genannte Situation benötigen, beachten Sie:

  • Ein Laptop mit Windows 7
  • net1 = Eine Kabelverbindung zu einem Verizon Internetmodem
  • net2 = Eine drahtlose Verbindung zu einem Comcast-Internetmodem
  • app1 = Internet Explorer
  • app2 = Firefox
  • Ich hätte gerne "IE verwendet Verizon, aber nicht Comcast" und "Firefox verwendet Comcast, aber nicht Verizon".

Dies muss nicht über die Routing-Tabelle erfolgen. Wenn Sie andere Ideen haben, lassen Sie es mich bitte wissen!

netvope
quelle

Antworten:

6

Klingt so, als ob ForceBindIP genau das ist, wonach Sie suchen :)

ForceBindIP - Bindet jede Windows-Anwendung an eine bestimmte Oberfläche

ForceBindIP ist eine Freeware-Windows-Anwendung, die sich selbst in eine andere Anwendung einfügt und die Art und Weise ändert, in der bestimmte Windows Sockets-Aufrufe ausgeführt werden. Auf diese Weise können Sie die andere Anwendung zwingen, eine bestimmte Netzwerkschnittstelle / IP-Adresse zu verwenden. Dies ist nützlich, wenn Sie sich in einer Umgebung mit mehreren Schnittstellen befinden und Ihre Anwendung keine solche Option zum Binden an eine bestimmte Schnittstelle hat.

Einige Programme, die für die Arbeit mit ForceBindIP getestet wurden, umfassen DC ++, uTorrent, Quake II, Quake III, Diablo II, StarCraft, Internet Explorer, Mozilla Firefox , Google Earth, Infanterie, Real Player, Unreal Tournament 2004 (erfordert -i), Outlook 2000 (erfordert -i). Programme, die nicht funktionieren, umfassen GetRight (Anti-Debugger- / Forking-Techniken), WinCVS (Forks cvs.exe)

Sie können einfach Verknüpfungen erstellen, um die Anwendung mit ForceBindIP zu starten, wobei die IP-Adresse und das Programm als Argumente dienen:

Alt-Text

ForceBindIP ist Freeware.

John T.
quelle
2
Tolle Software! Leider scheint es mit meinem VPN-Setup nicht zu funktionieren (bei dem "Standard-Gateway im Remote-Netzwerk verwenden" deaktiviert ist, damit die Verbindung zum Internet nicht hergestellt wird). Ich habe versucht, den IE an die VPN-Schnittstelle (PPP-Adapter) zu binden, aber der Datenverkehr läuft immer noch nicht über das VPN (überprüft mit whatismyip.com)
netvope
1

Keine Notwendigkeit, VMware Player und all das auszuführen. Aktivieren Sie einfach den schwachen Hostempfang auf dem sekundären Adapter (dh dem Adapter mit einer höheren Metrik).

Anschließend können Sie squid ausführen und squid so einstellen, dass tcp_outgoing_address für die IP-Adresse des sekundären Adapters verwendet wird und alle Ihre Anwendungen als Proxy verwendet werden.

Ich vermute, Forcebindip sollte auch anfangen zu arbeiten.

Was ich denke ist, dass es einen Fehler im MS Win7 Stack gibt. Wenn ein Paket auf dem sekundären Adapter ankommt, wird es verworfen, obwohl es sich um ein gültiges Paket handelt.

Das Aktivieren des Empfangs von Schwachhost ist hier dokumentiert: http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx

netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled

netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled

netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled

netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
Mavin
quelle
0

Ich bin mir ziemlich sicher, dass das unmöglich ist. Das nächste, was Sie zum Senden von Datenverkehr auf der einen oder anderen Schnittstelle erhalten können, sind Subnetze und Routing-Einträge.

Wenn jedoch zwei Anwendungen im Netzwerk kommunizieren möchten, verwenden sie dasselbe Netzwerk.

Technisch gesehen könnte eine Anwendung ihren ausgehenden Datenverkehr an eine bestimmte Schnittstelle binden, aber die App müsste dazu neu geschrieben werden.

Ian Boyd
quelle
0

Hatte eine ähnliche Anforderung, wollte, dass bestimmte Anwendungen über bestimmte Internetverbindungen gehen, konnte aber nicht über IP oder Port ausgeführt werden.

Meine Lösung war:

(Beachten Sie, dass meine Computer-IP xxx100 ist

a) Richten Sie eine Mangle-Regel für xxx101 ein, um über wan2 zu gehen

b) Führen Sie den VMware-Player mit einer Kopie von Ubuntulite (mit installiertem OpenSh) auf der IP xxx101 aus

c) Verwenden Sie "Proxifier", um die Anwendung zu binden und den Tunnel über den VMware-Computer zu erzwingen, der wiederum nur über WAN2 geroutet wurde

Dies ist die einzige (sehr haxy) Möglichkeit, wie ich es auf Anwendungsebene tun kann (Proxifier verfügt über eine Testversion, die Sie testen können und die unter Windows 7 x64 ausgeführt wird).

Omegatron
quelle