Comment faire très simplement un bridge ethernet utilisé ici en pont filtrant DHCP ?

On a eu le problème sur notre réseau de terminaux dont le serveur DHCP était en conflit avec le serveur DHCP du reste du réseau.
Nota : on ne doit jamais avoir 2 serveurs DHCP sur un même segment de réseau.

Problème : isoler les 2 réseaux et leurs serveurs DHCP respectifs.

Solution : On a simplement installé un bridge (pont filtrant) sur un vieux pentium 75 avec 2 cartes réseaux qui sépare les 2 réseaux locaux.

On a mis dessus une distrib linux minimum (debian) sans interface graphique, et une règle "ebtable" qui filtre les appels DHCP et ça marche depuis un an et demi sans problème...

Le traffic vers le net (slis) ou autres serveurs (de fichiers, web...) n'est pas affecté, seul les appels UDP sur les ports 67 et 68 sont filtrés...

On est parti d'une doc de lealinux (http://lea-linux.org/cached/index/Reseau-secu-pont-filtrant.html#) et on a appliqué le script suivant :

#!/bin/sh
/sbin/ifconfig eth0 0.0.0.0 promisc
/sbin/ifconfig eth1 0.0.0.0 promisc
/usr/sbin/brctl addbr mon-pont
/usr/sbin/brctl addif mon-pont eth0
/usr/sbin/brctl addif mon-pont eth1
/sbin/ifconfig mon-pont x.x.x.x
/sbin/ebtables -A FORWARD -p ipv4 ==ip-proto udp ==ip-destination-port 67:68 -j DROP

(Nota : Attention les 4 signes "=" de la dernière ligne, sont à remplacer par des "-")
Ce sript filtre les ports UDP 67 (serveur) et 68 (client) utilisés par le protocole DHCP

Donc pour récapituler, une installation d'une debian minimum (ou autres) en 2.6, sans interface graphique, mais avec SSH lancé pour gérer à distance, puis ajouter le paquet "bridge-utils" (ou l'archive http://sourceforge.net/project/showfiles.php?group_id=26089) ainsi que le paquet "ebtables" (ou l'archive http://sourceforge.net/project/showfiles.php?group_id=39571&package_id=31718)

Recopier le script ci-dessus, le nommer "script_pont.sh", remplacer x.x.x.x par un numéro ip compatible avec votre réseau et qui sera l'ip appellé par SSH (ex : 172.16.0.162), rendre exécutable le script et le lancer automatiquement au boot.

D'autres infos sur http://guides.ovh.com/LinuxBridgeFirewall/contenu.html http://ebtables.sourceforge.net/examples.html#easy

Alex et Deny