Como eu permito / dev / net / Tun em um contêiner LXC gerenciado LXD?

8

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 ...

    
por alci 20.07.2015 / 11:56

3 respostas

12

Você quer:

lxc config device add CONTAINER tun unix-char path=/dev/net/tun
    
por stgraber 23.11.2015 / 18:54
3

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

    
por kent 19.12.2016 / 12:53
0

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

    
por sмurf 20.07.2015 / 13:03