Port Forwarding

Post Reply
Message
Author
Dellnis

Port Forwarding

#1 Post 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,

komsomolze
Posts: 430
Joined: 03. Mar 2006 23:16

#2 Post 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?
mfg komsomolze

Post Reply