LXC TUN/TAP in Proxmox aktivieren

Wer in einem LXC Container OpenVPN o.ä. laufen lassen möchte, muss dem Container einen TUN/TAP Adapter zuweisen. Da dies spezielle Einstellungen auf der Kernelebene sind, benötigt der LXC Container einen Configeintrag.

Auf dem Proxmox Node auf dem der Container läuft muss in der Datei /var/lib/lxc//config der Eintrag lxc.cgroup.devices.allow = c 10:200 rwm in einer neuen Zeile hinzugefügt werden.
Möchte man TUN/TAP Standrdmäßig aktivieren kann der Eintrag auf unter /etc/lxc/default.conf hinzugefügt werden.

Nun muss bei jedem Start des Containers der Adapter hinzugefügt werden. Dafür folgenden Code in den Autostart.

if ! [ -c /dev/net/tun ]; then
mkdir -p /dev/net
mknod -m 666 /dev/net/tun c 10 200
fi

Der Autostart unter Linux ist bspw. /etc/rc.local. rc.local gilt jedoch ab Debian 9 als veraltet. Um die rc.local unter Debian 9+ wieder zu aktiveren kann man den Service einfach wieder hinzufügen.

cat </etc/rc.local
#!/bin/sh -e

# rc.local

# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will „exit 0“ on success or any other
# value on error.

# In order to enable or disable this script just change the execution
# bits.

# By default this script does nothing.

exit 0
EOF
chmod +x /etc/rc.local
systemctl daemon-reload
systemctl start rc-local

Quelle: https://stackoverflow.com/a/44801337

Gurkengewuerz

Ein privater Blog.


By gurkengewuerz, 2018-12-31