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.
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.
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.
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.
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.
Gated est disponible à :
sunsite.unc.edu
/pub/Linux/system/Network/daemons/gated11_bin.tgz
La distribution binaire de gated comprend trois programmes et deux exemples de fichiers de configuration.
Les programmes sont :
le démon gated.
l'interface utilisateur de gated. gdc est utilisé pour contrôler le démon gated l'arrêter et le relancer, obtenir son état...
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 :
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.
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
.