¿Cómo cargar el módulo tun en Linux?

26

No puedo cargar el tunmódulo en mi caja ArchLinux. Estoy tratando de conectarme con OpenVPN, pero el registro dice:

nm-openvpn[6662]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)

lsmod | grep tun

No devuelve nada:

Si corro:

sudo modprobe tun

Devuelve el error, pero no hay mensaje de error, y lsmod todavía no tiene tun. El módulo parece existir, ya que hay una tun.ko.gzen /lib/modules/.

Realmente no sé qué más probar.

rabipelais
fuente

Respuestas:

27

Probablemente esta respuesta llegue un poco tarde, pero me encontré con el problema exactamente como se describe.

Ejecutar OpenVPN produciría:

Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

Y correr tunctlproduciría:

Failed to open '/dev/net/tun' : No such file or directory

Y este comando no tuvo salida:

lsmod | grep tun

Al intentar agregar el tunmódulo a través de:

modprobe tun

modprobe saldría con un código de error de falla (1), y nada cambió.

Encontré una forma alternativa de activar el módulo tun a través de insmod. Primero ubique el módulo con este comando:

find /lib/modules/ -iname 'tun.ko.gz'

Luego use insmod con la ruta devuelta (solo obtuve una coincidencia), por ejemplo:

insmod /lib/modules/3.6.9-1-ARCH/kernel/drivers/net/tun.ko.gz

Para mí, ejecutar ese comando funcionó, tunctly OpenVPN funcionó bien después.

Alex Szczuczko
fuente
Tenía esto también en mi raspberry pi, insmod lo resolvió (después de un reinicio puedo
modificar la sonda
Thamks! el comando insmod funciona! Tenía esto por un problema de conexión abierta: no se pudo abrir el dispositivo tun: No existe tal dispositivo
Antonio Saco
¿Se necesita acceso a la raíz?
Dr.jacky
3
no puedo encontrar / lib / modules / -iname 'tun.ko.gz' en mi Ubuntu 14.04 vps (
user3479125
1
tampoco puedo encontrarlo en CentOS 7.
snetch
22

Me encontré con un problema similar al intentar ejecutar openvpn en OVH Cloud VPS, openvpn se queja de que no puede encontrar la interfaz TUN.

modprobe siempre devolverá el módulo no encontrado:

$ sudo modprobe tun
FATAL: Module tun not found.

Finalmente, descubrí que tun no es un módulo sino un kernel integrado, por lo que lo que hago para resolver fue crear el directorio faltante y asentir:

$ sudo mkdir /dev/net
$ sudo mknod /dev/net/tun c 10 200

Y luego openvpn puede encontrar y usar el dispositivo tun.

Cabe señalar que después, modprobe aún devolverá un error, porque tun no es un módulo.

$ sudo modprobe tun
FATAL: Module tun not found.
Cirilo
fuente
Gracias, tengo este problema con OpenVPN Access Server en OVH Classic VPS después de hacer una actualización dist de Debian 7 a Debian 8. También puede hacer lo sudo chmod 600 /dev/net/tunque dice este artículo: wiki.vpslink.com/TUN/TAP_device_with_OpenVPN_or_Hamachi Después de reiniciar openvpn con sudo service openvpnas restart, Podría conectarme con un cliente. Pero cuando reinicio el servidor Linux, / dev / net / tun ya no existe. No sé si es normal, pero agregué comandos a /etc/rc.local para que siga funcionando después de reiniciar.
baptx
Gracias. Su solución funcionó para mi puerto armbi de Debian Squeeze ejecutándose en mi móvil Android. Recibí el mismo error al iniciar OpenVPN.
Sourav Ghosh
Sí, tunno es un módulo.
MrRolling
eso funciona para mí gracias.
Pouya Samie
2

En Arch Linux, la instalación del networkmanager-vpncpaquete resolverá el problema

MrRolling
fuente
0

Tuve un problema donde mi /lib/modules/.../modules.aliasno contenía la línea

alias char-major-10-200 tunode_tunnel

Entonces, incluso si lo ha hecho mknod /dev/net/tuny tiene tun.koalgún lugar /lib/modules/..., no se cargará a menos que modules.aliastenga el encantamiento correcto.

techo
fuente