Comment charger le module tun dans linux?

Je ne peux pas charger le module tun dans ma boîte ArchLinux. J'essaie de me connecter à OpenVPN, mais le journal indique:

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

Ne renvoie rien:

Si je cours:

 sudo modprobe tun 

Il renvoie l'échec, mais aucun message d'erreur, et lsmod n'a toujours pas de tun . Le module semble exister, car il existe un tun.ko.gz dans /lib/modules/ .

Je ne sais vraiment pas quoi d'autre essayer.

Cette réponse est peut-être un peu tardive, mais j'ai rencontré le problème, exactement comme décrit, moi-même.

Exécuter OpenVPN produirait:

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

Et l'exécution de tunctl produirait:

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

Et cette commande n'avait pas de sortie:

 lsmod | grep tun 

Lorsque vous tentez d'ajouter le module tun via:

 modprobe tun 

modprobe sortirait avec un code d'erreur de panne (1), et rien ne changerait.

J'ai trouvé une autre manière d'activer le module tun via insmod . Trouvez d'abord le module avec cette commande:

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

Ensuite, utilisez insmod avec le chemin retourné (je n'ai eu qu'une seule correspondance), par exemple:

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

Pour moi, l'exécution de cette commande a fonctionné, et tunctl et OpenVPN fonctionnaient bien après.

J'ai rencontré un problème similaire lors de l'exécution de openvpn sur OVH Cloud VPS, openvpn se plaint qui ne peut pas trouver l'interface TUN.

Modprobe retournera toujours le module non trouvé:

 $ sudo modprobe tun FATAL: Module tun not found. 

Enfin, j'ai trouvé que tun n'est pas un module mais construit dans le noyau, alors ce que je fais pour résoudre a été créé le dir et le signe de tête manquant:

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

Et puis openvpn peut trouver et utiliser le périphérique tun.

À noter que, après, modprobe renverra toujours une erreur, car tun n'est pas un module.

 $ sudo modprobe tun FATAL: Module tun not found.