Wie lade ich ein Tun-Modul in Linux?

Wie lade ich ein Tun-Modul in Linux?

Ich kann das Modul nicht in meine ArchLinux-Box laden tun. Ich versuche, eine Verbindung mit OpenVPN herzustellen, aber im Protokoll steht:

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

lsmod | grep tun

Gibt nichts zurück:

Wenn ich ausführe:

sudo modprobe tun

Es gibt einen Fehler zurück, aber keine Fehlermeldung, und lsmod hat immer noch kein tun. Das Modul scheint zu existieren, da ein tun.ko.gzin vorhanden ist /lib/modules/.

Ich weiß wirklich nicht, was ich sonst noch versuchen soll.

Antwort1

Diese Antwort kommt wahrscheinlich etwas spät, aber ich bin selbst auf genau das beschriebene Problem gestoßen.

Das Ausführen von OpenVPN würde Folgendes erzeugen:

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

Und beim Ausführen tunctlwürde Folgendes entstehen:

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

Und dieser Befehl hatte keine Ausgabe:

lsmod | grep tun

Beim Versuch, das Modul hinzuzufügen tunüber:

modprobe tun

modprobewürde mit einem Fehlercode (1) beendet werden und nichts würde sich ändern.

Ich habe eine alternative Möglichkeit gefunden, das Tun-Modul über zu aktivieren insmod. Suchen Sie zunächst das Modul mit diesem Befehl:

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

Verwenden Sie dann insmod mit dem zurückgegebenen Pfad (ich habe nur eine Übereinstimmung erhalten), zum Beispiel:

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

Bei mir hat die Ausführung dieses Befehls funktioniert und tunctlOpenVPN hat danach problemlos funktioniert.

Antwort2

Ich bin auf ein ähnliches Problem gestoßen, als ich versucht habe, OpenVPN auf OVH Cloud VPS auszuführen. OpenVPN beschwert sich, dass die TUN-Schnittstelle nicht gefunden werden kann.

modprobe gibt immer „Modul nicht gefunden“ zurück:

$ sudo modprobe tun
FATAL: Module tun not found.

Schließlich fand ich heraus, dass Tun kein Modul ist, sondern im Kernel integriert ist. Um das Problem zu lösen, erstellte ich das fehlende Verzeichnis und den fehlenden Knoten:

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

Und dann kann OpenVPN das Tun-Gerät finden und verwenden.

Zu beachten ist, dass modprobe danach immer noch einen Fehler zurückgibt, da tun kein Modul ist.

$ sudo modprobe tun
FATAL: Module tun not found.

Antwort3

Unter Arch Linux löst die Installation des Pakets networkmanager-vpncoder das ProblemNetworkManager-vpnc

Antwort4

Ich hatte ein Problem, bei dem meine /lib/modules/.../modules.aliasdie Zeile nicht enthielt

alias char-major-10-200 tunode_tunnel

Selbst wenn Sie fertig sind mknod /dev/net/tunund tun.koirgendwo drin haben /lib/modules/..., wird es nicht geladen, wenn nicht modules.aliasder richtige Zauberspruch vorhanden ist.

verwandte Informationen