Cómo forzar a una aplicación a utilizar una determinada interfaz de red

En mi trabajo suelo utilizar dos redes distintas: una red WiFi, de velocidad aceptable, y una red de área local, bastante más lenta que la primera y con algunas restricciones, pero que es necesaria para conectarse a ciertos recursos y páginas de la organización. Harto de tener que activar y desactivar ambas conexiones según lo que estuviera haciendo, recurrí a Google en busca de una solución. Su nombre: ForceBindIP.

Esta aplicación funciona interceptando las llamadas de red de las aplicaciones que carga. Sólo tenéis que crear un acceso directo a la aplicación que queráis forzar a utilice una determinada red, con ForceBindIP como ejecutable y la IP y la ruta de la aplicación a lanzar como parámetros. Por ejemplo:

ForceBindIP 174.193.48.35 «C:\Archivos de programa\Internet Explorer\iexplore.exe»

Si la red asigna IP de forma dinámica, tendrás que sustituir la IP por la clave que identifica a la red en el registro de Windows. Para ello, haz clic en el botón de Inicio, selecciona Ejecutar y escribe el comando regedit, lo que abrirá el editor de registro. En HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces busca la clave con un valor para DhcpIPAddress igual a la IP asignada actualmente para esa interfaz.

ForceBindIP {11388731-F073-4EC4-A52C-3EFA7F325A1D} «C:\Archivos de programa\Internet Explorer\iexplore.exe»

Por último, también puede resultar útil añadir entradas en el menú contextual de los ejecutables con los que seleccionar si ejecutar la aplicación con una interfaz de red u otra. Esto lo podríamos hacer con un archivo de registro como el siguiente; sólo tenéis que guardarlo en un archivo de texto con extensión .reg, acordándoos de cambiar las claves de las interfaces por vuestras claves o IPs.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\EjecutarWifi]
@="Ejecutar por WiFi"

[HKEY_CLASSES_ROOT\exefile\shell\EjecutarWifi\command]
@="ForceBindIP {11388731-F073-4EC4-A52C-3EFA7F325A1D} \"%l\""

[HKEY_CLASSES_ROOT\exefile\shell\EjecutarLAN]
@="Ejecutar por LAN"

[HKEY_CLASSES_ROOT\exefile\shell\EjecutarLAN\command]
@="ForceBindIP {EAEA78D4-05AA-4421-BD99-0B6C89FB9FC5} \"%l\""

8 comentarios en «Cómo forzar a una aplicación a utilizar una determinada interfaz de red»

  1. Yo he de utilizar un conexion a la VPN de la facultad para acceder a ciertas paginas, o ver mi cuenta de la uni, pero claro, usando la VPN la conexion para el resto de paginas es algo mas lenta.

    ¿Se puede usar esto para acceder a ciertas webs a traves de la VPN, y para el resto usar mi conexion normal? Seria algo estupendo, para no tener que estar conectando y desconectando.

    Buen articulo.

  2. Gracias por la vuelta a actividad Zoo, te extrañaba mucho.
    Genial el dato, siempre me pregunté por que no se puede hacer de manera sencilla directamente desde el SO. Gracias por las claras instrucciones.
    Abrazo

Responder a zitonguito Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.