7. Le routage

Contenu de cette section

Si vous utilisez un PC sous Linux avec deux interfaces réseaux pour router le trafic entre deux (ou plus) sous-réseaux, vous devez avoir compilé votre noyau avec l'option "IP Forwarding". Taper la commande:

  cat /proc/ksyms | grep ip_forward

Vous devriez avoir quelque chose comme...

  00141364 ip_forward_Rf71ac834

Si ce n'est pas le cas, alors vous n'avez pas activé l'option IP Forwarding lors de la compilation de votre noyau, et vous devrez recompiler et installer un nouveau noyau.

Pour le bien de cet exemple, supposons que vous ayez décidé de découper votre adresse de réseau IP 192.168.1.0 en 4 sous-réseaux (chacun d'eux comprenant 62 numéros IP d'interfaces/hôtes). Toutefois, deux de ces réseaux sont combinés en un unique plus grand sous-réseau, donnant trois réseaux physiques. C'est à dire:

Reseau          Diffusion        Masque de reseau    Hotes
192.168.1.0     192.168.1.63     255.255.255.192     62
192.168.1.64    192.168.1.127    255.255.255.192     62
182.168.1.128   192.168.1.255    255.255.255.126     124 (voir la note)

Note: la raison pour laquelle le dernier réseau n'a que 124 adresses utilisables (et pas 126 comme on pourrait le supposer d'après le masque de réseau) est que c'est en fait un 'super réseau' composé de deux sous-réseaux. Les hôtes sur les deux autres sous-réseaux interprèteront 192.168.1.192 comme l'adresse de réseau du sous-réseau 'inexistant'. De la même manière, ils interprèteront 192.168.1.191 comme l'adresse de diffusion du sous-réseau 'inexistant'.

Donc, si vous utilisez 192.168.1.191 ou 192 comme des adresses d'interfaces dans le troisième sous-réseau, alors les machines des deux autres sous-réseaux ne pourront pas communiquer avec ces interfaces.

Ceci illustre un point important du découpage en sous-réseaux - les adresses utilisables sont déterminées par le PLUS PETIT sous-réseau dans l'espace d'adressage du réseau.

7.1 Les tables de routage

Supposons qu'un ordinateur fonctionnant sous Linux serve de routeur pour ce réseau. Il aura trois interfaces réseau vers les réseaux locaux, et éventuellement une troisième interface vers Internet (qui devrait être sa route par défaut).

Supposons que l'ordinateur sous Linux utilise les plus petites adresses IP disponibles sur chaque sous-réseau pour son interface sur ce réseau. On configurerait ses interfaces réseau ainsi:

Interface       Adresse IP      Masque de reseau
eth0            192.168.1.1     255.255.255.192
eth1            192.168.1.65    255.255.255.192
eth2            192.168.1.129   255.255.255.128

Le routage utilisé serait:

Destination    Passerelle   Masque          Interface
192.168.1.0    0.0.0.0      255.255.255.192 eth0
192.168.1.64   0.0.0.0      255.255.255.192 eth1
192.168.1.128  0.0.0.0      255.255.255.128 eth2

Sur chacun des sous-réseaux, les hôtes seraient configurés avec leur propre adresse IP et masque de réseau (appropriés pour le réseau particulier). Chaque hôte déclarerait le PC sous Linux comme son routeur/passerelle, en spécifiant l'adresse IP de l'interface du PC sous Linux sur ce réseau particulier.


Robert Hart Melbourne, Australia March 1997.


Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre