ForumNat mit iptables
Stefan Seufert – Freitag, 08. September 2006 14:40 Uhr

Hallo erstmal, kurz die Situation. Ich habe einen Webserver im Internet stehen. Weiterhin habe ich einen Rootserver mit (nur) einer Netzwerkkarte im Internet (unabhängig vom Webserver). Ich möchte nun den Rootserver ansurfen und dabei die Websites vom Webserver angezeigt bekommen. Das ganze möchte ich über IPtables lösen. Der Rootserver ist nur mit einem NIC ausgestattet. Suche und suche, finde aber nichts.
Folgendes habe ich versucht… Funktioniert aber nicht
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to ipWebserver:80
iptables -A FORWARD -i eth0 -p tcp –dport 80 -j LOG –log-level 7

Was läuft da falsch??? Schon jetzt vielen Dank für Eure Hilfe……..

2 Antworten
Harald Geiger – Freitag, 08. September 2006 22:42 Uhr

Hallo Stefan!

Folgendes habe ich versucht… Funktioniert aber nicht
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to ipWebserver:80
iptables -A FORWARD -i eth0 -p tcp –dport 80 -j LOG –log-level 7
Was läuft da falsch???

Der Rootserver tauscht die Zieladresse aus und sendet das Paket an den Webserver weiter. Der Webserver sendet sein Antwort-Paket an den Absender der Anfrage, also den Client. Der Client empfängt dann eine Antwort mit der IP-Adresse des Webservers als Absender. Dieses Paket erkennt der Client aber nicht als Antwort auf seine Anfrage, da er diese ja an den Rootserver geschickt hat.

Du musst also erreichen, dass der Webserver seine Antworten an den Rootserver zurückschickt. Das heisst Du brauchst zusätzlich noch ein Source NAT: iptables -t nat -A POSTROUTING -p tcp -d ipWebserver –dport 80 -j MASQUERADE

Harald

Jörg Hoh – Samstag, 09. September 2006 19:01 Uhr

Warum probierst du es nicht mit Apache und mod_proxy auf dem Rootserver? Ist
viel einfacher, als das ganze auf der Netzwerkebene zu erschlagen.