Was sind die Features bei Erstellung eines LXC?

kangaroo72

Member
Sep 4, 2024
43
3
8
Hoi...

kurze Frage. Wenn ich einen LXC erstelle, hab ich die Möglichkeit Features zu aktivieren (s. Screenshot). Wie äußert sich das denn?
Wenn ich SMB im Container benötige, hab' ich eigentlich einen SAMBA-Server installiert. Mal so als Beispiel...

1741474042247.png
 
container (bzw. die prozesse die drin laufen) duerfen standardmaessig aus sicherheitsgruenden recht wenig (um die angriffsflaeche, die es moeglicherweise erlaubt aus dem container "auszubrechen" gering zu halten). die "features" sind eine moeglichkeit, einen teil dieser einschraenkungen aufzuheben. normalerweise brauchst du keines davon ausser "nesting" (das erlaubt, im container wieder container oder container-aehnliche dinge anzulegen, was bei modernen linux distributionen gebraucht wird).
 
Grundsätzlich kann man mit den Optionen bestimmte Funktionen freischalten, die man normalerweise auslassen würde, da sie auch ein potentielles Sicherheitsrisiko darstellen.

Nesting ist Voraussetzung, damit man so Sachen wie podman oder docker benutzen kann, das erlaubt Container im Container zu erstellen.

Empfohlen wird das trotzdem nicht, in der Vergangenheit gab es mitunter Probleme, weil nach einen Kernelupdate o.ä. das nicht mehr funktioniert hat.
If you want to run application containers, for example, Docker images, it is recommended that you run them inside a Proxmox QEMU VM. This will give you all the advantages of application containerization, while also providing the benefits that VMs offer, such as strong isolation from the host and the ability to live-migrate, which otherwise isn’t possible with containers.
https://pve.proxmox.com/wiki/Linux_Container

NFS/SMB/CIFS erlauben entsprechende Netzwerkfreigaben ohne Umwege über bind mounts auf dem Hostsystem einzubinden, das setzt aber auch die Benutzung privilgierter Container vorraus, die allerdings ebenfalls deutlich unsicherer sind als die normalen unpriviligierten Container.
Bei unpriviligierten Containern kann man stattdessen mit bind mounts arbeiten: https://pve.proxmox.com/wiki/Linux_Container#pct_settings
Und fuse erlaubt wiederum die Nutzung sogenannter userspace filesystems direkt im Container , die Dokumentation rät allerdings davon ab und verweist auch wiederum auf bind mounts. Bei bind mounts mounted man die entsprechenden Sachen erst auf dem host, bevor man sie dann an den container durchreicht.

Generell ist es eine gute Idee sich die offizielle Dokumentation parat zu halten, da werden solche Sachen im Normalfall erklärt.
 
Last edited:
  • Like
Reactions: kangaroo72
Nesting ist Voraussetzung, damit man so Sachen wie podman oder docker benutzen kann, das erlaubt Container im Container zu erstellen.

nesting wird auch fuer moderne distributionen mit systemd benoetigt, weil systemd container-aehnliche features bietet um services einzuschraenken - deswegen ist es mittlerweile auf der UI auch standardmaessig an :) und fuer nested LXC oder systemd-nspawn (die funktionieren im allgemeinen sehr viel besser als docker und co im container)