Jak załadować moduł tun w systemie Linux?


26

Nie mogę załadować tunmodułu do mojego ArchLinux. Próbuję połączyć się z OpenVPN, ale dziennik mówi:

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

lsmod | grep tun

Nic nie zwraca:

Jeśli uruchomię:

sudo modprobe tun

Zwraca błąd, ale nie ma komunikatu o błędzie, a lsmod nadal nie ma tun. Moduł wydaje się istnieć, ponieważ nie jest tun.ko.gzw /lib/modules/.

Naprawdę nie wiem, co jeszcze spróbować.

Odpowiedzi:


27

Ta odpowiedź jest prawdopodobnie nieco spóźniona, ale sam wpadłem na problem, dokładnie tak, jak to opisano.

Uruchomienie OpenVPN przyniosłoby:

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

A bieganie tunctlprzyniosłoby:

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

To polecenie nie miało danych wyjściowych:

lsmod | grep tun

Podczas próby dodania tunmodułu przez:

modprobe tun

modprobe zakończy działanie z kodem błędu awarii (1) i nic się nie zmieni.

Znalazłem alternatywny sposób aktywacji modułu tun poprzez insmod. Najpierw zlokalizuj moduł za pomocą tego polecenia:

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

Następnie użyj insmod ze zwróconą ścieżką (mam tylko jedno dopasowanie), na przykład:

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

Dla mnie uruchomienie tej komendy działało, tunctla OpenVPN działało później dobrze.


Gdyby to też miało miejsce na moim malinowym pi, insmod rozwiązał to (po ponownym uruchomieniu mogę modprobe jak zwykle)
— unhammer

Thamks! insmod polecenie działa! Miałem to z powodu problemu z otwartym połączeniem: Nie udało się otworzyć tun urządzenia: Brak takiego urządzenia
— Antonio Saco

Potrzebujesz dostępu do roota ?!
— Dr.jacky

3
nie mogę znaleźć / lib / modułów / -iname 'tun.ko.gz' na moim Ubuntu 14.04 vps (
— user3479125

1
też nie mogę go znaleźć na CentOS 7.
— pobierz

22

Wystąpił podobny problem podczas próby uruchomienia openvpn na OVH Cloud VPS, openvpn narzeka, że ​​nie może znaleźć interfejsu TUN.

modprobe zawsze zwraca moduł nie znaleziony:

$ sudo modprobe tun
FATAL: Module tun not found.

W końcu odkryłem, że tun nie jest modułem, ale wbudowanym jądrem, więc to, co robię, aby rozwiązać, to brakujący katalog i skinienie głową:

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

A następnie openvpn może znaleźć i używać urządzenia tun.

Należy zauważyć, że później modprobe nadal zwróci błąd, ponieważ tun nie jest modułem.

$ sudo modprobe tun
FATAL: Module tun not found.

Dzięki, dostałem ten problem z OpenVPN Access Server na OVH Classic VPS po zrobieniu aktualizacji z Debiana 7 do Debiana 8. Możesz również zrobić sudo chmod 600 /dev/net/tuntak , jak powiedziano w tym artykule: wiki.vpslink.com/TUN/TAP_device_with_OpenVPN_or_Hamachi Po ponownym uruchomieniu openvpn z sudo service openvpnas restart, Mógłbym połączyć się z klientem. Ale kiedy ponownie uruchamiam serwer Linux, / dev / net / tun już nie istnieje. Nie wiem, czy to normalne, ale dodałem polecenia do /etc/rc.local, aby po ponownym uruchomieniu nadal działał.
— baptx

Dzięki. Twoje rozwiązanie zadziałało dla mojego portu Armbi Debiana Squeeze działającego na moim telefonie z Androidem. Wystąpił ten sam błąd podczas uruchamiania OpenVPN.
— Sourav Ghosh,

tak, tunnie jest modułem.
— MrRolling

to działa dla mnie dzięki.
— Pouya Samie,

2

W Arch Linux zainstalowanie networkmanager-vpncpakietu rozwiąże problem


0

Miałem problem, w którym mój /lib/modules/.../modules.aliasnie zawierał linii

alias char-major-10-200 tunode_tunnel

Więc nawet jeśli już to zrobiłeś mknod /dev/net/tuni masz tun.kogdzieś /lib/modules/..., to nie załaduje się, chyba że modules.aliasma odpowiednią inkantację.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.