Problèmes de réseau / routing de conteneurs LXC

J'ai expérimenté la virtualisation LXC afin d'exécuter des machines virtuelles sur un server dédié, mais j'ai de la difficulté à configurer le réseau correctement.

J'utilise veth pont mis en réseau, comme indiqué ici: http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/ (le guide que j'ai utilisé pour installer le conteneur LXC)

Lorsque je démarre le conteneur, il fonctionne correctement, peut accéder à Internet et accepte les connections entrantes à sa propre adresse IP. Cependant, dès que je le démarre, la mise en réseau de ma machine hôte (server dédié) est complètement interrompue et ne reviendra pas tant que le server n'aura pas redémarré.

La seule chose à laquelle je peux penser est que cela crée des parameters de configuration incorrectement configurés, mais je ne suis pas sûr de ce que devraient être les corrects. Des conseils sur comment je pourrais reconfigurer cela? Merci.

Le nœud hôte et le conteneur lui-même exécutent Debian Squeeze, avec les packages mis à niveau vers les dernières versions.

Configuration réseau du noeud hôte (server dédié) (/ etc / network / interfaces):

allow-hotplug eth0 auto br0 iface br0 inet static bridge_ports eth0 bridge_fd 0 bridge_stp off bridge_maxwait 0 address 46.105.102.29 netmask 255.255.255.0 network 46.105.102.0 broadcast 46.105.102.255 gateway 46.105.102.254 

Configuration du réseau de conteneurs LXC (/ etc / network / interfaces):

 auto eth0 iface eth0 inet static address 94.23.153.205 netmask 255.255.255.0 broadcast 94.23.153.205 post-up route add 46.105.102.254 dev eth0 post-up route add default gw 46.105.102.254 post-down route del 46.105.102.254 dev eth0 

Configuration du réseau conteneur (à partir du file de configuration LXC):

 lxc.utsname = paradox lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.hwaddr = 02:00:00:ba:47:a0 lxc.network.ipv4 = 94.23.153.205 

Avertissement: Je ne suis pas tout à fait familier avec LXC. Quoi qu'il en soit, j'ai quelques observations qui peuvent être utiles, car j'ai beaucoup d'expérience avec le réseau Debian, les ponts et les machines virtuelles (en particulier, qemu-kvm).

Tout d'abord, le guide indique explicitement que vous devez commenter la configuration eth0 sur le file d' interfaces l'hôte, mais que vous avez la allow-hotplug eth0 . Commentez cette ligne.

Deuxièmement, lors de la création de configurations de pontage impliquant des interfaces physiques comme celles-ci, j'aime append des lignes au file d' interfaces pour garder explicitement les interfaces physiques non initialisées. Dans ce cas, eth0 doit être ajouté au pont, donc j'aurais ceci:

 iface eth0 inet manual 

Et enfin, c'est un peu étrange d'avoir différents sous-réseaux sur le même pont. Bien que cela devrait fonctionner, LXC est encore en plein développement, il est donc possible que même des configurations réseau peu conventionnelles puissent exposer des bogues. Essayez de placer votre machine virtuelle sur le même sous-réseau que l'hôte ( 46.105.102.0/24 ), de sorte que vous n'ayez pas besoin de masquer explicitement les routes de votre machine virtuelle.