Estou tentando configurar um servidor openvpn dentro de um convidado lxc. No entanto, parece que não há um dispositivo de afinação disponível no contêiner.
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 assumiria que isso ativou os dispositivos tun para o contêiner, mas o modprobe tun me deu 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 é?
/dev/net
?Respostas:
Não estou familiarizado com o lxc , mas tente os seguintes comandos:
fonte
As respostas acima não funcionam atualmente com as versões atuais do
lxc
. A criação manual de um dispositivo de caracteremknod
sem efeito - o dispositivo não é visível dentro do contêiner. É necessário o uso daautodev
funcionalidadelxc
.systemd
Consulte LXC Config no Arch Linux Wiki para OpenVPN em Linux Containers .systemd
) eu uso: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"
A ordem é importante -
deny
deve ser a primeira.fonte
Além da resposta dos quanta. Verifique também se você possui esta linha na configuração do lxc:
Esta é a sintaxe correta:
fonte