Nenhum dispositivo tun em lxc guest para openvpn

15

Estou tentando configurar um servidor openvpn dentro de um convidado lxc. No entanto, parece que não há dispositivo tun disponível no recipiente.

Iniciar o openvpn dentro do contêiner me dá este erro:

Tue Sep 18 13:04:18 2012 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Tue Sep 18 13:04:18 2012 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Tue Sep 18 13:04:18 2012 /sbin/ifconfig  10.6.0.1 pointopoint 10.6.0.2 mtu 1500
SIOCSIFADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFDSTADDR: No such device
: ERROR while getting interface flags: No such device
SIOCSIFMTU: No such device
Tue Sep 18 13:04:18 2012 Linux ifconfig failed: external program exited with error status: 1
Tue Sep 18 13:04:18 2012 Exiting

Na configuração dos meus contêineres, vejo o seguinte:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm

Eu suponho que esses dispositivos tun habilitados para o contêiner, mas modprobe tun me dá outro erro:

FATAL: Could not load /lib/modules/3.2.0-30-generic/modules.dep: No such file or directory

Estou assumindo que estou perdendo alguma permissão ou algo no meu contêiner. Alguém pode me dizer o que é isso?

    
por Lawrence 18.09.2012 / 15:15

3 respostas

15

Não estou familiarizado com o lxc , mas experimente os seguintes comandos:

# mkdir /dev/net 
# mknod /dev/net/tun c 10 200 
# chmod 666 /dev/net/tun
    
por 18.09.2012 / 15:28
6

As respostas acima não funcionam agora com as versões atuais de lxc . A criação manual de um dispositivo de caracteres com mknod não tem efeito - o dispositivo não fica visível dentro do contêiner. O uso da funcionalidade autodev em lxc é obrigatório.

lxc.cgroup.devices.deny = a

lxc.cgroup.devices.allow = c 10:200 rwm

lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"

O pedido é importante - o deny deve ser o primeiro.

    
por 01.01.2016 / 13:39
2

Além da resposta de quanta. Certifique-se também de ter esta linha na configuração lxc:

mknod /dev/net/tun c 10 200

Esta é a sintaxe correta:

#tun
lxc.cgroup.devices.allow = c 10:200 rwm
    
por 20.05.2013 / 11:10

Tags