¿Puedo enrutar programas a dos conexiones a Internet simultáneamente en Windows 7? [duplicar]

13

Tengo dos conexiones a Internet : una a través de un módem 3G y la otra a través de una conexión inalámbrica. El módem es más rápido, por lo que normalmente navego con él, pero no admite descargas de torrents mientras que mi conexión inalámbrica lo hace. Cuando los dos están conectados, mi PC realiza automáticamente cada conexión a través del módem.

¿Hay alguna forma de forzar a un programa en particular, por ejemplo, uTorrent, a navegar a través de mi conexión inalámbrica a Internet?

Chibueze Opata
fuente
2
término de búsqueda: "agregación de enlaces" o "enlace de enlaces".
akira

Respuestas:

5

Que yo sepa, Windows no tiene una función incorporada para esto, pero hay aplicaciones de terceros que lo ayudarán a hacer el truco. En mi experiencia, ForceBindIP siempre ha funcionado bastante bien. Hace exactamente lo que dice: la ejecución de un programa a través de ForceBindIP se asegurará de que utiliza una interfaz específica.

En su caso, se trataría de instalar el programa (o extraer la versión portátil) y ejecutar µTorrent usando ForceBindIP.exe 1.2.3.4 %PROGRAMFILES%\uTorrent\uTorrent.exe, reemplazando 1.2.3.4 con la dirección de la interfaz inalámbrica.

En caso de que no haya una ruta desde su interfaz inalámbrica al destino, debe agregar una. Puede ser cualquier ruta que desee, pero para una aplicación como µTorrent, probablemente desee enrutar el tráfico a todos los destinos en lugar de rangos de IP específicos.

Para hacer esto, abra el símbolo del sistema elevado, escriba ipconfigy tome nota de la puerta de enlace de su conexión inalámbrica, que probablemente sea la dirección IP de su punto de acceso (por ejemplo, 192.168.2.1). Luego, escriba route printy verifique el identificador de dos dígitos de su tarjeta inalámbrica en la lista de interfaces (por ejemplo, 12), así como la métrica de la entrada 0.0.0.0 en la tabla de enrutamiento. A continuación, agregue la ruta usando: route -p add 0.0.0.0 mask 0.0.0.0 192.168.2.1 metric 50 if 12.

El modificador -p garantiza que la ruta sobreviva al reinicio, pero aún podría romperse si la interfaz inalámbrica obtiene un nuevo identificador. La 'máscara 0.0.0.0 0.0.0.0' significa que la ruta es válida para todos los destinos. '192.168.2.1' se refiere a la dirección de la puerta de enlace que desea utilizar. 'Metric 50' agrega un cierto costo a esta ruta y querrá establecerla muy por encima de la métrica de la otra entrada 0.0.0.0 para evitar que los programas que no están vinculados a una interfaz determinada lo usen en lugar de la conexión por cable. Finalmente, 'if 12' establece la interfaz a la que se aplica la ruta.

Thomas Thomas
fuente
Gracias, pero ¿cómo obtengo la dirección de la interfaz inalámbrica en mi PC?
Chibueze Opata
ok, finalmente encontré cómo ... Debería poder confirmar si funciona por la mañana, pero seguro que parece la solución perfecta. Me gustaría hacer una GUI para esto para que otros puedan hacerlo también (si funciona ...)
Chibueze Opata
Parece agradable, pero ¿qué pasa con el enrutamiento? Si la aplicación está vinculada a la interfaz A pero la puerta de enlace predeterminada del sistema está configurada en la interfaz B, ¿cómo se pueden enrutar los paquetes salientes a través de la interfaz A?
Massimo
+1 para ForceBindIP mencionado, sin embargo, nunca funcionó como se esperaba para mí.
Some Free Mason
@ Massimo: No estoy familiarizado con las redes, pero después de usar Forcebindip aparece el error: "Se intentó una operación de socket en una red inalcanzable". en mi uTorrent, así que desafortunadamente esto no parece funcionar ...
Chibueze Opata
4

Hago algo similar a esto. Estoy conectado a mi red con mi NIC cableada. Ato mi teléfono con mi NIC inalámbrica. He configurado mi computadora para usar primero la conexión inalámbrica por cable . Luego hice un VirtualBox que ejecuté en modo continuo (Ubuntu, pero no importa). Luego, en todas partes que navegue en VirtualBox no pasaré por la conexión por cable. VirtualBox permite carpetas compartidas, por lo que todas las descargas van al mismo directorio de descargas. Lo único es que estoy desperdiciando CPU y memoria, sin embargo, estoy más seguro. También ejecuto sin problemas en mi segundo monitor , así que ahora estoy muy contento.

Puede ejecutar un cliente Torrent en VirtualBox

Some Free Mason
fuente
buena idea. Eventualmente, esta podría ser la única solución disponible, aunque usaría VMWare, pero veamos ...
Chibueze Opata
3

No, esto no se puede hacer para un programa en particular, solo se puede hacer para una dirección IP (o subred) de destino particular: puede agregar una ruta estática a su sistema para indicarle que llegue a todos los sitios a través del módem conexión pero use las conexiones inalámbricas para llegar a una dirección IP o subred específica.

Pero dado que desea hacer esto para descargas de torrent, y las descargas de torrent (por su propia definición) hacen muchas conexiones a muchos sistemas remotos en cualquier parte del mundo, esto realmente no se puede aplicar a su situación.

Massimo
fuente
Sin embargo, la funcionalidad parece tan básica? Con mi poco conocimiento de programación, supongo que debería ser capaz de lograr esto con algún tipo de hack de api hooking ...
Chibueze Opata
1
Esto está relacionado con la forma en que la pila de red del sistema operativo maneja el enrutamiento IP, que es algo de lo que las aplicaciones no están totalmente preocupadas (y tampoco pueden influir de manera significativa).
Massimo
Sé con certeza que es posible monitorear el acceso a la red desde una aplicación, por lo que también debería ser posible conectarlo, si esto se puede hacer, entonces supongo que el programa podría enrutar automáticamente cada conexión a una IP remota a través de la red inalámbrica.
Chibueze Opata
1

Sí puede, para su problema específico: use el módem solo para navegar.

  1. Configure la red inalámbrica para que se use todo el tiempo, cambiando el orden de sus adaptadores de red (primero la conexión inalámbrica): http://windows.microsoft.com/en-US/windows-vista/Change-the-order-of enlaces de protocolo de red

  2. A continuación, necesita un servidor proxy HTTP que redirigirá los paquetes http a través de la conexión de módem. FreeProxy parece conocer el enlace del adaptador (busqué en Google este, supongo que puede ser cualquier software proxy que conozca enlaces), por lo que creo que funcionará: http://www.softpedia.com/get/Internet/Servers/Proxy- Servidores / FreeProxy.shtml . Ahora tiene que configurar el servidor para usar la conexión desde el módem. Entonces, en la ventana de configuración del servicio de proxy, supongamos que establece el enlace local al adaptador inalámbrico y el enlace remoto al módem (espero que sea de esta manera o no al revés ya que solo tengo un adaptador para verificar esto, así que para mí ambos son lo mismo). Haz clic en "Listo". Haga clic en "Iniciar / Parar" y luego en "Iniciar" para el modo de consola (compruebo esta aplicación en este momento,

  3. En la configuración de conexión de su navegador, seleccione conectarse a través de su servidor proxy (el <WIRELESS_IP_ADDRESS>:<port>puerto debe ser 8080 por defecto).

Eso es todo.


fuente
Si bien, usted presentó tres pasos, todavía no entiendo de qué se trata exactamente su solución, solo deseo que pueda explicar en términos simples lo que estamos tratando de lograr aquí ...
Chibueze Opata
Se trata de usar la conexión inalámbrica como predeterminada para cualquier programa, excepto su navegador (ya que parece que necesita alta velocidad para navegar). Su navegador utilizará su conexión de módem a través del software del servidor proxy HTTP.
De hecho, uso un proxy para mi módem, ¿entonces esto conducirá a una cadena de proxy?
Chibueze Opata
Estoy confundido. ¿Qué proxy estás usando con el módem? Si hubiera un proxy HTTP, entonces solo el navegador debería haber usado esta conexión, ya que las otras aplicaciones no usan el protocolo http, por lo tanto, el sistema operativo intentará resolver la conexión a través de la conexión inalámbrica.
Si usa un proxy HTTP, pero el módem también actúa como una interfaz de red normal, supongo que tiene todo lo que describo listo para funcionar. Solo tiene que cambiar el orden de las interfaces de red, por lo que la conexión inalámbrica es lo primero.
1

Solo lanzando esto, pero ¿no sería un método más simple usar un emulador como Virtualbox? Puede iniciar un sistema operativo separado en VB y vincular su conexión virtual a una interfaz de red específica. Por lo tanto, puede iniciar un pequeño sistema operativo Linux que ejecute un programa Torrent en una de sus conexiones, mientras que su sistema operativo Windows normal solo usa el predeterminado. ¿No pasaría esto por alto las iptables de Windows?

japzone
fuente
0

puede usar el envío de Connectify para unir dos conexiones de Internet en una sola y dedicar la descarga de sockets. El envío de Connectify y ver la magia también asegúrese de seleccionar las opciones correctas ya sea Gen 2 o Round Robin y eso es todo. ¡AUGE!

http://www.connectify.me/dispatch/

Jack loco
fuente