Was genau passiert mit Paketen, die auf ein TUN/TAP-Gerät geschrieben werden?

Was genau passiert mit Paketen, die auf ein TUN/TAP-Gerät geschrieben werden?

Ich versuche, Pakete aus dem Benutzerbereich des Computers an eine Anwendung zu senden, die auf eth0 lauscht, als kämen sie von einem Remotecomputer.

Wofür ich keine gute Dokumentation zu finden scheine, ist die genaue Art und Weise, wie ein TUN/TAP-Gerät mit dem Rest des Netzwerkstapels interagiert. Werden Pakete an eth0 weitergeleitet, wenn sie an einen Remote-Host gerichtet sind? Werden Pakete, die an den lokalen Host adressiert sind, standardmäßig an die Userspace-Anwendung weitergeleitet? In welchen Phasen erscheinen die Pakete im Kernel relativ zum Netfilter-Stapel?

Das Verhalten scheint nicht gut dokumentiert zu sein (http://openvpn.net/archive/openvpn-users/2005-05/msg00224.html,https://www.kernel.org/doc/Documentation/networking/tuntap.txt)).

Antwort1

Das Tun-Tap-Gerät erscheint dem Kernel gleich, da es nicht erkennen kann, ob die Daten von einem an eine Ethernet-Schnittstelle angeschlossenen Kabel oder von einer Userland-Anwendung stammen. Wenn Daten geschrieben werden, werden sie an die Userland-Anwendung und nicht an ein physisches Schnittstellengerät (z. B. eth0) weitergeleitet.

Die Schnittstelle, an die ein Paket weitergeleitet wird, basiert wie üblich auf der Routing-Tabelle, die Sie mit ip routeoder anzeigen können netstat -r. Dies gilt auch für Pakete, die an den lokalen Host adressiert sind.

Darüber hinaus kann die TUN/TAP-Schnittstelle auch als Schnittstelle für eine Route verwendet werden, die in der Routing-Tabelle erscheint.

verwandte Informationen