Re: TCP Forwarding
- To: debian-user-german@lists.debian.org
- Subject: Re: TCP Forwarding
- From: Markus Schulz <msc@antzsystem.de>
- Date: Tue, 15 Apr 2008 18:58:49 +0200
- Message-id: <200804151858.50391@Mail-Followup-To>
- In-reply-to: <008701c89f15$71cb5620$55620260$@es>
- References: <008701c89f15$71cb5620$55620260$@es>
Am Dienstag, 15. April 2008 schrieb Dominique Schramm (ML):
> Hallo Liste,
>
> ich hab hier ein kleines "Forwarding" Problem :)
> Ich möchte eine IP weiterleiten auf eine andere IP. Bisher habe
> ich das per rinetd gemacht, damit kann man direkt von einer
> Quell IP auf eine Ziel IP über Ports weiterleiten. Als BSP:
>
> xxx.xxx.xxx.xxx 80 yyy.yyy.yyy.yyy 80
>
> Damit werden alle Verbindungen weitergeleitet. Nun
> möchte ich das ganze aber nicht mit einem zusätzlichen
> Programm erledigen sondern direkt mit iptables. Sollte
> ja gehen. Ich habe mir dazu folgenden Befehl geschrieben:
>
> iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p
> tcp --dport 80 --j DNAT --to yyy.yyy.yyy
>
> xxx.xxx.xxx.xxx -> Quell IP Server 1
> yyy.yyy.yyy.yyy -> Ziel IP Server 2
>
> Nur irgendwie geht der Befehl nicht :( Fehlt da irgend-
> was oder geht das nur einfach auf diese Art und Weise nicht?
Die Pakete kommen schon am Zielrechner an, aber die Antworten werden von
der Quelle/Client verworfen, da die Antworten ja jetzt von einem
anderen Rechner (andere IP) kommen als er eigentlich angesprochen hat.
Das Thema hatten wir hier erst vor kurzem und falls du das wirklich mit
iptables machen möchtest heißt die Lösung: DestinationNAT _UND_
SourceNAT.
#also zusätzlich zu deiner Regel noch:
iptables -t nat -A POSTROUTING -p tcp --dport 80 -d yyy.yyy.yyy.yyy -j
SNAT --to-source xxx.xxx.xxx.xxx
Das geht davon aus, das xxx == die IP des Rechners ist auf dem die
Regeln angelegt werden, also kein Router zwischendurch irgendwo.
Damit antwortet der neue Rechner quasi an den alten, der dann die
Antwort an den eigentlichen Client zurückschickt.
Du solltest auch noch darauf achten, das in der filter Tabelle keine
Pakete in der FORWARD chain gedropped werden oder dafür entsprechende
Regeln noch hinzufügen.
Das Thema gab es hier bereits unter:
http://www.nabble.com/Iptables-Port-weiterleiten-an-anderen-Server-tt16161554.html#a16161554
--
Markus Schulz
Heute glaubt anscheinend jeder, Programme seien Geister, die in kleinen
Totems wohnen und durch zweimaliges Berühren mit dem Mausfetisch
beschworen werden. Daher vermutlich das Unvermögen, ein Programm zu
starten, wenn das Totem verlorengegangen ist. (Thorsten Lange in
d.a.s.r.)
Reply to: