Einführung: Containervirtualisierung mit LXC

OpenVZ eignet sich für die Containervirtualisierung auf Linux sehr gut, da man damit innerhalb eines Betriebssystems abgeschottete „Server“ ausführen kann. So lassen sich ähnlich wie bei virtuellen Rechnern mehrere Systeme innerhalb eines Hostsystems voneinander isolieren. Mit OpenVZ kann man also die Vorteile der Virtualisierung ohne deren Aufwand nutzen.

Der Nachteil von OpenVZ ist jedoch, dass es nicht im Mainline-Kernel enthalten ist. Das bedeutet, dass man einen Kernel aus dem OpenVZ-Projekt verwenden muss. Dies muss nicht unbedingt ein Problem darstellen, es sei denn, man führt eine nicht unterstützte Linux-Distribution aus. Zudem darf man sich nicht daran stören, dass Upstream-Sicherheitsfixes erst mit einer gewissen Verzögerung ankommen.

Genau wie OpenVZ bieten auch Linux Containers (LXC) die Möglichkeit, Container mit darin laufenden Prozessen auszuführen, um diese vom Host-Betriebssystem zu isolieren. Das Projekt ist Teil des Upstream-Kernels, was bedeutet, dass jede Linux-Distribution, die Kernel 2.6.29 oder später verwendet, über die erforderlichen Elemente auf Kernelebene verfügt. Sie müssen also nicht mehr von Drittanbietern bezogen werden. Fedora 12 zum Beispiel verfügt über den geeigneten Kernel und die Userspace-Tools für die Nutzung von LXC.

Um mit der Nutzung von LXC beginnen zu können, muss man die LXC-Userspace-Tools installieren und einen geeigneten Kernel mit aktivierter LXC-Unterstützung verwenden. Bei Fedora 12 ist der Kernel bereits enthalten und die Userspace-Tools lassen sich wie folgt installieren:


yum install lxc

Als Nächstes ist sicherzustellen, dass der Kernel LXC korrekt unterstützt:


lxc-checkconfig

Nun wird eine Liste der Funktionen angezeigt; wenn alle Funktionen als „aktiviert“ aufgeführt sind, kann LXC mit dem Kernel verwendet werden. Als Erstes muss man das Dateisystem der LXC-Control Group erstellen und mounten:


mkdir /cgroup
mount none -t cgroup /cgroup
echo "none /cgroup cgroup defaults 0 0" >> /etc/fstab

Anschließend ist das Bridged Networking zu konfigurieren. Dies kann man als Root mit dem Befehl brctl, einem Teil des Pakets bridge-utils (eventuell muss dieses Paket noch installiert werden), erledigen:


brctl addbr br0
brctl setfd br0 0
ifconfig br0 192.168.250.52 promisc up
brctl addif br0 eth0
ifconfig eth0 0.0.0.0 up
route add -net default gw 192.168.250.1 br0

Damit wird die Bridge-Schnittstelle br0 erstellt und ihr die bestehende Host-IP-Adresse zugewiesen (in diesem Fall 192.168.250.52). Dieser Schritt ist lokal auszuführen, da bei Zuweisung von br0 das Netzwerk ausfällt, bis die Neukonfiguration abgeschlossen ist. Die nächsten Befehle setzen dann die IP-Adresse von eth0 wieder auf 0.0.0.0; da diese aber an die Bridge-Schnittstelle gebunden ist, wird sie ohnehin auf die vorherige IP-Adresse reagieren. Zum Schluss fügt man eine Route für br0 hinzu, über die die Container dann auf das Netzwerk zugreifen.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

DSL oder Kabel – Welcher Anschluss passt zu Ihnen?

Internet in den eigenen vier Wänden ist heutzutage nicht mehr wegzudenken. Denn egal, ob Homeoffice…

58 Minuten ago

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

5 Stunden ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

5 Stunden ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

5 Stunden ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

21 Stunden ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

23 Stunden ago