Bienvenue, cher lecteur.
Ce document a pour but de vous éclairer sur la manière de faire du routage avancé avec Linux 2.2/2.4. Méconnus par les utilisateurs, les outils standard de ces noyaux permettent de faire des choses spectaculaires. Les commandes comme "route" et "ifconfig" sont des interfaces vraiment pauvres par rapport à la grande puissance potentielle d'iproute2.
J'espère que cet HOWTO deviendra aussi lisible que le très réputé Netfilter, de Rusty Russel.
Vous pouvez nous contacter en nous écrivant à équipe HOWTO.
Ce document est distribué avec l'espoir qu'il sera utile et utilisé. Sauf mention contraire, les documents Linux HOWTO sont la propriété de leurs auteurs respectifs. Les documents Linux HOWTO peuvent être reproduits et distribués en totalité ou en partie, sur tout support physique ou électronique, tant que cette notice de droit d'auteur est présente sur chaque copie. La redistribution commerciale est autorisée et encouragée ; néammoins, l'auteur souhaite être informé de toute distribution de ce genre. Toute traduction, travail dérivé, ou agrégat incorporant tout ou partie d'un ou plusieurs documents Linux HOWTO doit être couvert par ce même droit d'auteur. Ce qui veut dire que vous ne pouvez produire un travail dérivé d'un HOWTO et imposer des restrictions supplémentaires concernant sa distribution.
En un mot, si votre dorsale STM-64 est tombée ou distribue de la pornographie à vos estimés clients, cela n'est pas de notre faute. Désolé.
Copyright (c) 2000 par Bert Hubert, Gregory Maxwell et Martijn van Oosterhout
Copiez et distribuez (vendez ou donnez) librement ce document, dans n'importe quel format. Les demandes de corrections et/ou de commentaires sont à adresser à la personne qui maintient ce document. Vous pouvez créer un travail dérivé et le distribuer à condition :
Il est aussi demandé que, si vous publiez cet HOWTO sur un support papier, vous en envoyiez des exemplaires aux auteurs pour une "relecture critique" :-)
Comme le titre l'implique, ceci est un HOWTO "avancé". Bien qu'il ne soit pas besoin d'être un expert réseau, certains prérequis sont nécessaires. Ce document se veut la suite du Linux 2.4 Networking HOWTO par les même auteurs. Vous devriez probablement le lire en premier.
Voici d'autres références qui pourront vous aider à en apprendre plus :
Très bonne introduction, expliquant ce qu'est un réseau, et comment on le connecte à d'autres réseaux.
Excellent document, bien que très bavard. Il vous apprendra beaucoup de choses qui sont déjà configurées si vous êtes capable de vous connecter à Internet. Probablement à /usr/doc/HOWTO/NET-HOWTO.txt mais peut aussi être trouvé en ligne
Une petite liste des choses qui sont possibles :
Peu de personnes utilisent couramment ces fonctionnalités avancées. Il y a plusieurs raisons à cela. Bien que la documentation soit fournie, la prise en main est difficile. Les commandes de contrôle du trafic ne sont pratiquement pas documentées.
Il y a plusieurs choses qui doivent être notées au sujet de ce document. Bien que j'en aie écrit la majeure partie, je ne veux vraiment pas qu'il reste tel quel. Je crois beaucoup à l'Open Source, je vous encourage donc à envoyer des remarques, des mises à jour, des corrections, etc. N'hésitez pas à m'avertir des coquilles ou d'erreurs pures et simples. Si mon anglais vous paraît parfois peu naturel, ayez en tête, s'il vous plaît, que l'anglais n'est pas ma langue natale. N'hésitez pas à m'envoyer vos suggestions [NdT : en anglais !]
Si vous pensez que vous êtes plus qualifié que moi pour maintenir une section, ou si vous pensez que vous pouvez écrire et maintenir de nouvelles sections, vous êtes le bienvenu. Le source SGML de cette documentation est disponible via CVS, ce qui permet à plus de personnes de travailler dessus.
Pour vous aider, vous trouverez beaucoup de mentions FIXME (NdT : "à corriger"). Les corrections sont toujours les bienvenues. Si vous trouvez une mention FIXME, vous saurez que vous êtes en territoire inconnu. Cela ne veut pas dire qu'il n'y a pas d'erreurs ailleurs, faites donc très attention. Si vous avez validé quelque chose, faites-le nous savoir, ce qui nous permettra de retirer la mention FIXME.
Je prendrai quelques libertés tout au long de cet HOWTO. Par exemple, je pars de l'hypothèse d'une connexion Internet à 10 Mbits, bien que je sache très bien que cela n'est pas vraiment courant.
L'adresse canonique de cet HOWTO est Ici.
Nous avons maintenant un CVS en accès anonyme disponible depuis le monde entier. Cela est intéressant pour plusieurs raisons. Vous pouvez facilement télécharger les nouvelles versions de ce HOWTO et soumettre des patches. En outre, cela permet aux auteurs de travailler sur le source de facon indépendante, ce qui est une bonne chose aussi.
$ export CVSROOT=:pserver:anon@outpost.ds9a.nl:/var/cvsroot
$ cvs login
CVS password: [enter 'cvs' (without 's)]
$ cvs co 2.4routing
cvs server: Updating 2.4routing
U 2.4routing/2.4routing.sgml
Si vous repérez une erreur, ou voulez ajouter quelque chose, faites le
en local, exécutez cvs diff -u
, et envoyez-nous le résultat.
Un fichier Makefile est fourni pour vous aider à créer des fichiers PostScript, dvi, pdf, html et texte. Vous pouvez avoir à installer les sgml-tools, ghostscript et tetex pour obtenir tous les formats de sortie.
Nous allons essayer de faire des manipulations intéressantes dès le début, ce qui veut dire que tout ne sera pas expliqué en détail tout de suite. Veuillez passer sur ces détails, et accepter de considérer qu'ils deviendront clairs par la suite.
Le routage et le filtrage sont deux choses distinctes. Le filtrage est très bien documenté dans le HOWTO de Rusty, disponible ici :
Nous nous focaliserons principalement sur ce qu'il est possible de faire en combinant netfilter et iproute2.