Page 1 of 1

Port Forwarding

Posted: 18. Jan 2008 12:46
by Dellnis
Hallo,

ich versuche gerade Port Forwarding einzurichten, bin bis jetzt aber kläglich gescheitert. Vielleicht kennt sich ja jemand von euch damit aus.

Ich habe eine Testumgebung aufgebaut die folgendermaßen aussieht:

Web Server / 192.168.1.20
Linux Server / 192.168.1.10
Client / 192.168.1.30

Mein Ziel ist, dass wenn ich beim Client im Browser 192.168.1.10 eingebe die Seite des Webservers angezeigt wird. Dazu hab ich am Linux Server folgendes kleines NAT Script erstellt:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.1.20:80


Nur funktioniert das leider nicht. Ich bekomme beim Client die Meldung: "Fehler: Netzwerk-Zeitüberschreitung. Der Server unter 192.168.1.10 braucht zu lange, um eine Antwort zu senden" Wäre ja auch zu schön gewesen....


Kann mir jemand weiterhelfen?
Danke,

Posted: 08. Mar 2008 2:09
by komsomolze

Code: Select all

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.1.20:80 
Damit leitest Du die anfragenden Pakete weiter,
diese brauchen noch ein SNAT (IP der Linux-Maschine), damit der Server an die Linux-Maschine antwortet.
Für die Antwort-Pakete wiederum eine DNAT, sodaß sie an die Client-Maschine zurückgehen,
und ein SNAT (IP der Linux-Maschine), damit für den Client alles korrekt erscheint.


In Deinem Fall fragt der http-stack des Clients eine Maschine, von der er keine Antwort bekommt,
und bekommt Pakete von einer anderen Maschine, die er nicht angefordert hat, die er also verwirft.
(Richtig so?)


Vielleicht wäre das Aufsetzen eines DNS-Proxy wie dnsmasq oder dnrd (2.20.3 von 2007-03, aber ausreichend) eine elegantere Lösung?