Ich versuche, Openvpn in einem LXD / LXC-Container zum Laufen zu bringen und den zum Container kommenden Datenverkehr zum VPN umzuleiten.
Der Zweck ist es, eine vollwertige VM zu ersetzen, die genau das tut (und mit LXD zu spielen :-)
Ich habe es geschafft, eine IP von meinem Haupt-DHCP-Server abzurufen und die iptables-Regeln für das Maskieren / Weiterleiten des Datenverkehrs einzurichten. Wenn ich jedoch versuche, openvpn zu starten, wird dies durch das Fehlen (Zugriff auf) / dev / net / tun-Gerät blockiert .
Ich bin auf diesen Beitrag auf ServerFault /server/429461/no-tun-device-in-lxc-guest-for-openvpn gestoßen , aber er scheint nicht mit der aktuellen Version von LXC und / oder zu funktionieren LXD verwaltet die Konfiguration ...
EDIT: Ich habe versucht, diese Beschwörung zu verwenden, aber es ist nicht gelungen:
lxc config set mycontainer raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
EDIT2: versucht, lxc config device add mycontainer tun unix-char path=/dev/net/tun major=10 minor=200
aber beim nächsten Stopp / Start habe ich bekommen
Fehler: Fehler beim Konfigurieren der Geräteeinstellung: Nicht implementiert
Jetzt kann ich nicht einmal, lxc config device remove mycontainer tun
da es den gleichen nicht implementierten Fehler auslöst. Container scheint verloren zu sein ...
quelle
ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Fehler, den ich beim Versuch hatte, eine OpenVPN-Verbindung von einem Container aus zu initiieren. Erwähnen Sie dies hier in der Hoffnung, diese Antwort zu Google-Suchanfragen zu diesem Fehler hinzuzufügen. Wenn dies auch die Frage von @alci löste, sollte diese Antwort akzeptiert werden.ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted (errno=1)
stattERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Ich hatte Mühe, dies auch in einem nicht privilegierten Container zu tun. Was ich am Ende tat, war
dann in den Behälter
Dies bedeutete, dass ich keine Änderungen an lxc conf vornehmen musste
quelle
Sie müssen das Tun-Gerät auf dem Host erstellen, bevor Sie den Container starten:
sudo mknod /path/to/your/container/dev/net/tun c 10 200
quelle