Translation(s): English - Français
D'autres types de configurations réseaux pour les containers sont disponibles sur la page principale LXC.
VLAN + bridge + LXC
Configuration de l'hôte
Partant du principe que l'hôte est situé sur un réseau privé local classique, et que vous placez l'invité dans le VLAN .123, voici à quoi pourrait ressembler le fichier /etc/network/interfaces :
auto eth0
iface eth0 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
iface eth0.123 inet manual
auto br0.123
iface br0.123 inet manual
bridge_ports eth0.123
bridge_fd 0
bridge_maxwait 0La configuration VLAN fait partie du paquet vlan et est décrite dans la page man vlan-interfaces(5) (qui décrit également des configurations alternatives). Les options de bridge_* se trouvent dans bridge_utils_interfaces(5), issu de bridge-utils. Descriptions des VLAN et Bridge Linux.
La configuration résultante devrait ressembler à ceci :
host$ ip addr show _: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether __:__:__:__:__:__ brd ff:ff:ff:ff:ff:ff inet 192.168.1.12/24 brd 192.168.1.255 scope global eth0 inet6 ____::___:____:____:____/64 scope link valid_lft forever preferred_lft forever _: br0.123: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether __:__:__:__:__:__ brd ff:ff:ff:ff:ff:ff inet6 ____::___:____:____:____/64 scope link valid_lft forever preferred_lft forever _: eth0.123@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether __:__:__:__:__:__ brd ff:ff:ff:ff:ff:ff inet6 ____::___:____:____:____/64 scope link valid_lft forever preferred_lft forever host$ ip route show 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.12 default via 192.168.1.1 dev eth0
Adresses IP sur le bridge
Comme alternative, il est aussi possible de placer l'adresse IP sur le bridge au lieu de l'interface physique, ainsi la configuration devient :
iface eth0.123 inet manual
auto br0.123
iface br0.123 inet static
bridge_...
...
address ...Il n'y a pas de ligne explicite sur eth0.
La configuration résultante devrait ressembler à ceci :
host$ ip addr show _: eth0: ... link/ether ... inet6 ... _: br0.123: ... link/ether ... inet 192.168.1.12/24 brd 192.168.1.255 scope global br0.123 inet6 ... _: eth0.123@eth0: ... ... host$ ip route show 192.168.1.0/24 dev br0.123 proto kernel scope link src 192.168.1.12 default via 192.168.1.1 dev br0.123
Configuration de l'invité (guest)
Ensuite, vous devriez configurer le container/invité LXC avec quelque chose comme ceci :
lxc.utsname = guestvm lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0.123 lxc.network.name = eth0 lxc.network.ipv4 = 192.168.2.1/24 lxc.network.veth.pair = vethvm1
Où 192.168.2.x sera sur le VLAN 123.
Pour l'invité, cela sera transparent : à l'intérieur de l'invité, un seul eth0 sera accessible, avec l'adresse IP 192.168.2.1/24 (et pas de VLAN).
Vous aurez probablement besoin du pare-feu ebtables pour contrôler le trafic à travers le pont.
Attention : si vous recevez le message suivant au démarrage du réseau de l'invité : RTNETLINK answers: File exists, alors vous devrait commenter la ligne lxc.network.ipv4 dans la config de l'invité, et ajouter un auto eth0 + iface eth0 inet static ... complet dans le fichier /etc/network/interfaces de l'invité (La configuration réseau d'ifupdown de l'invité au démarrage essayera de monter une interface déjà montée qui a déjà une IP configuré, ce qui explique le message d'erreur).
(VLAN + bridge + LXC) x n
Instructions pour ajouter plus de VLANs/bridges/LXCs.
Configuration de l'hôte
Créez un bridge avec une adresse IP, comme ci-dessus :
iface eth0.123 inet manual
auto br0.123
iface br0.123 inet static
bridge_...
...
address ...Pour chaque VLAN + Bridge associé supplémentaire, ajoutez sans indiquer d'adresse :
iface eth0.124 inet manual
auto br0.124
iface br0.124 inet manual
bridge_...
Configuration de l'invité (guest)
Les containers sont configurés comme dans le cas d'un VLAN unique.
Avec plusieurs bridges, il devient possible de configurer un container avec plusieurs ports, chacun connecté à un bridge différent (et donc, typiquement, à un VLAN différent). (Bien sûr il est aussi possible, mais c'est sans grand intérêt, de connecter plusieurs ports au même bridge.) Voir lxc.conf(5) pour plus de détails.
