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/tunEs gibt jedoch keine/dev/tunX Geräte. Ich kann diese Geräte nicht mit erstellenifconfig - Wann immer ich renne/sbin/ifconfig tun0 upBeispielsweise 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/tunDies 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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage