¿Cómo configurar la tabla de enrutamiento específica de la aplicación en Windows?

14

Supongamos que la interfaz de red 1 (net1) y 2 (net2) están conectadas a Internet. Quiero que la aplicación 1 (aplicación1) use net1, y la aplicación 2 (aplicación2) use net2. ¿Cómo se puede hacer bajo Windows?

Si necesita un ejemplo concreto de la situación anterior, considere:

  • Una laptop con Windows 7
  • net1 = Una conexión por cable a un módem de Internet de Verizon
  • net2 = Una conexión inalámbrica a un módem de Internet Comcast
  • app1 = Internet Explorer
  • app2 = Firefox
  • Me gustaría tener "IE usa Verizon pero no Comcast" y "Firefox usa Comcast pero no Verizon"

No tiene que hacerse a través de la tabla de enrutamiento. Si tienes otras ideas, ¡házmelo saber!

netvope
fuente

Respuestas:

6

Parece que ForceBindIP es lo que estás buscando :)

ForceBindIP - Vincula cualquier aplicación de Windows a una interfaz específica

ForceBindIP es una aplicación gratuita de Windows que se inyectará en otra aplicación y alterará la forma en que se realizan ciertas llamadas de Windows Sockets, lo que le permite obligar a la otra aplicación a usar una interfaz de red / dirección IP específica. Esto es útil si se encuentra en un entorno con múltiples interfaces y su aplicación no tiene esa opción para vincular a una interfaz específica.

Algunos programas que han sido probados para funcionar con ForceBindIP incluyen DC ++, uTorrent, Quake II, Quake III, Diablo II, StarCraft, Internet Explorer, Mozilla Firefox , Google Earth, Infantería, Real Player, Unreal Tournament 2004 (requiere -i), Outlook 2000 (requiere -i). Los programas que no funcionan incluyen GetRight (técnicas anti-depurador / bifurcación), WinCVS (forks cvs.exe)

Simplemente puede hacer accesos directos para iniciar la aplicación usando ForceBindIP, con la dirección IP y el programa como argumentos:

texto alternativo

ForceBindIP es un programa gratuito.

John T
fuente
2
Gran software! Desafortunadamente, no parece funcionar con mi configuración de VPN (que tiene "usar la puerta de enlace predeterminada en la red remota" desactivada para que la conexión a Internet no pase por ella). Traté de vincular IE a la interfaz VPN (adaptador PPP), pero el tráfico aún no pasa a través de la VPN (verificado con whatismyip.com)
netvope
1

No es necesario ejecutar vmware player y todo eso. Simplemente active el host débil en el adaptador secundario (es decir, el adaptador que tiene una métrica más alta).

Luego puede ejecutar squid y configurar squid para usar tcp_outgoing_address en la dirección IP del adaptador secundario y proxy de todas sus aplicaciones.

Sospecho que forcebindip también debería comenzar a funcionar.

Lo que creo es que hay un error en la pila MS win7. Cuando llega un paquete al adaptador secundario, se descarta aunque sea un paquete válido.

La habilitación de la recepción de host débil se documenta aquí 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
fuente
0

Estoy bastante seguro de que esto es imposible. Lo más cercano que puede obtener enviando tráfico en una interfaz u otra es a través de subredes y entradas de enrutamiento.

Pero si dos aplicaciones quieren hablar en la red, usan la misma red.

Técnicamente, supongo, una aplicación podría vincular su tráfico saliente a una interfaz particular, pero la aplicación tendría que reescribirse para hacerlo.

Ian Boyd
fuente
0

Tenía un requisito similar, quería que aplicaciones específicas se conectaran a través de conexiones de Internet específicas, pero no se podía hacer a través de IP o puerto.

Mi solución fue:

(Tenga en cuenta que la ip de mi computadora es xxx100

a) configurar una regla de mangle para xxx101 para ir a través de wan2

b) ejecute vmware player con una copia de ubuntulite (con openssh instalado) en ip xxx101

c) use "proxifier" para enlazar la aplicación y forzarla a hacer un túnel a través de la máquina vmware, que a su vez se enrutó solo a través de wan2

Esta es la única forma (muy haxy) en la que podría imaginar cómo hacerlo a nivel de aplicación (el proxifier tiene una versión de prueba que puede probar y se ejecuta en Windows 7 x64).

Omegatron
fuente