Ich habe kürzlich die Existenz von Linux TUN / TAP-Schnittstellen entdeckt und versuche immer noch, sie zu verstehen. Ich glaube, ich verstehe das Grundkonzept: Es werden Pseudogeräte erstellt, die eine Netzwerkschnittstelle emulieren, und anstatt Daten an Hardware zu übergeben, werden sie an ein Userspace-Programm übergeben.
Wie würden Sie ein nicht verwandtes Programm anweisen, diesen Tunnel zu nutzen?
Zum Beispiel enthält mein System vor dem Erstellen des Tunnels nur eth0 und lo, die normale Ethernet-Schnittstelle (mit meinem lokalen Netzwerk verbunden) und die Loopback-Schnittstelle. Nachdem ein Programm einen Tunnel erstellt und konfiguriert hat, habe ich eine neue Schnittstelle gr0, der ich eine IP-Adresse gegeben habe, die sich in meinem lokalen Netzwerk befindet, aber nicht verwendet wird (wir befinden uns also alle im selben Subnetz). Wie würde ich ein nicht verwandtes Programm dazu bringen, diesen "Tunnel" zu nutzen? Angenommen, ich hatte eine einfache Python-Nachricht, die eine Client / Server-App übergibt und eine TCP-Verbindung verwendet. Wie kann ich sie für die Verwendung des Tunnels konfigurieren?
Ich entschuldige mich, wenn mir etwas Grundlegendes fehlt, aber wie immer habe ich es geschafft, mich im Schema der Dinge zu verwirren. Ich möchte nur, dass ein einfaches TCP-Programm diesen Tunnel nutzt.
Vielen Dank!
quelle