In che modo Linux determina quale interfaccia di rete utilizzare, quando entrambe sono connesse alla stessa rete?
Nota che questa non è una domanda sul routing. Conosco bene come funziona. Questo, se, per esempio, ho il mio laptop collegato al mio router wireless attraverso sia la mia scheda ethernet che la mia scheda wireless, o se ho due schede ethernet entrambe collegate allo stesso router.
Posso dire per esperienza che nel mio caso il mio laptop sembra favorire la scheda ethernet (eth0) tramite wireless (eth1 - so che non è un nome tipico per un'interfaccia wireless, ma è quello che ho), ma ero chiedendosi, come lo decide? Se prende solo dall'interfaccia con il numero più basso, cosa succede se le due scelte sono, diciamo, eth0 e wlan0?
Modifica: @Nils ha sottolineato che questa è ancora una questione di routing e la tabella di routing fornisce la risposta (vedi la sua risposta). Questo lascia ancora la mia domanda originale, ma in una forma diversa. Cosa determina l'ordine delle voci nella tabella di routing in Linux? Ad esempio, ecco la mia tabella di routing mentre sono connesso a entrambe le interfacce:
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
È chiaro che eth0 ha una priorità maggiore nella tabella rispetto a eth1 per le destinazioni nella rete locale, ma è deciso in Linux dalla latenza del collegamento, dalla velocità effettiva del collegamento, persino dal nome dell'interfaccia o cosa? (La stessa domanda potrebbe essere per il motivo per cui eth0 è l'interfaccia per la route predefinita.)