2003-03-09
Historique des versions | ||
---|---|---|
Version 0.2.fr.1.0 | 2003-03-09 | Revu par : FR |
Première traduction française | ||
Version 0.2 | 2002-10-08 | Revu par : NR |
Ajout de la partie d'exemple de configuration et d'indications dans la configuration du routage et le test du routage respectivement. | ||
Version 0.1 | 2002-09-19 | Revu par : NR |
Mise à jour du lien vers ebtables dans la section des Thèmes voisins. Ajout d'une remarque ayant trait aux messages de déverminage des faux positifs de br_nf |
La mise en place d'un pont Ethernet permet d'ajouter une entité d'audit ou de régulation à un réseau de façon transparente. Une telle installation n'impose aucun changement à la topologie du réseau d'accueil. Elle s'effectue en connectant le pont Ethernet entre le réseau à analyser et l'élément responsable du routage (l'équipement connecté à l'Internet).
La version originale de ce guide pratique est disponible dans d'autres formats. Pour le téléchargement, nous vous recommandons cette archive tar. La version originale de ce document est publié par le Projet de documentation Linux (LDP).
La dernière version française de ce document est disponible sur le site du projet de traduction traduc.org.
Pour ceux qui sont à la recherche d'une traduction, il existe aussi une version version allemande!
Les ponts Ethernet joignent de façon transparente plusieurs segments Ethernet.
Un pont Ethernet distribue les trames qui se présentent à un port aux autres ports. Il l'effectue de façon intelligente: une fois qu'il sait grâce à partir de quel port joindre une interface d'adresse MAC donnée, la trame ne sera émise que sur le port correspondant sans polluer les autres segments.
Des interfaces Ethernet peuvent s'ajouter à une interface existante et devenir des ports (logiques) de l'interface du pont.
L'emploi d'un dispositif de type netfilter au dessus d'un pont rend le système capable d'effectuer du filtrage. On obtient ainsi un filtrage transparent. Aucune adresse IP n'est même nécessaire. Il est bien sûr possible d'en affecter une à l'interface de pontage à des fins de maintenance (via ssh :o) ).
L'intérêt du dispositif est évident. La transparence épargne à l'administrateur la charge de reprise de la topologie réseau. Les utilisateurs ne remarquent pas l'existence du pont mais les connexions sont bloquées. Enfin, la transition ne perturbe pas le fonctionnement opérationnel (qu'on se figure un réseau où la perte de connectivité réseau coûte cher!).
L'autre cas courant concerne les personnes connectées à l'Internet au moyen d'un routeur dédié. Les fournisseurs d'accès ne partagent guère les privilèges d'administration sur les équipements loués et le client ne peut donc pas modifier la configuration. Le client a cependant un réseau dont il ne veut pas reprendre toute la configuration. Il n'est effectivement pas obligé de le faire s'il a recours à un pont.
La configuration logicielle suivante est nécessaire sur l'hôte de pontage conformément à notre terrain de test.
La prise en charge du pontage Ethernet est disponible en standard à partir du noyau 2.4.18. Aucun ajout n'est requis.
Pour disposer de netfilter et pouvoir se servir d'iptables, il faut toutefois appliquer un supplément de code. Le nécessaire se trouve dans la page sourceforge du pontage Ethernet.
root@bridge:~> cd /usr/src/ root@bridge:~> wget -c http://bridge.sourceforge.net/devel/bridge-nf/bridge-nf-0.0.7-against-2.4.18.diff root@bridge:~> cd /usr/src/linux/ root@bridge:~> patch -p1 -i ../bridge-nf/bridge-nf-0.0.7-against-2.4.18.diff
Une fois le noyau standard rectifié, on active les options de configuration adéquates du noyau. On peut se reporter au document suivant pour la mise au point d'un noyau personnel: CD-Net-Install-HOWTO, boîte à outils. Oui, c'est encore en allemand. Je corrigerai ça à l'occasion. Pour l'instant, dans:
on active:
et dans:
[*] Enable loadable module support [*] Set version information on all module symbols [*] Kernel module loader
Jusqu'ici, tout va bien. À présent, dans:
on active:
De même, dans:
on choisit tout ce qui est souhaité. Enfin, on active:
et [1] :
Il ne reste plus qu'à exécuter un cycle:
C'est tout. On n'oubliera pas d'éditer le fichier /etc/lilo.conf en conséquence avant de taper:
Note : Pourquoi ne pas identifier le noyau comme destiné au pontage? On édite le Makefile de plus haut niveau dans les sources du noyau et on modifie la ligne qui comprend EXTRAVERSION =. On peut la positionner à bridge par exemple. Une fois l'étape modules_install effectuée, les modules se trouveront dans le répertoire /lib/modules/2.4.18bridge.
Une fois le noyau capable de jouer les ponts Ethernet et de supporter netfilter, on prépare l'utilitaire brctl. brctl est l'outil de configuration pour le pontage. On télécharge les sources du paquetage puis on le décompresse et on se positionne dans le répertoire créé.
root@bridge:~> wget -c http://bridge.sourceforge.net/bridge-utils/bridge-utils-0.9.5.tar.gz root@bridge:~> tar xvzf bridge-utils-0.9.5.tar.gz root@bridge:~> cd bridge-utils-0.9.5
Il est temps de lire le fichier README ainsi que ceux qui se trouvent dans le répertoire doc/. On peut alors lancer une commande make. L'exécutable brctl/brctl qui en résulte est à copier dans le répertoire /sbin/.
On peut à présent passer à la section d'installation.
Linux doit être mis au courant de l'existence du pont. On commence donc par réclamer une interface de pontage Ethernet virtuelle (à exécuter sur la machine bridge, voir la configuration de test):
Le protocole d'établissement d'arbre (Spanning Tree) n'est pas nécessaire. On suppose qu'il n'y a qu'un seul routeur. Une boucle est donc peu probable. La fonctionnalité correspondante peut donc être désactivée. Le bavardage réseau diminue alors.
Après cette phase préparatoire, on lance enfin quelques commandes intéressantes. On ajoute les interfaces Ethernet physiques en les attachant à l'interface de pontage virtuelle br0 qui vient d'être créée:
À présent les interfaces Ethernet sont chacune devenues une extrémité du pont. Certes, elles étaient et elles sont toujours là (on peut les voir :o) ) mais comme elles appartiennent au pont, elles n'ont plus besoin de leur adresse IP. On leur retire donc celle-ci:
root@bridge:~> ifconfig eth0 down root@bridge:~> ifconfig eth1 down root@bridge:~> ifconfig eth0 0.0.0.0 up root@bridge:~> ifconfig eth1 0.0.0.0 up
Parfait, on dispose donc à présent d'une station sans adresse IP. Si ce n'était pas déjà le cas, il est temps de passer sur une console locale à la machine pour la configurer. Une console série est la bienvenue.
[1] |
Remarque: Cette entrée n'est disponible qu'avec un noyau modifié! |