Prefiera el cable a través de wifi en Mac en Mac para una IP específica

0

¿Es posible configurar un MacBook Pro para usar un cable Ethernet a través de la wifi cuando intenta acceder a una determinada IP en el archivo .bashrc o cualquier otro archivo de configuración?

Por ejemplo, puedes configurarlo para que no use un proxy cuando se enruta en mi IP privada usando el siguiente comando.

export NO_PROXY=192.168.0.1

¿Hay alguna forma de pedirle a mi computadora portátil que use el cable Ethernet en lugar de la conexión wifi para esa IP específica?

    
pregunta user862226 27.04.2013 - 22:52

1 respuesta

3

Hay dos cosas que puedes hacer aquí.

Si desea que todo su tráfico se desplace a través de Ethernet integrado si tanto Ethernet como Wifi están activadas, puede hacerlo más preferido en las Preferencias del sistema:

System Preferences -> Network le mostrará la ventana con todas las conexiones de red definidas. En la parte inferior del panel lateral izquierdo (con la lista de interfaces) verá tres botones: +, - y una rueda dentada. Haga clic en el último (la rueda dentada) y verá la cuarta opción desde arriba: "Establecer orden de servicio". Si arrastra Ethernet por encima de Wifi después de hacer clic en esa opción, entonces si ambas están activas, se preferirá Ethernet.

Sin embargo, si desea que el tráfico seleccionado vaya a través de Ethernet, mientras que el tráfico predeterminado va a través de Wifi, entonces es un poco más complicado y, por lo general, implica el uso de la línea de comandos y, específicamente, el route comando.

Hay algunos escenarios aquí, por lo que haré algunas preguntas ahora que podrían apuntar en la dirección correcta, o podrían ayudarme con una mejor respuesta:

  1. ¿Las interfaces WIFI y Ethernet están en la misma LAN? es decir, ¿tendrán una dirección IP del mismo rango? ¿Utilizarán la misma puerta de enlace predeterminada?

  2. ¿La dirección IP de destino está en la misma LAN que WIFI o Ethernet están activadas? ¿O es la dirección IP de destino "en algún lugar de Internet"?

Por ahora le daré la respuesta para el escenario más sencillo, que es que WIFI y Ethernet están en diferentes LAN y que la IP de destino está en Internet.

Digamos que el WIFI obtiene una dirección IP 192.168.0.10/24 y la puerta de enlace predeterminada que se usa para acceder a Internet es 192.168.0.1. Digamos también que la Ethernet obtiene una dirección IP 192.168.1.10/24 y que la puerta de enlace predeterminada que se utiliza para acceder a Internet a través de Ethernet es 192.168.1.1.

Supongamos también que desea enrutar todo el tráfico a través de WIFI de forma predeterminada, pero al mismo tiempo desea que todo el tráfico a un host con IP 192.0.2.5 se realice a través de Ethernet.

En ese caso, debe seguir el procedimiento que describí al inicio y asegurarse de que el WIFI sea ARRIBA de Ethernet (por lo tanto, es más preferido).

Luego abra la Terminal y emita el siguiente comando:

sudo route add -host 192.0.2.5 192.168.1.1

Deberá ingresar su propia contraseña cuando se lo solicite el comando sudo.

Si tiene más de una dirección IP a la que le gustaría agregar rutas a través de Ethernet, puede ejecutar más comandos route .

Ahora, debe tener en cuenta que cada vez que desconecte el enlace Ethernet, las rutas desaparecerán y deberá ingresarlas manualmente nuevamente en el Terminal. Si desea que sea automatizado, puede consultar launchd ; eche un vistazo a los manuales de route y launchd.plist ; en la Terminal, escriba man route y man launchd.plist . Una de las variables que le interesa para launchd es NetworkState . Tenga en cuenta que no tuve la necesidad de hacer algo así de forma automática (sin embargo, lo utilicé manualmente a veces) y, por lo tanto, no tengo una solución lista. Se necesitarían algunos scripts, etc., pero al menos esto debería hacer que te pongas en marcha.

    
respondido por el mike 28.04.2013 - 22:49

Lea otras preguntas en las etiquetas