Como carregar o módulo tun no linux?

24

Não consigo carregar o módulo tun na minha caixa do ArchLinux. Estou tentando para se conectar com o OpenVPN, mas o log diz:

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

lsmod | grep tun

Não retorna nada:

Se eu correr:

sudo modprobe tun

Ele retorna falha, mas nenhuma mensagem de erro, e o lsmod ainda não possui tun . O módulo parece existir, pois há um tun.ko.gz em /lib/modules/ .

Eu realmente não sei mais o que tentar.

    
por rabipelais 31.10.2012 / 22:19

4 respostas

26

Esta resposta está provavelmente um pouco atrasada, mas eu corri para o problema, exatamente como descrito, eu mesmo.

A execução do OpenVPN produziria:

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

E a execução de tunctl produziria:

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

E este comando não teve saída:

lsmod | grep tun

Ao tentar adicionar o módulo tun via:

modprobe tun

modprobe sairia com um código de erro de falha (1) e nada mudaria.

Eu encontrei uma maneira alternativa de ativar o módulo tun via insmod . Primeiro localize o módulo com este comando:

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

Em seguida, use insmod com o caminho retornado (eu só tenho uma correspondência), por exemplo:

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

Para mim, a execução desse comando funcionou e o tunctl e o OpenVPN funcionaram bem depois disso.

    
por 15.12.2012 / 16:48
18

Eu tive um problema semelhante ao tentar executar o openvpn no OVH Cloud VPS, o openvpn reclama que não consegue encontrar a interface TUN.

o modprobe sempre retornará o módulo não encontrado:

$ sudo modprobe tun
FATAL: Module tun not found.

Finalmente, descobri que tun não é um módulo, mas foi construído no kernel, então o que eu resolvi foi criar o diretório ausente e o nod:

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

E então o openvpn pode encontrar e usar o dispositivo tun.

Para ser notado que depois, o modprobe ainda retornará um erro, porque tun não é um módulo.

$ sudo modprobe tun
FATAL: Module tun not found.
    
por 22.05.2013 / 05:21
1

No Arch Linux, instalar o pacote networkmanager-vpnc resolverá o problema

    
por 24.01.2018 / 05:01
0

Eu tive um problema em que meu /lib/modules/.../modules.alias não continha a linha

alias char-major-10-200 tunode_tunnel

Assim, mesmo que você tenha feito mknod /dev/net/tun e tenha tun.ko em algum lugar em /lib/modules/... , ele não será carregado, a menos que modules.alias tenha o encantamento certo.

    
por 18.01.2018 / 02:25