Previous Next Table of Contents

10. Routage (obligatoire)

Après avoir configuré toutes vos interfaces réseau vous vous demandez comment votre machine va aiguiller vos paquets IP. Si vous avez une seule interface réseau, votre choix est simple, tous les paquets pour toutes les machines excepté la vôtre doivent être dirigés vers cette interface. Si vous avez plus d'une interface, le choix sera plus compliqué. Vous pouvez par exemple avoir à la fois une interface ethernet et une liaison SLIP avec votre machine à la maison. Dans ce cas vous devez diriger les paquets pour votre machine vers l'interface SLIP et tous les autres vers l'interface ethernet. Le routage est vraiment un mécanisme très simple, mais ne vous inquiétez pas si vous le trouvez un peu difficile au premier abord; tout le monde passe par là.

Vous pouvez visualiser le contenu de votre table de routage en utilisant la commande route sans option.

Il y a quatre mécanismes utilisés fréquemment pour configurer le réseau sous unix. Je vais les décrire un par un rapidement.

10.1 Routes Statiques/Manuelles

Le routage statique, comme son nom l'indique, est un routage `codé en dur'. Autrement dit, il ne changera pas si il y a des problèmes sur votre réseau ou si une autre route devient utilisable. Les routes statiques sont souvent utilisées quand vous avez un réseau très simple sans autres routes possibles vers la machine de destination, ou si vous voulez utiliser une route particulière quels que soient les changements du réseau.

Sous Linux, il y a une utilisation spéciale des routes manuelles qui sert à ajouter une route SLIP ou PLIP vers une machine que vous avez configurée : le paramètre ifconfig pointopoint. Donc si vous avez un lien slip/plip, et avez utilisé le paramètre pointopoint en spécifiant l'adresse de la machine distante, vous devez ajouter une route statique vers cette adresse pour que le logiciel de routage ip sache comment aiguiller les paquets vers cette adresse. La commande route que vous utiliseriez pour un lien SLIP/PLIP avec une ligne spécialisée serait :

#/sbin/route add IPR.IPR.IPR.IPR

où : IPR.IPR.IPR.IPR représente l'adresse IP de la machine distante.

10.2 Route par défaut

Le mécanisme de la route par défaut est probablement le mécanisme le plus commun et le plus utilisé par les utilisateurs de stations de travail et les machines sur la plupart des réseaux. La route par défaut est une route statique spéciale qui correspond à toutes les adresses de destination  ainsi, quand un paquet ne trouve pas de destination, il est envoyé à la route par défaut.

Si votre configuration est uniquement composée d'une interface ethernet ou d'une seule interface SLIP, vous devrez diriger celle-ci vers votre route par défaut. Dans le cas d'une interface ethernet, le noyau Linux sait où envoyer les paquets pour n'importe quelle machine de votre réseau. Il y arrive grâce à l'adresse réseau et masque réseau décrits précédemment. Cela signifie que seuls les paquets ayant une destination extérieure à votre réseau posent problème. Pour que cela fonctionne vous devez faire pointer votre route par défaut sur l'adresse de votre routeur de façon à faire sortir les paquets de votre réseau local. Si vous possédez une connexion SLIP, votre serveur SLIP fera office de routeur, donc votre route par défaut sera votre serveur SLIP.

Pour configurer votre route par défaut, ajoutez les lignes suivantes à votre fichier rc.inet1 après la configuration de toutes vos interfaces réseau :

#
# Ajouter une route par défaut.
#
/sbin/route add default gw RGA.RGA.RGA.RGA
#

où : RGA.RGA.RGA.RGA représente votre l'adresse de votre routeur.

10.3 Procuration ARP

Cette méthode est laide et risquée. Elle doit être employée avec d'extrêmes précautions, mais certains d'entre vous voudront l'utiliser quand même.

Ceux qui auront le plus besoin du mécanisme de procuration ARP seront ceux qui veulent utiliser leurs machines comme serveur SLIP. Par contre pour ceux qui veulent utiliser PPP, le démon PPP vous simplifiera et vous automatisera la tâche, ce qui la rendra beaucoup plus sûre d'emploi.

Normalement quand une machine de votre réseau ethernet veut parler avec vous, elle connaît votre adresse IP, mais ne connaît pas votre adresse physique (ethernet) vers laquelle envoyer les paquets. Le mécanisme ARP a été conçu spécialement pour mettre en correspondance les adresses réseau et les adresses physiques.

Si vous voulez utiliser votre machine comme serveur pour d'autres machines, elle devra savoir répondre aux requêtes ARP à leur place car elles ne seront pas reliées physiquement au réseau ethernet. Disons que vous avez choisi un ensemble d'adresses IP sur votre réseau local qui serviront aux clients SLIP. Par exemple ces adresses seraient : 128.253.154.120-124, et votre carte ethernet a comme adresse physique 00:00:C0:AD:37:1C. (Vous trouverez l'adresse physique en exécutant la commande ifconfig sans paramètre). Pour indiquer à votre serveur Linux de répondre aux requêtes ARP par procuration pour les adresses désirées ajouter les commandes suivantes à votre fichier rc.inet1 :

#
# Procuration ARP pour les adresses SLIP allouées.
#
/sbin/arp -s 128.263.154.120 00:00:C0:AD:37:1C pub
/sbin/arp -s 128.263.154.121 00:00:C0:AD:37:1C pub
/sbin/arp -s 128.263.154.122 00:00:C0:AD:37:1C pub
/sbin/arp -s 128.263.154.123 00:00:C0:AD:37:1C pub
/sbin/arp -s 128.263.154.124 00:00:C0:AD:37:1C pub
#
# Fin des procurations ARP.

L'argument pub signifie `publier'. C'est cet argument qui indique à votre machine de répondre aux requêtes pour ces adresses bien qu'elles ne soient pas destinées à votre machine. Quand elle répondra, elle renverra bien sûr sa propre adresse physique.

Naturellement vous devez vous assurer que votre serveur Linux possède bien ces adresses IP reliées à l'interface SLIP.

Si vous utilisez PPP, vous n'aurez pas besoin de vous tracasser avec la table ARP, pppd se chargera de gérer ces entrées pour vous si vous utilisez le paramètre proxyarp, et aussi longtemps que l'adresse IP de la machine distante restera valable. Vous devrez mettre le masque de votre réseau sur la ligne de commande de pppd.

10.4 gated - le démon de routage

gated pourrait être utilisé à la place de la procuration ARP et ce serait certainement plus propre, mais son utilisation principale est de faire de votre machine Linux un routeur IP. gated supporte plusieurs protocoles de routage, le plus commun, utilisé pour les petits réseaux, s'appellent rip. rip signifie `Routing Information Protocol' (Protocole d'Information de Routage). Si vous utilisez gated, configuré pour rip, votre machine Linux diffusera périodiquement une copie de sa table de routage sur votre réseau dans un format spécial. Avec cette méthode, toutes les autres machines de votre réseau sauront quelles sont les adresses accessibles à partir de votre machine.

gated devra être lancé par rc.inet2. Cela sera traité dans la section suivante. Vous avez peut-être un démon appelé routed qui tourne. gated est supérieur à routed parce qu'il est plus souple et plus fonctionnel. Vous devez utiliser gated et non routed.

Obtenir gated

Gated est disponible à :

sunsite.unc.edu

/pub/Linux/system/Network/daemons/gated11_bin.tgz

Installer gated

La distribution binaire de gated comprend trois programmes et deux exemples de fichiers de configuration.

Les programmes sont :

gated

le démon gated.

gdc

l'interface utilisateur de gated. gdc est utilisé pour contrôler le démon gated  l'arrêter et le relancer, obtenir son état...

ripquery

est un outil de diagnostic pour demander les routes connues du routeur en utilisant des requêtes RIP de type `query' ou `poll'.

Les fichiers de configurations sont :

gated.conf

c'est l'actuel fichier de configuration du démon gated. Il vous permet de spécifier comment gated réagit quand il fonctionne. Vous pouvez autoriser ou inhiber un protocole de routage et contrôler le comportement des protocoles de routage actifs.

gated.version

un fichier texte qui donne la version du démon gated.

La distribution binaire de gated n'installe pas les fichiers aux endroits habituels. Heureusement ils sont peu nombreux.

Pour installer les binaires faire :

# cd /tmp
# gzip -dc .../gated.linux.bin.tgz | tar xvf -
# install -m 500 bin/gated /usr/sbin
# install -m 444 bin/gated.conf bin/gated.version /etc
# install -m 555 bin/ripquery bin/gdc /sbin
# rm -rf /tmp/bin

Je garde les démons réseau dans /usr/sbin  si les vôtres sont ailleurs vous devrez évidement les mettre où vous avez l'habitude. Les exemples de fichiers de configuration de gated incluent des configurations pour émuler l'ancien démon routed. Il fonctionnera sans doute pour vous dans la plupart des cas et il ressemble à cela:

#
#  Cette configuration émule routed.Elle exécute RIP et n'envoie
#  des mises à jour s'il y a plus d'une interface en activité
#  et le forwarding IP est activé dans le noyau.
#
#       NOTEZ que RIP *ne tournera pas* si la somme de contrôle UDP 
#       n'est pas activée dans le noyau.
#
rip yes ;
traceoptions all;
#

Si vous avez des routes statiques à ajouter, vous pouvez le faire dans un paragraphe static ajouté à votre /etc/gated.conf comme suit:

#
static {
37.0.0.0 mask 255.0.0.0 gateway 44.136.8.97 ;
host 44.136.8.100 gateway 44.136.8.97 ;
} ;
#

L'exemple précédent crée une route statique dans le réseau Classe A 37.0.0.0 via la passerelle 44.136.8.97 et une route statique vers un hôte ayant l'adresse 44.136.8.100 via la passerelle 44.136.8.97. Si vous faites cela vous n'avez pas besoin d'ajouter des routes en utilisant la commande route , gated ajoutera et gérera les routes à votre place.

Pour installer les pages de man, faire :

# cd /tmp
# gzip -dc .../gated.linux.man.tgz | tar xvf -
# install -m 444 man/*.8 /usr/man/man8
# install -m 444 man/*.5 /usr/man/man5
# rm -rf /tmp/man

Les fichiers man contiennent des informations précises et détaillées sur la configuration de gated. Pour trouver des informations pour configurer gated, regarder la page de man de gated-config.


Previous Next Table of Contents