Il route
comando è obsoleto e non deve più essere utilizzato.
Il nuovo modo è utilizzare il set di comandi iproute, che sono tutti richiamati ip
seguiti da un oggetto. Per esempio:
$ ip route show
default via 192.168.1.254 dev eth0
192.168.0.0/23 dev eth0 proto kernel scope link src 192.168.1.27
Ora, ti sento dire, sono praticamente le stesse informazioni! Sì, ma questa non è l'intera storia. Prima delle tabelle di routing (sì, plurale) arriva la tabella delle regole:
$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
La tabella di routing che stavamo guardando prima è la main
tabella di routing. La tua domanda riguarda la local
tabella di routing, che contiene tutti i percorsi relativi alle connessioni locali. Questa tabella può essere mostrata come segue:
$ ip ro sh table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.0.0 dev eth0 proto kernel scope link src 192.168.1.27
local 192.168.1.27 dev eth0 proto kernel scope host src 192.168.1.27
broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.27
(Puoi abbreviare ip
opzioni / parametri purché siano ancora unici, quindi ip ro sh
è lo stesso di ip route show
.)
Qui puoi vedere i percorsi di loopback.
Puoi fare ogni sorta di cose meravigliose con questo routing basato su policy , ti consiglio di leggere Policy Routing con Linux di Matthew G. Marsh per tutte le informazioni di cui avrai mai bisogno.