Lorsque le pont est construit (entre eth0 et eth1 dans l'exemple), le flux des données est directement échangé, si nécessaire, entre eth0 et eth1 au niveau Ethernet, et donc à l'insu complet de la couche IP. Même si eth0 et eth1 disposent d'une adresse IP, ces interfaces ne remonteront plus les données qu'elles reçoivent au niveau IP.
Autrement dit, si vous faites ça à distance en vous connectant sur la machine aussi bien par eth0 que par eth1, sitôt que le pont sera opérationnel, vous en perdrez le contrôle sans rémission.
Heureusement tout de même, il existe des solutions pour répondre à ce désagrément potentiel.
Lorsque nous créons un pont avec brctl addbr
, le nom attribué à ce pont (ici br0) apparait comme un nœud réseau auquel il est possible d'attribuer une adresse IP. br0 sera accessible par IP. Tous ceux qui ont eu l'occasion d'avoir entre les mains un switch administrable savent que ces dispositifs disposent d'une adresse IP qui permet leur administration par un moyen plus sympathique que le terminal VT100 sur le port RS232.
Nous accédons à une machine distante, disons par eth0 pour fixer les idées. Nous voulons sur cette machine configurer un pont dans lequel eth0 sera intégré.
Lorsque eth0 sera intégrée au pont br0, nous perdrons instantanément et sans rémission la connexion. Si la machine n'est pas physiquement accessible, nous sommes mal barrés.
Le moyen le plus simple est de disposer d'une interface supplémentaire, qui ne doit pas être intégrée au pont et par laquelle nous pouvons accéder à la machine, mais ceci n'est bien entendu pas toujours possible.
Dans notre cas où le pont n'est destiné qu'au trafic IPv6 et non IPv4, la première précaution à prendre est de s'assurer que la règle ebtables -t broute -A BROUTING -p ! ipv6 -j DROP
est en place avant d'activer le pont.
Attribuer une adresse IPv6 au pont br0
après l'avoir créé mais avant de lui assigner les interfaces Ethernet peut également être d'un grand secours.