Estoy tratando de configurar un servidor openvpn dentro de un invitado lxc. Sin embargo, parece que no hay ningún dispositivo tun disponible en el contenedor.
Iniciar openvpn dentro del contenedor me da este error:
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
En mi configuración de contenedores, veo lo siguiente:
#tun
lxc.cgroup.devices.allow = c 10:200 rwm
Supongo que esto habilitó dispositivos tun para el contenedor, pero modprobe tun me da otro error:
FATAL: Could not load /lib/modules/3.2.0-30-generic/modules.dep: No such file or directory
Supongo que me falta algún permiso o algo en mi contenedor. ¿Alguien puede decirme qué es?
/dev/net
?Respuestas:
No estoy familiarizado con lxc , pero prueba los siguientes comandos:
fuente
Las respuestas anteriores en realidad no funcionan ahora con las versiones actuales de
lxc
. La creación manual de un dispositivo de caracteresmknod
no tiene ningún efecto: el dispositivo no es visible dentro del contenedor. Se requiere el uso de laautodev
funcionalidad enlxc
.systemd
Ver configuración LXC en Arch Linux Wiki para OpenVPN en contenedores Linux .systemd
) 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"
El orden es importante:
deny
debe ser el primero.fuente
Además de la respuesta de quanta. También asegúrese de tener esta línea en la configuración de lxc:
Esta es la sintaxis correcta:
fuente