Je me bats pour faire un bridge avec LXC. Commençons par comment est foutu ma machine :
J'ai deux interfaces physique, eno1 et eno2. Pour accéder à l'Internet, j'utilise eno1 et j'ai fais un sous réseau, avec serveur DHCP sur eno2.
J'ai aussi un VPN, qui a comme interface virtuel tun0, relier à eno1 pour aller sur Internet. Tout le trafic de ma machine et du sous réseau venant de eno2 passe dans ce VPN.
J'ai testé différentes façons pour faire un bridge pour LXC en créant un avec le nom de lxc0 lié à mon interface eno2. Commençons par celui où ça marche :
Netctl :
J'ai réussi à faire un bridge avec netctl, avec la configuration suivante, ça marche bien depuis mon conteneur mais quand j'active le service pour se lancer au démarrage, mon VPN ne veut plus se lancer...
Code : Tout sélectionner
Description="Bridge for LXC"
Interface=lxc0
Connection=bridge
BindsToInterfaces=(eno2)
#IP=dhcp
## Ignore (R)STP and immediately activate the bridge
IP=static
Address='10.0.0.1/27'
Gateway='10.0.0.1'
SkipForwardingDelay=yes
Iproute2 :
J'ai essayé aussi avec Iproute2 et les commandes ip suivante. J'ai bien mon bridge qui est créer mais quand je lance mon conteneur, si je n'ai pas défini d'ip, il en trouve pas et même quand je lui assigne une, j'arrive pas à ping les autres machines de mon réseau local. Il y a quelque chose qui se passe, car mon serveur DHCP voit passer des trucs en rapport avec ce conteneur.
Code : Tout sélectionner
ip link add name lxc0 type bridge
ip link set lxc0 up
ip link set eno2 up
ip link set eno2 master lxc0
bridge link
Systemd-networkd :
À la fin, j'ai essayé avec systemd-networkd, mais c'est le truc que j'ai le moins compris, je me suis inspiré de ce lien pour faire le bridge, mais rien.
Je ne vois pas d'où peut venir le / les problème(s), si c'est du faire que je veux faire plusieurs choses en même temps (LXC, DHCP, VPN...) ou que c'est moi qui est mauvais.
Demandez moi plus de précision si je ne suis pas clair !
Merci pour votre aide !