Trouble LinuxTAP
Aus OpenVPN Wiki
Probleme mit dem Linux-TUN Device
Die folgenden Informationen sind nur für OpenVPN Benutzer unter Linux und sind sowohl für die Server- als auch Clientseite gültig. Für die Problemlösung muss man lokale root-Rechte auf dem System besitzen!
Kurzfassung der meisten Fehlerquellen
- Kernel ohne TUN/TAP-Support kompiliert
- Kernel ohne TUN/TAP-Modul (tun.ko) kompiliert
- tun-Modul nicht geladen und kein Autoload
root@erde$ lsmod
- Keine Devicefiles angelegt (/dev/tun bzw. /dev/net/tun)
root@erde$ find /dev -name 'tun*'
- Kein Zugriffsrecht auf /dev/tun bzw /dev/net/tun
root@erde$ ls -al /dev/net/tun
Problemlösungen
- Kernel mit Support, besser mit Modulsupport und TUN-Modul neu kompilieren. Falls der Kernel bereits Modulsupport hat und nur das Modul fehlt, muss man den Kernel nicht neu kompilieren, es reichen die Module aus. Wie das funktioniert kann man nicht verallgemeinern, da jede Distribution etwas anders ist.
- Das TUN-Modul laden:
root@erde$ modprobe tun
- Erstellen von der Devicenode:
root@erde$ mknod /dev/net/tun c 10 200
- Das erstellte Devicefile sollte root:root gehören und 600 (o+rw) als Zugriffsrechte haben. OpenVPN muss normalerweise als root gestartet werden und kann später die Privilegien senken (siehe "user" und "group" Direktive). Damit das Devicefile allerdings weiter verwendbar ist, wenn OpenVPN einen Hardreset macht, muss man die Direktive "persist-tun" verwenden.
root@erde$ chown root:root /dev/net/tun root@erde$ chmod 600 /dev/net/tun
