Pour créer un bridge, le paquet “bridge-utils” doit être préalablement installé.
root@netLXC2017:/home/btssio# brctl addbr br0 root@netLXC2017:/home/btssio# ifconfig -a br0 Link encap:Ethernet HWaddr 0a:ce:29:99:80:7f UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth0 Link encap:Ethernet HWaddr 08:00:27:4a:d2:c0 inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ...
On voit bien que le bridge br0 a été créé !
root@netLXC2017:/home/btssio# brctl addbr br1 root@netLXC2017:/home/btssio# brctl addbr br0 root@netLXC2017:/home/btssio# ifconfig br0 Link encap:Ethernet HWaddr be:33:d7:fb:3c:c3 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) br1 Link encap:Ethernet HWaddr b2:de:c1:60:d2:c6 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth0 Link encap:Ethernet HWaddr 08:00:27:4a:d2:c0 inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0 adr inet6: fe80::a00:27ff:fe4a:d2c0/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX pac
root@netLXC2017:/home/btssio# brctl show bridge name bridge id STP enabled interfaces br0 8000.000000000000 no br1 8000.000000000000 no root@netLXC2017:/home/btssio#
root@netLXC2017:/home/btssio# ifconfig br0 172.17.30.30/16 root@netLXC2017:/home/btssio# ifconfig br0 br0 Link encap:Ethernet HWaddr be:33:d7:fb:3c:c3 inet adr:172.17.30.30 Bcast:172.17.255.255 Masque:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:0 (0.0 B) TX bytes:2235 (2.1 KiB)
root@netLXC2017:/home/btssio# brctl delbr br1 bridge br1 is still up; can't delete it root@netLXC2017:/home/btssio# ifconfig br0 down root@netLXC2017:/home/btssio# ifconfig br1 down root@netLXC2017:/home/btssio# brctl delbr br1 br0 root@netLXC2017:/home/btssio#
root@netLXC2017:/home/btssio# brctl Usage: brctl [commands] commands: addbr <bridge> add bridge delbr <bridge> delete bridge addif <bridge> <device> add interface to bridge delif <bridge> <device> delete interface from bridge hairpin <bridge> <port> {on|off} turn hairpin on/off setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show [ <bridge> ] show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp <bridge> {on|off} turn stp on/off
La définition d'un pont se fait normalement en utilisant la commande brctl.
Pour que la configuration soit appliquée à chaque démarrage de la machine, nous allons en fait modifier le fichier de configuration des interfaces réseau /etc/network/interfaces en utilisant le fichier de configuration d'exemple infra et en le personnalisant :
# Commentez les lignes suivantes : # L’interface réseau principale #allow-hotplug eth0 #iface eth0 inet dhcp auto br0 iface br0 inet dhcp bridge_stp off # stp inactif bridge_ports eth0 bridge_fd 0 # pas de délai de transfert bridge_maxwait 0 # Décommentez ci-dessous et commentez ci-dessus pour avoir une ip statique sur l’hôte #auto br0 #iface br0 inet static # bridge_ports eth0 # bridge_fd 0 # address < IP de l’hôte ici, exemple: 192.168.1.20> # netmask 255.255.255.0 # network <IP du réseau ici, exemple: 192.168.1.0> # broadcast <IP de broadcast ici, exemple: 192.168.1.255> # gateway <IP de la passerelle ici, exemple: 192.168.1.1> # # les options dns-* sont implémentées par le paquet resolvconf package, si installé # dns-nameservers <Adresse IP du DNS ici, exemple: 192.168.1.1> # dns-search votre.domaine.de.Recherche.ici