Linux-Routingtabellen, Tunnel und Iptables

Linux-Routingtabellen, Tunnel und Iptables

Ich versuche herauszufinden, wie all diese Komponenten zusammenarbeiten.

Mein Hauptziel besteht darin, den Datenverkehr (Port 80.443) von meinem lokalen Hostnetzwerk (Windows 7) zu einem Remotehost in einem Remotenetzwerk umzuleiten. Das heißt, ich möchte zu 10.50.1.2:80 gehen und zum Remotehost (Port 4111) gelangen.

Als ersten Schritt habe ich versucht, mit Folgendem eine Route zu meinem lokalen Windows-Host hinzuzufügen:

route ADD “10.50.1.0” MASK “255.255.255.0” “remote public ip”. 

Das hat nicht funktioniert. Kann jemand erklären, warum?

dann habe ich versucht, die Adresse auf einen lokalen Linux-Server umzuleiten

route ADD “10.50.1.0” MASK “255.255.255.0” “192.168.10.78”

dann habe ich iptables & DNAT im Prerouting verwendet, um die Pakete an die entfernte öffentliche IP weiterzuleiten

iptables -t nat -A PREROUTING -d 10.50.1.2 -dport 80 -j DNAT --to-destination publicIP:80

Der Datenverkehr kam bei 192.168.10.78 an (überprüft durch TCPdump), aber nicht beim Remote-Host. Kann jemand erklären, warum? Ich habe sogar versucht, Masquerade im Postrouting zu verwenden.

dann habe ich eine Suche gestartet und bin auf Tunneling gestoßen.

kann jemand erklären, warum der erste und zweite Versuch nicht funktionieren und wie Tunneln helfen kann?

Antwort1

Ihr erster Versuch: route ADD “10.50.1.0” MASK “255.255.255.0” “remote public ip”

Dadurch wird eine Route für das Netzwerk 10.50.0/24 eingerichtet, das über erreichbar ist remote public ip. Private IPs werden im Internet im Allgemeinen nicht geroutet und Sie können wahrscheinlich erkennen, warum dies nicht funktioniert.

Ihr zweiter Versuch: route ADD “10.50.1.0” MASK “255.255.255.0” “192.168.10.78”

Richtet eine Route für das Netzwerk 10.50.1.0/24 über den Host 192.168.10.78 ein. Wenn dieser Host nicht so konfiguriert ist, dass er den Datenverkehr für dieses Netzwerk weiterleitet, geht er nirgendwo hin und selbst dann könnten Sie den Remotecomputer nicht erreichen. Sie sagten, Sie hätten NAT/DNAT konfiguriert, was diesem Computer dies ermöglichen würde, aber ich bin mir nicht sicher, was die richtige Konfiguration wäre. Wenn Sie nur am Webdatenverkehr interessiert sind, sollten Sie vielleicht stattdessen einen Proxy verwenden?

Beim Tunneln handelt es sich um den Vorgang, Ihre ursprüngliche Anfrage in eine andere Verbindung einzukapseln. Sie müssen jedoch genauer angeben, in welchem ​​Kontext Sie dies verwenden, da es Nuancen geben kann, die einen großen Unterschied machen.

verwandte Informationen