In der Arch-Paketverwaltung liegt das Paket lxc, welches in der Version 2.0.3-1
vorliegt. Beim Upgrade von 2.0.1-1
auf die neue Version führt es dazu, dass die Container keine IP-Adressen mehr bekommen, wie der Befehl lxc-ls -f
zeigt.
[root@linuxroula chrism]# lxc-ls -f
NAME STATE AUTOSTART GROUPS IPV4 IPV6
boinc RUNNING 1 autostart - -
web RUNNING 1 autostart - -
Die Container haben außer dem Loopback-Interface kein weiteres Interface mehr installiert. Das Problem liegt daran, dass die Container schlichtweg kein Interface finden, über das die Brücke läuft.
Durch Einfügen folgender Konfigurationsangaben (z. B. in die /usr/share/lxc/config/debian.common.conf, wenn alle Hosts auf Debian basieren) wird das Interface br0
(bzw. den Namen der Brücke) mit der Konfiguration lxc.network.link
definiert (Quelle):
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.link
specify the interface to be used for real network traffic.
Nach Restart von LXC (beziehungsweise des Hosts) zeigt lxc-ls -f
, dass die Container wieder IP-Adressen beziehen.
[root@linuxroula chrism]# lxc-ls -f
NAME STATE AUTOSTART GROUPS IPV4 IPV6
boinc RUNNING 1 autostart 192.168.178.83 {IPv6}
web RUNNING 1 autostart 192.168.178.196 {IPv6}
Bild: https://de.wikipedia.org/wiki/Tux_(Maskottchen)#/media/File:NewTux.svg