Estou tentando executar o Openvpn dentro de um contêiner LXD / LXC e redirecionar o tráfego que chega ao contêiner para a VPN.
O objetivo é substituir uma VM de pleno direito que faça exatamente isso (e brincar com o LXD :-)
Consegui obter um IP do meu servidor DHCP principal, configurei as regras do iptables para mascarar / encaminhar o tráfego, mas quando tento iniciar o openvpn, ele é bloqueado pela falta de (acesso ao) / dev / net / tun device .
Eu vim através desta postagem no ServerFault /server/429461/no-tun-device-in-lxc-guest-for-openvpn , mas parece não funcionar com a versão atual do LXC e / ou LXD gerenciando a configuração ...
EDIT: Tentei usar este encantamento, mas não teve êxito:
lxc config set mycontainer raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
EDIT2: tentei, lxc config device add mycontainer tun unix-char path=/dev/net/tun major=10 minor=200
mas na próxima parada / início, recebi
erro: falha ao configurar o tun do dispositivo: não implementado
Agora eu não posso nem lxc config device remove mycontainer tun
como ele lança o mesmo erro não implementado. O container parece estar perdido ...
fonte
ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
erro que eu estava tentando iniciar uma conexão OpenVPN a partir de um contêiner. Mencionar isso aqui na esperança de adicionar esta resposta às pesquisas do Google sobre esse erro. Se isso também resolveu a pergunta de @alci, essa resposta deve ser aceita.ERROR: Cannot open TUN/TAP dev /dev/net/tun: Operation not permitted (errno=1)
vez deERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Eu estava lutando para fazer isso também dentro de um contêiner sem privilégios. O que acabei fazendo foi
então dentro do recipiente
Isso significava que eu não precisava fazer alterações no lxc conf
fonte
Você precisa criar o dispositivo tun no host antes de iniciar o contêiner:
sudo mknod /path/to/your/container/dev/net/tun c 10 200
fonte