Les ponts sont des périphériques qui peuvent être installés dans un réseau sans aucune reconfiguration. Un commutateur réseau est basiquement un pont multi-ports. Un pont est souvent un commutateur avec 2 ports. Cependant, Linux supporte très bien plusieurs interfaces dans un pont, le conduisant à fonctionner comme un vrai commutateur.
Les ponts sont souvent déployés quand on est confronté à un réseau défaillant qui a besoin d'être réparé sans aucune modification. Dans la mesure où un pont est un équipement de niveau 2, la couche sous la couche IP, les routeurs et serveurs ne sont pas conscients de son existence. Ceci signifie que vous pouvez bloquer ou modifier certains paquets de manière transparente ou mettre en forme le trafic.
Un autre élément positif est qu'un pont peut souvent être remplacé par un câble croisé ou un hub quand il tombe en panne.
L'aspect négatif est que la mise en place d'un pont peut engendrer beaucoup de confusion, à moins qu'il ne soit très bien configuré. Le pont n'apparaît pas dans les traceroute, mais pourtant des paquets disparaissent sans raison ou sont changés en allant d'un point A à un point B ('ce réseau est HANTE !). Vous devriez également vous demander si une organisation qui "ne veut rien changer" fait le bon choix.
Le pont Linux 2.4/2.5 est documenté sur cette page.
Au moment de Linux 2.4.20, le pont et iptables ne se "voient" pas l'un l'autre sans une aide. Si vous "pontez" les paquets de eth0 à eth1, ils ne "passent" pas par iptables. Ceci signifie que vous ne pouvez pas faire de filtrage, de traduction d'adresse (NAT), de désossage ou quoique ce soit d'autres. Ceci a été corrigé dans les versions 2.5.45 et supérieures.
Vous devriez également regarder 'ebtables', qui est encore un autre projet. Il vous permettra de faire des choses vraiment terribles comme MACNAT et 'brouting'. C'est vraiment effroyable.