Ich versuche, einen OpenVPN-Server in einem LXC-Gast einzurichten. Es scheint jedoch, dass sich kein Tun-Gerät im Container befindet.
Wenn ich openvpn im Container starte, erhalte ich folgenden Fehler:
Tue Sep 18 13:04:18 2012 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Tue Sep 18 13:04:18 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Tue Sep 18 13:04:18 2012 /sbin/ifconfig 10.6.0.1 pointopoint 10.6.0.2 mtu 1500
SIOCSIFADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFDSTADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFMTU: No such device
Tue Sep 18 13:04:18 2012 Linux ifconfig failed: external program exited with error status: 1
Tue Sep 18 13:04:18 2012 Exiting
In meiner Containerkonfiguration sehe ich Folgendes:
#tun
lxc.cgroup.devices.allow = c 10:200 rwm
Ich würde annehmen, dass dies Tun-Geräte für den Container aktiviert haben, aber Modprobe Tun gibt mir einen weiteren Fehler:
FATAL: Could not load /lib/modules/3.2.0-30-generic/modules.dep: No such file or directory
Ich gehe davon aus, dass ich eine Erlaubnis oder etwas in meinem Container vermisse. Kann mir jemand sagen was es ist?
/dev/net
esAntworten:
Ich bin nicht mit LXC vertraut , aber probiere die folgenden Befehle aus:
quelle
Die obigen Antworten funktionieren derzeit mit den aktuellen Versionen von nicht
lxc
. Das manuelle Erstellen eines Zeichengerätsmknod
hat keine Auswirkung - das Gerät ist im Container nicht sichtbar. Die Nutzung derautodev
Funktionalität inlxc
ist erforderlich.systemd
Siehe LXC Config im Arch Linux Wiki für OpenVPN in Linux Containern .systemd
) verwende ich:lxc.cgroup.devices.deny = a
lxc.cgroup.devices.allow = c 10:200 rwm
lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"
Die Reihenfolge ist wichtig - das
deny
muss zuerst sein.quelle
Neben der Antwort von Quanta. Stellen Sie auch sicher, dass Sie diese Zeile in der LXC-Konfiguration haben:
Dies ist die richtige Syntax:
quelle