Você quer:
lxc config device add CONTAINER tun unix-char path=/dev/net/tun
Estou tentando executar o Openvpn em um contêiner LXD / LXC e redirecionar o tráfego que chega ao contêiner para a VPN.
O objetivo é substituir uma VM completa que faz exatamente isso (e brincar com o LXD: -)
Consegui um IP do meu servidor DHCP principal, configurei as regras do iptables para mascaramento / encaminhamento do tráfego, mas quando tento iniciar o openvpn, ele é bloqueado pela falta de (access to) / dev / net / tun device.
Eu vi este post no link do ServerFault, mas não parece funcionar com a versão atual do LXC e / ou LXD gerenciando a configuração ...
EDIT: Eu tentei usar este encantamento, mas não teve sucesso:
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 dispositivo tun: não implementado
Agora eu não posso nem lxc config device remove mycontainer tun
, pois isso gera o mesmo erro não implementado. Recipiente parece estar perdido ...
Você quer:
lxc config device add CONTAINER tun unix-char path=/dev/net/tun
Eu estava lutando para fazer isso também dentro de um container sem privilégios. O que acabei fazendo foi
mknod /path/to/your/container/root/tun c 10 200
chown 100000:100000 /path/to/your/container/root/tun
depois dentro do contêiner
mkdir /dev/net
ln -s /root/tun /dev/net/tun
Isso significa que eu não precisei fazer nenhuma alteração no lxc conf
Você precisa fazer o dispositivo tun no host antes de iniciar o container: sudo mknod /path/to/your/container/dev/net/tun c 10 200
Tags networking server lxc lxd