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

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

No logro cargar el tunmódulo en mi caja ArchLinux. Estoy intentando 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 error, pero no hay mensaje de error y lsmod todavía no tiene ningún archivo tun. El módulo parece existir, ya que hay un tun.ko.gzarchivo /lib/modules/.

Realmente no sé qué más probar.

Respuesta1

Esta respuesta probablemente llegue un poco tarde, pero yo mismo 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

modprobesaldría con un código de error (1) y nada cambió.

Encontré una forma alternativa de activar el módulo tun mediante 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ó y tunctlOpenVPN funcionó bien después.

Respuesta2

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 que está integrado en el kernel, así que lo que hice para resolver fue crear el directorio que faltaba 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 seguirá devolviendo un error, porque tun no es un módulo.

$ sudo modprobe tun
FATAL: Module tun not found.

Respuesta3

En Arch Linux, instalar el paquete networkmanager-vpnco NetworkManager-vpncresolverá el problema

Respuesta4

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 has hecho mknod /dev/net/tuny lo tienes tun.koen algún lugar /lib/modules/..., no se cargará a menos que modules.aliastenga el encantamiento correcto.

información relacionada