Вы находитесь на странице: 1из 6

Chapitre 5

Routage sous unix

Le routage sous Unix


Introduction
Les routeurs sont des machines cls d'Internet car ce sont ces dispositifs qui permettent de
choisir le chemin qu'un message va emprunter. Lorsque vous demandez un url, le routeur choisit
le prochain routeur auquel il va envoyer la demande de faon telle que le chemin choisi soit le
plus court. De plus, les routeurs permettent de manipuler les donnes afin de pouvoir assurer le
passage d'un type de rseau un autre.
Aspect dun routeur
Les premiers routeurs taient de simples ordinateurs ayant plusieurs cartes rseau, dont
chacune taient relie un rseau diffrent. Les routeurs sont dsormais des dispositifs (Figure 1)
possdant des cartes rseaux relies sur plusieurs rseaux ddis la tche de routage.

Figure 1: Routeur Cisco 2600


Concept de routage
Lune des principales tches de la couche rseau du modle OSI consiste transmettre les
paquets de donnes travers les nuds du rseau. Ce processus qui se droule dans la couche 3
du modle OSI est appel le routage. Le routeur extrait chaque paquet de donnes de la couche 3,
analyse ladresse de lexpditeur et celle du destinataire, et transmet le paquet en fonction de ces
informations. Ce processus est dcrit dans lexemple qui suit :

SALIM

Chapitre 5

Routage sous unix

Soit la situation suivante :


Lordinateur 1 doit transmettre un paquet de donnes lordinateur 2. Lordinateur 1 et
lordinateur 2 appartiennent au mme rseau, le paquet de donnes sera transmis directement
lordinateur 2.
Soit maintenant la situation suivante :
Lordinateur 1 doit transmettre un paquet de donnes lordinateur 3. Lordinateur 1 et
lordinateur 3 ne se trouvent pas sur le mme rseau. Chaque ordinateur du rseau 200.3.1.0, dont
lordinateur 1 fait partie, doit savoir quel ordinateur intermdiaire (routeur, passerelle) il doit
transmettre son paquet de donnes, pour que celui-ci soit transmis au rseau cible. Lordinateur 1
va extraire ladresse Internet du routeur adquat de sa table de routage. Cette table contient,
cot de ladresse du rseau cible, celle du routeur qui permet de latteindre.
Le tableau suivant prsente la table de routage des ordinateurs du rseau 200.3.1.0.
Rseau cible
200.4.1.0

Routeur
200.3.1.50

En dautre terme, lentre de cette table signifie : Tous les paquets de donnes destins
au rseau 200.4.1.0 doivent tre transmis lordinateur 200.3.1.50 .
Dans lexemple prcdent, la table aurait pu tre simplifie. Il suffit dindiquer une route par
dfaut (Default Route) pour que les ordinateurs transmettent tous les paquets de donnes qui ne
sont pas destins au rseau local un ordinateur intermdiaire. La table de routage serait alors la
suivante :
Rseau cible

Routeur

0.0.0.0

200.3.1.50

Lentre 0.0.0.0 dsigne la route par dfaut dans la table de routage. Maintenant, avec
cette table de routage, si lordinateur 1 doit transmettre un paquet lordinateur 3, lordinateur 1
doit dterminer si lordinateur 3 appartient au mme rseau que lui. Lordinateur 3 appartient
un autre rseau, lordinateur vrifie sa table de routage et ne trouve pas le rseau cible.
Lordinateur 1 utilise donc la route par dfaut pour envoyer le paquet lordinateur intermdiaire
200.3.1.50.
Table de routage
La table de routage est une table de correspondance entre ladresse du rseau vis et
ladresse du routeur auquel il doit dlivrer le message pour que celui-ci puisse se rendre
destination. La table de routage est donc un tableau contenant linformation suivante :

SALIM

Ladresse de destination
Ladresse du prochain routeur directement accessible
Linterface.

Chapitre 5

Routage sous unix

Ainsi grce cette table, le routeur, connaissant ladresse du destinataire, va tre capable de
savoir sur quel interface (carte rseau) et quel routeur (directement accessible) envoyer le
message. Ce mcanisme consistant ne connatre que ladresse du prochain maillon menant la
destination est appel routage par sauts successifs.
Examinons maintenant, lexemple de la Figure 3. Le rseau 200.3.1.0 fait partie dune
structure de communication, part lintermdiaire de 3 routeurs.

Par dfaut, tous les paquets de donnes vers le rseau de lentreprise sont transmis au
routeur 200.3.1.50. Le rseau de classe B 141.90.0.0 et le rseau de classe C 202.12.23.0 forment
des exceptions, car ils ne sont accessibles que par le routeur 200.3.1.77 ou 200.3.1.45. La
structure de la table de routage de ce rseau est intressante.
Rseau cible

Routeur

141.90.0.0

200.3.1.77

2002.12.23.0

200.3.1.45

0.0.0.0

200.3.1.50

Mise en place dun routeur Linux


Dans cette section les principales tapes ncessaires la mise en place dun routeur sous
Linux sont prsentes. Les diffrentes tapes de la mise en place dun routeur sont :
Recompiler le noyau avec les options adquates;
Activer le routage;
Installer les modules des cartes rseaux;
Dfinir les interfaces;
Dfinir les routes
Recompiler le noyau

SALIM

Chapitre 5

Routage sous unix

Dans de nombreuse distribution, comme RedHat, il nest pas ncessaire de recompiler le


noyau puisque les options adquates ont dj t actives.
Activer le routage
Lactivation du routage dans le noyau ce fait grce la commande suivante :
echo 1 > /proc/sys/net/ipv4/ip_forward
Il est aussi possible dactiver le routage en ditant le fichier /etc/sysctl.conf et en attribuant
1 la variable net.ipv4.ip_forward comme dans lexemple ci-dessous.
# Activate packet forwarding
net.ipv4.ip_forward = 1
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0
Route, dfinir un routage
La commande route permet de manipuler les tables de routage IP du noyau. Il sagit
principalement de dfinir des routes statiques vers certains ordinateurs ou vers certains rseaux,
partir dune interface rseau.
La commande route est toujours mise en oeuvre sous lune des trois formes suivantes :

Cration dune route;


Suppression dune route;
Affichage dune route.

Cration dune route


route add [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]
Suppression dune route
route del [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]
Affichage dune route
route
Note: La commande netstat rn permet aussi dafficher la table de routage.
Exemple 1 :
Dfinir une route pour le rseau 205.1.2.0 par linterface eth0.
SALIM

Chapitre 5

Routage sous unix

route add net 205.1.2.0 netmask 255.255.255.0 dev eth0


Le paramtrage netmask nest pas ncessaire ici, car la cible de la route est un rseau de classe C,
et que le masque par dfaut est suffisant. Cest typiquement ce genre de rgle quil faut utiliser
pour faire fonctionner le rseau local.
Exemple 2 :
Dfinir une rgle de routage signifiant que tous les paquets dont ladresse de destination apparat
au sous-rseau de classe A 127.0.0.0 doivent tre transfrer linterface loopback (lo).
route add net 127.0.0.0 netmask 255.0.0.0 lo
Exemple 3 :
Dfinir la rgle de routage qui permet daccder le rseau 192.168.1.0 via la passerelle
192.168.0.1
route add net 192.1.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
Exemple 4 :
Dfinir une rgle de routage qui fait en sorte que tous les paquets qui ne vrifient aucune autre
rgle de routage soit envoys la passerelle 192.168.0.47
route add default gw 192.168.0.47 dev eth0
Exemple de rseau local utilisant un routeur
Soit le rseau compos de 3 ordinateurs. Laccs Internet se fait via un routeur Linux.

Le paramtrage de lordinateur 1 se fera de la faon suivante :


ifconfig eth0 192.168.100.4 netmask 255.255.255.0
SALIM

Chapitre 5

Routage sous unix

route add default gw 192.168.100.1 dev eth0


Le paramtrage des interfaces et la cration de la table de routage pour le routeur1 se font de la
faon suivante :
ifconfig eth0 192.168.100.1 netmask 255.255.255.0
ifconfig eth1 24.200.204.177 netmask 255.255.255.0
ifconfig eth2 160.12.1.1 netmask 255.255.0.0
route add net 192.168.100.0 netmask 255.255.255.0 dev eth0
route add net 165.10.0.0 netmask 255.255.0.0 dev eth2
route add default gw x.y.z.1 dev eth1

SALIM

Вам также может понравиться