Supposons que l'interface réseau 1 (net1) et 2 (net2) soient toutes deux connectées à Internet. Je veux que l'application 1 (app1) utilise net1 et l'application 2 (app2) utilise net2. Comment peut-on le faire sous Windows?
Si vous avez besoin d'un exemple concret de la situation ci-dessus, envisagez:
- Un ordinateur portable avec Windows 7
- net1 = Une connexion filaire à un modem Internet Verizon
- net2 = Une connexion sans fil à un modem Internet Comcast
- app1 = Internet Explorer
- app2 = Firefox
- J'aimerais avoir "IE utilise Verizon mais pas Comcast" et "Firefox utilise Comcast mais pas Verizon"
Cela ne doit pas être fait via la table de routage. Si vous avez d'autres idées, faites-le moi savoir!
Pas besoin d'exécuter vmware player et tout ça. Activez simplement la réception faible sur l'adaptateur secondaire (c'est-à-dire l'adaptateur qui a une métrique plus élevée).
Ensuite, vous pouvez exécuter squid et définir squid pour utiliser tcp_outgoing_address à l'adresse IP de l'adaptateur secondaire et proxy toutes vos applications.
Je soupçonne que forcebindip devrait également commencer à fonctionner.
Ce que je pense, c'est qu'il y a un bug dans la pile MS win7. Lorsqu'un paquet arrive sur l'adaptateur secondaire, il est rejeté même s'il s'agit d'un paquet valide.
L'activation de la réception de l'hôte faible est documentée ici http://technet.microsoft.com/en-us/magazine/2007.09.cableguy.aspx
la source
je suis presque sûr que c'est impossible. La chose la plus proche que vous pouvez obtenir en envoyant du trafic sur une interface ou une autre est les sous-réseaux et les entrées de routage.
Mais si deux applications veulent parler sur le réseau, elles utilisent le même réseau.
Techniquement, je suppose qu'une application pourrait lier son trafic sortant à une interface particulière, mais l'application devrait être réécrite pour ce faire.
la source
Avait une exigence similaire, voulait que des applications spécifiques passent par des connexions Internet spécifiques mais ne pouvaient pas être effectuées via IP ou Port.
Ma solution était de:
(Notez que l'adresse IP de mon ordinateur est xxx100
a) configurer une règle de mangle pour xxx101 pour passer par wan2
b) exécuter vmware player avec une copie d'ubuntulite (avec openssh installé) sur ip xxx101
c) utiliser "proxifier" pour lier l'application et forcer son tunnel via la machine vmware, qui à son tour n'a été routée que via wan2
C'est la seule façon (très haxy) de comprendre comment le faire au niveau d'une application (le proxy a une version d'essai que vous pouvez tester et s'exécute sur Windows 7 x64).
la source