A partir du noyau 2.2, les possibilités de routage se sont améliorées. En gros, on dispose de plusieurs tables de routage, et on peut décider de la route à emprunter suivant l'interface source ou l'adresse IP source, au lieu de la simple adresse IP de destination comme avant. Pour utiliser ces possibilités, il faut charger ip-routing [34].
Pour configurer notre routeur, procéder comme suit :
# ip route add 192.168.2.1 dev eth0 scope link #
Tout ce qui va à une adresse de la forme 192.168.2.X (192.168.2.0/24) doit transiter par le routeur d'adresse IP 192.168.2.1 :
# ip route add 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.1 #
Ajouter une route pour l'interface loopback :
# ip route add 127.0.0.0/8 dev lo scope link #
La route par défaut est la passerelle d'adresse IP 192.168.1.1 :
# ip route add default via 192.168.1.1 dev eth0 #
L'affichage de la table de routage permet de vérifier que tout s'est bien passé :
# ip route 192.168.2.1 dev eth0 scope link 192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.1 127.0.0.0/8 dev lo scope link default via 192.168.1.1 dev eth0 #