¿Cómo determina Linux qué interfaz de red usar, cuando ambos están conectados a la misma red?
Tenga en cuenta que esta no es una pregunta sobre el enrutamiento. Estoy familiarizado con cómo funciona eso. Esto ocurre si, por ejemplo, tengo mi computadora portátil conectada a mi enrutador inalámbrico a través de mi tarjeta Ethernet y mi tarjeta inalámbrica, o si tengo dos tarjetas Ethernet conectadas ambas al mismo enrutador.
Puedo decir por experiencia que en mi caso, mi computadora portátil parece favorecer la tarjeta ethernet (eth0) en lugar de la inalámbrica (eth1: sé que ese no es un nombre típico para una interfaz inalámbrica, pero eso es lo que tengo), pero estaba preguntándose, ¿cómo decide eso? Si solo selecciona la interfaz con el número más bajo, ¿qué sucede si las dos opciones son, por ejemplo, eth0 y wlan0?
Editar: @Nils ha señalado que esto todavía es una cuestión de enrutamiento, y la tabla de enrutamiento proporciona la respuesta (ver su respuesta). Esto todavía deja mi pregunta original, pero en una forma diferente. ¿Qué determina el orden de las entradas en la tabla de enrutamiento en Linux? Por ejemplo, aquí está mi tabla de enrutamiento mientras estoy conectado a ambas interfaces:
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Está claro que eth0 es una prioridad más alta en la tabla que eth1 para los destinos en la red local, pero ¿eso se decide en Linux desde la latencia del enlace, el rendimiento del enlace, incluso el nombre de la interfaz, o qué? (La misma pregunta podría ser por qué eth0 es la interfaz para la ruta predeterminada).