Para dar un ejemplo concreto, ¿cómo elige OSX a cuál de estas entradas predeterminadas netstat -nr
desea enrutar?
Destination Gateway Flags Refs Use Netif Expire
0/1 10.10.99.100 UGSc 0 0 ppp0
default 192.168.1.1 UGSc 5 0 en0
default 192.168.1.1 UGScI 1 0 en1
default 192.0.2.1 UGScI 157 2 ppp0
Por lo que he podido decir, OSX usa métricas en sus interfaces en lugar de en sus entradas de la tabla de enrutamiento. Pero por defecto, todas esas métricas de interfaz son 0, entonces, ¿cómo se elige? Última interfaz creada?
He visto a algunas personas sugerir que es el orden en las preferencias de Red, pero en mi caso la interfaz ppp0 (de SonicWall NetExtender) no aparece en la lista.
Hay un poco de discusión en este hilo , pero no hay respuesta que veo.
macos
networking
netstat
ifconfig
studgeek
fuente
fuente
Respuestas:
La mayoría de los sistemas siguen estas reglas al elegir qué ruta usar:
En Linux (y, creo, en Windows) la prioridad está determinada por la métrica , pero no es el caso en macOS como usted señaló correctamente. En lugar de asignar métricas a rutas individuales, macOS asigna prioridades a las interfaces . Puede usar
networksetup -listnetworkserviceorder
para ver este orden ynetworksetup -ordernetworkservices
cambiarlo.Ahora, esta ruta desde su salida me hace pensar que en su caso la especificidad también juega su papel:
Esta ruta cubre la mitad inferior del espacio de direcciones y, por lo tanto, esperaría encontrar también:
en tu tabla de enrutamiento. Este es un truco estándar que el software VPN utiliza para priorizar sus rutas
default
: agrega dos rutas que juntas cubren todas las direcciones IP, pero cada una de ellas es más específica que la predeterminada, por lo que ganan.fuente
Cualquier tabla de enrutamiento que tenga múltiples rutas predeterminadas con métricas iguales equilibra la carga. Sin embargo, el caso con una Mac es que seleccionará la primera interfaz que está en la lista de interfaces. Si desea ver y cambiar la lista, vaya a "abrir preferencias de red", aquí verá una lista de interfaces de red como ethernet, aeropuerto, ppp a través de dispositivos móviles o 3g, etc. Debajo de la lista, verá un asterisco en forma opción con una flecha hacia abajo. Haga clic en esto y establezca el "establecer orden de servicio". Aquí puede cambiar las preferencias de su interfaz particular.
http://www.sustworks.com/site/prod_ipnrx_help/html/AlternateRouteHelp.html
fuente