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 0

La 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.

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.

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.