Próbuję uruchomić Openvpn w kontenerze LXD / LXC i przekierować ruch przychodzący do kontenera do sieci VPN.
Celem jest zastąpienie pełnoprawnej maszyny wirtualnej, która robi dokładnie to (i gra z LXD :-)
Udało mi się uzyskać adres IP z mojego głównego serwera DHCP, skonfigurować reguły iptables do maskowania / przekazywania ruchu, ale kiedy próbuję uruchomić openvpn, jest on blokowany przez brak (dostępu do) / dev / net / tun urządzenia .
Natknąłem się na ten post na ServerFault /server/429461/no-tun-device-in-lxc-guest-for-openvpn , ale wydaje się, że nie działa z bieżącą wersją LXC i / lub LXD zarządza konfiguracją ...
EDYCJA: Próbowałem użyć tej inkantacji, ale nie udało się:
lxc config set mycontainer raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
EDIT2: próbowałem, lxc config device add mycontainer tun unix-char path=/dev/net/tun major=10 minor=200
ale przy następnym zatrzymaniu / starcie dostałem
błąd: Błąd konfiguracji tun urządzenia: Nie zaimplementowano
Teraz nie mogę, lxc config device remove mycontainer tun
ponieważ generuje ten sam błąd Nie zaimplementowany. Pojemnik wydaje się zagubiony ...
źródło
ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
błąd, który próbuję zainicjować połączenie OpenVPN z kontenera. Wspominając o tym tutaj, mamy nadzieję dodać tę odpowiedź do wyszukiwań Google dotyczących tego błędu. Jeśli to rozwiązało również pytanie @alci, odpowiedź powinna zostać zaakceptowana.ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted (errno=1)
zamiastERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Próbowałem to zrobić również w nieuprzywilejowanym kontenerze. Skończyło się na tym, że to zrobiłem
następnie w pojemniku
Oznaczało to, że nie musiałem dokonywać żadnych zmian w lxc conf
źródło
Przed uruchomieniem kontenera musisz ustawić urządzenie tun na hoście:
sudo mknod /path/to/your/container/dev/net/tun c 10 200
źródło