La route
commande est obsolète et ne devrait plus être utilisée.
La nouvelle façon consiste à utiliser l'ensemble de commandes iproute, qui sont toutes invoquées avec ip
suivi d'un objet. Par exemple:
$ 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
Maintenant, je vous entends dire, ce sont essentiellement les mêmes informations! Oui, mais ce n'est pas toute l'histoire. Avant les tables de routage (oui, au pluriel) vient la table de règles:
$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
La table de routage que nous examinions auparavant est la main
table de routage. Votre question concerne la local
table de routage, qui contient tous les itinéraires relatifs aux connexions locales. Ce tableau peut être présenté comme suit:
$ 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
(Vous pouvez abréger les ip
options / paramètres tant qu'ils sont toujours uniques, c'est donc ip ro sh
la même chose que ip route show
.)
Ici, vous pouvez voir les itinéraires de bouclage.
Vous pouvez faire toutes sortes de choses merveilleuses avec ce routage basé sur des politiques , je vous recommande de lire Policy Routing with Linux de Matthew G. Marsh pour toutes les informations dont vous aurez besoin.