Le routage

Transcription

Le routage
Le routage
Stéphane Gill
[email protected]
Table des matières
Introduction
2
Aspect d’un routeur
2
Concept de routage
2
Table de routage
4
Mise en place d’un routeur Linux
5
Activer le routage
6
Route, définir un routage
6
Exemple de réseau local utilisant un routeur
8
Références
Document écrit par Stéphane Gill
© Copyright 2004 Stéphane Gill
Ce document est soumis à la licence GNU FDL.
Permission vous est donnée de distribuer et/ou modifier des copies de ce document tant que cette note apparaît
clairement.
9
Le routage
Introduction
Les routeurs sont des machines clés 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 façon telle que le chemin choisi soit le
plus court. De plus, les routeurs permettent de manipuler les données afin de pouvoir assurer le
passage d'un type de réseau à un autre.
Aspect d’un routeur
Les premier routeurs étaient de simples ordinateurs ayant plusieurs cartes réseau (passerelle,
gateway), dont chacune étaient reliée à un réseau différent. Les routeurs sont désormais des
dispositifs (Figure 1) possédant des cartes réseaux reliées sur plusieurs réseaux dédiés à la
tâche de routage.
Figure 1: Routeur Cisco 2600
Concept de routage
L’une des principales tâches de la couche réseau du modèle OSI consiste à transmettre les
paquets de données à travers les nœuds du réseau. Ce processus qui se déroule dans la
couche 3 du modèle OSI est appelé le routage. Le routeur extrait chaque paquet de données de
la couche 3, analyse l’adresse de l’expéditeur et celle du destinataire, et transmet le paquet en
fonction de ces informations. Ce processus est décrit dans l’exemple qui suit :
© Copyright 2004 Stéphane Gill
Page 2
Le routage
Ordinateur 1
IP:200.3.1.5
Ordinateur 2
IP:200.3.1.18
Réseau : 200.3.1.0
200.4.1.20
200.3.1.50
Routeur
Réseau : 200.4.1.0
Ordinateur 3
IP:200.4.1.5
Figure 2 : Réseau
Soit la situation suivante :
L’ordinateur 1 doit transmettre un paquet de données à l’ordinateur 2. L’ordinateur 1 et
l’ordinateur 2 appartiennent au même réseau, le paquet de données sera transmis directement à
l’ordinateur 2.
Soit maintenant la situation suivante :
L’ordinateur 1 doit transmettre un paquet de données à l’ordinateur 3. L’ordinateur 1 et
l’ordinateur 3 ne se trouvent pas sur le même réseau. Chaque ordinateur du réseau 200.3.1.0,
dont l’ordinateur 1 fait partie, doit savoir à quel ordinateur intermédiaire (pont, routeur ou
passerelle) il doit transmettre son paquet de données, pour que celui-ci soit transmis au réseau
cible. L’ordinateur 1 va extraire l’adresse Internet du routeur adéquat de sa table de routage.
Cette table contient, à coté de l’adresse du réseau cible, celle du routeur qui permet de l’atteindre.
Le tableau suivant présente la table de routage des ordinateurs du réseau 200.3.1.0.
Réseau cible
Routeur
200.4.1.0
200.3.1.50
En d’autre terme, l’entrée de cette table signifie : « Tous les paquets de données destinés au
réseau 200.4.1.0 doivent être transmis à l’ordinateur 200.3.1.50 ».
Dans l’exemple précédent, la table aurait pu être simplifiée. Il suffit d’indiquer une route par
défaut (Default Route) pour que les ordinateurs transmettent tous les paquets de données qui ne
© Copyright 2004 Stéphane Gill
Page 3
Le routage
sont pas destinés au réseau local à un ordinateur intermédiaire. La table de routage serait alors
la suivante :
Réseau cible
Routeur
0.0.0.0
200.3.1.50
L’entrée « 0.0.0.0 » désigne la route par défaut dans la table de routage. Maintenant, avec cette
table de routage, si l’ordinateur 1 doit transmettre un paquet à l’ordinateur 3, l’ordinateur 1 doit
déterminer si l’ordinateur 3 appartient au même réseau que lui. L’ordinateur 3 appartient à un
autre réseau, l’ordinateur vérifie sa table de routage et ne trouve pas le réseau cible. L’ordinateur
1 utilise donc la route par défaut pour envoyer le paquet à l’ordinateur intermédiaire 200.3.1.50.
Table de routage
La table de routage est une table de correspondance entre l’adresse du réseau visé et l’adresse
du routeur auquel il doit délivrer le message pour que celui-ci puisse se rendre à destination. La
table de routage est donc un tableau contenant l’information suivante :
•
L’adresse de destination
•
L’adresse du prochain routeur directement accessible
•
L’interface.
Ainsi grâce à cette table, le routeur, connaissant l’adresse du destinataire, va être capable de
savoir sur quel interface (carte réseau) et à quel routeur (directement accessible) envoyer le
message. Ce mécanisme consistant à ne connaître que l’adresse du prochain maillon menant à
la destination est appelé routage par sauts successifs.
Examinons maintenant, l’exemple de la Figure 3. Le réseau 200.3.1.0 fait partie d’une structure
de communication, part l’intermédiaire de 3 routeurs.
© Copyright 2004 Stéphane Gill
Page 4
Le routage
PC 1
IP:200.3.1.5
PC 2
IP:200.3.1.18
Réseau: 200.3.1.0
Masque: 255.255.255.0
200.3.1.50
200.3.1.45
200.3.1.77
Router
Router
Router
Reste du réseau
Réseau:
202.12.23.0
Réseau:
141.90.0.0
Figure 3 : réseau à 3 routeurs
Par défaut, tous les paquets de données vers le réseau de l’entreprise sont transmis au routeur
200.3.1.50. Le réseau de classe B 141.90.0.0 et le réseau de classe C 202.12.23.0 forment des
exceptions, car ils ne sont accessibles que par le routeurs 200.3.1.77 ou 200.3.1.45. La structure
de la table de routage de ce réseau est intéressante.
Réseau 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 d’un routeur Linux
Dans cette section les principales étapes nécessaires à la mise en place d’un routeur sous Linux
sont présentées. Les différentes étapes de la mise en place d’un routeur sont :
•
Recompiler le noyau avec les options adéquates;
•
Activer le routage;
•
Installer les modules des cartes réseaux;
© Copyright 2004 Stéphane Gill
Page 5
Le routage
•
Définir les interfaces;
•
Définir les routes
Recompiler le noyau
Dans de nombreuse distribution, comme RedHat, il n’est pas nécessaire de recompiler le noyau
puisque les options adéquates ont déjà été activées.
Activer le routage
L’activation du routage dans le noyau ce fait grâce à la commande suivante :
echo 1 > /proc/sys/net/ipv4/ip_forward
Il est aussi possible d’activer le routage en éditant le fichier /etc/sysctl.conf et en attribuant 1 à la
variable net.ipv4.ip_forward comme dans l’exemple 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, définir un routage
La commande route permet de manipuler les tables de routage IP du noyau. Il s’agit
principalement de définir des routes statiques vers certains ordinateurs ou vers certains réseaux,
à partir d’une interface réseau.
La commande route est toujours mise en œuvre sous l’une des trois formes suivantes :
•
Création d’une route;
•
Suppression d’une route;
•
Affichage d’une route.
© Copyright 2004 Stéphane Gill
Page 6
Le routage
Création d’une route
route add [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]
Suppression d’une route
route del [-net|-host] cible [netmask NM] [gw GW] [[dev] interface]
Affichage d’une route
route
Note: La commande netstat –rn permet aussi d’afficher la table de routage.
Exemple 1 :
Définir une route pour le réseau 205.1.2.0 par l’interface eth0.
route add –net 205.1.2.0 netmask 255.255.255.0 dev eth0
Le paramétrage netmask n’est pas nécessaire ici, car la cible de la route est un réseau de classe
C, et que le masque par défaut est suffisant. C’est typiquement ce genre de règle qu’il faut utiliser
pour faire fonctionner le réseau local.
Exemple 2 :
Définir une règle de routage signifiant que tous les paquets dont l’adresse de destination apparaît
au sous-réseau de classe A 127.0.0.0 doivent être transférer à l’interface loopback (lo).
route add –net 127.0.0.0 netmask 255.0.0.0 lo
Exemple 3 :
Définir la règle de routage qui permet d’accéder le réseau 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 :
Définir une règle de routage qui fait en sorte que tous les paquets qui ne vérifient aucune autre
règle de routage soit envoyés à la passerelle 192.168.0.47
© Copyright 2004 Stéphane Gill
Page 7
Le routage
route add default gw 192.168.0.47 dev eth0
Exemple de réseau local utilisant un routeur
Soit le réseau composé de 3 ordinateurs. L’accès à Internet se fait via un routeur Linux.
PC 1
IP:192.168.100.4
PC 2
IP:192.168.100.3
PC3
IP:192.168.100.2
Réseau: 192.168.100.0
Masque: 255.255.255.0
192.168.100.1
Router
24.200.204.177
Figure 4 : réseau local
Le paramétrage de l’ordinateur 1 se fera de la façon suivante :
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.100.4 netmask 255.255.255.0
route add –net 127.0.0.0 dev lo
route add –net 192.168.100.0 netmask 255.255.255.0 dev eth0
route add default gw 192.168.100.1 dev eth0
Le paramétrage des interfaces réseau et la création de la table de routage pour le routeur se font
de la façon suivante :
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.100.1 netmask 255.255.255.0
ifconfig eth1 24.200.204.177 netmask 255.255.255.0
route add –net 127.0.0.0 dev lo
route add –net 192.168.100.1 netmask 255.255.255.0 dev eth0
© Copyright 2004 Stéphane Gill
Page 8
Le routage
route add –net 24.200.204.177 netmask 255.255.255.0 dev eth1
route add default gw x.y.z.1 dev eth1
Références
« Red Hat Linux 9 : Guide de référence Red Hat ». Red Hat Inc., 2003.
Jeffrey Dean « LPI Linux Certification in a Nutshell, A Desktop Quick Reference », O’Reilly, 2001.
© Copyright 2004 Stéphane Gill
Page 9

Documents pareils