richtige Art von NATing und Routing bei Verwendung der TUN-Schnittstelle mit iptables

richtige Art von NATing und Routing bei Verwendung der TUN-Schnittstelle mit iptables

edit: Ich bin ein Neuling im Netzwerken und beim Entdecken neuer Dinge :)

Ich habe eine TUN-Schnittstelle programmgesteuert erstellt, mit der interagiert werden kann.

Ich habe es eingerichtet und zum Laufen gebracht ifconfig myTun 10.10.1.1/24 up

und es läuft, wie ich sehen kann, ifconfigund pingt10.10.1.1

und um 100 % sicherzugehen, dass meine TUN-Schnittstelle mit meinem beschriebenen Problem funktioniert, habe ich Folgendes getan:

Ich habe einen Ping gesendet 10.10.1.2und das Paket wurde in meinem Programm empfangen. Ich habe es an Tun zurückgeschrieben und es dann in einer Schleife erneut empfangen.

jetzt bin ich sicher, dass alle PaketeAUSoderZU 10.10.1.xwerden problemlos von TUN empfangen und dorthin geschrieben.

wenn ich ein Paket schreibe mitjede Ziel-IP außerhalbdas 10.10.1.xSchreiben an TUN war erfolgreich, aber es wurde keine Antwort an TUN gesendet.

Nachdem ich gesucht und viele Artikel gelesen hatte, kam ich zu dem Schluss, dass es vom Kernel stillschweigend gelöscht wird.

Ich habe viele Fragen und Antworten zu TUN-Schnittstellen auf serverfault.com gelesen und festgestellt, dass ich einen wichtigen Teil in meiner Logik übersehen habe, nämlichROUTENFÜHRUNG.

mein endgültiges Verständnis ist: das Paket ist OK und wird vom Netzwerk-Stack in Linux empfangen, aber der Kernel weiß nicht, was er mit dem Paket machen soll, weil sein Ziel seltsam ist. Dann habe ich festgestellt, dass ich ein Routing für den Kernel angeben muss iniptablesund Aktivieren, net.ipv4.ip_forwardweiß aber nicht wie.

mein endgültiges Ziel ist:

Wenn ich ein Paket mit einem Ziel außerhalb 10.10.1.xdes TUN sende, muss es an meine Hauptschnittstelle weitergeleitet werden (die Zugriff auf das Internet hat und ist wlps020f3) und jedes Ergebnis dieses Pakets muss an meine TUN-Schnittstelle zurückgesendet werden.

So konfigurieren SieNATIniptableswie man es umgehen kann?

Danke im Voraus

Antwort1

IPv4-Weiterleitung aktivieren:

sudo sysctl -w net.ipv4.ip_forward=1

NAT-Verkehrvon der Tunnelschnittstelle hinter Ihrer WLAN-Adresse:

sudo iptables -t nat -A POSTROUTING -o wlps020f3 -j MASQUERADE

Keine dieser Änderungen wird einen Neustart überstehen. Der obere Link undDieses hierhaben weitere Informationen zu diesem Aspekt.

verwandte Informationen