Bridger des interfaces réseau a l’interet de simuler une connexion directe ou se comportant comme un hub, tout en ayant la possibilité de filtrer les packets.

Ici je vous explique la mise en place d’un bridge tel qu’il puisse fonctionner.

Le serveur possede 4 interfaces réseau :

eth0 : Connexion indépendante non filtrée permettant l’administration du serveur 192.168.99.0/24

eth1 et eth2 : Connexion bridgées (mode promiscus).

eth3 : Connexion cliente dhcp prévue pour une connexion filtrante du serveur dans un réseau client. (Médiathèque, entreprise)

tap0 : connexion du réseau privé virtuel

br0 : Connexion du bridge rassenmblant eth1, eth2, et tap0

Un bridge d’interface se compose en interfaces bridgé et en une interface bridge (br0) rassemblant ces derniers. Les interfaces bridgées doivent être sans ip et en mode promiscus. Nous précisons tout les paramètre réseau à l’interface br0.

Modifions la configuration d’openvpn

sudo nano /etc/openvpn/server.conf

Remplacez dev tun par dev tap0

Remplacez server 10.8.0.0 255.255.255.0
par
server-bridge 192.168.9.128 255.255.255.0 192.168.9.129 192.168.9.254
(où 192.168.9.1 sera l’ip du serveur et 192.168.9.129 192.168.9.254 sera la plage dhcp)

Créez l’interface tap0 et bridgez vos interfaces ainsi (attention ceci provoque une microcoupure réseau) :
sudo openvpn –mktun –dev tap0
sudo ifconfig tap0 up
sudo brctl addbr br0
sudo brctl addif br0 tap0
sudo brctl addif br0 eth1
sudo brctl addif br0 eth2
sudo ifconfig tap0 0.0.0.0 promisc up
sudo ifconfig eth1 0.0.0.0 promisc up
sudo ifconfig eth2 0.0.0.0 promisc up
sudo ifconfig br0 up
sudo ifconfig br0 192.168.9.1

Sur le client, remplacez dev tun par dev tap dans le fichier /etc/openvpn/client.conf