Wie man eine Schnittstelle zum Linux-Tun-Treiber herstellt
Es fällt mir schwer, dieses Problem zu lösen. Ich versuche, ein Programm zu schreiben, das mit dem Linux-Tunneltreiber interagiert. Auf einer sehr einfachen Ebene möchte ich einfach eine Anwendung erstellen, die Daten über einen Netzwerktunnel übertragen kann. Ich bin jedoch völlig ratlos, wie der Tunneltreiber richtig eingerichtet werden soll, um dies zu erreichen.
Ich entwickle auf Ubuntu 9.04 und habe das Tunnel-Treiber-Kernel-Modul geladen.
Dort existiert das Gerät/dev/net/tun
Es gibt jedoch keine/dev/tunX
Geräte. Ich kann diese Geräte nicht mit erstellenifconfig
- Wann immer ich renne/sbin/ifconfig tun0 up
Beispielsweise erhalte ich den folgenden Fehler:
tun0: FEHLER beim Abrufen von Schnittstellen-Flags: Kein solches Gerät.
Wenn ich versuche das anzuschauen/dev/net/tun
Gerät wird der folgende Fehler angezeigt:
cat: / dev / net / tun: Dateideskriptor in fehlerhaftem Zustand.
Versuch zu öffnen/dev/tunX
über ein kleines programm im grunde ein einfaches
<code>tun_fd = open( "/dev/tun0", O_RDWR ) </code>
Gibt -1 zurück: Die Anwendung wird als Root ausgeführt und kann dieses Tunnelgerät immer noch nicht öffnen. Es ist möglich zu öffnen/dev/net/tun
Dies scheint jedoch kein neues zu generieren/dev/tunX
Gerät stattdessen zu verwenden.
Zusammenfassend lässt sich sagen, wie man eine Anwendung schreibt, die den Linux-Tunneltreiber verwenden möchte. Alle Einsichten wäre sehr dankbar.
Vielen Dank; ~ Robert