Port auf anderen server umleiten mit sichtbarere client-ip
-
- Posts: 77
- Joined: 2002-06-17 11:39
Port auf anderen server umleiten mit sichtbarere client-ip
Ich möchte gerne einen port umleiten. Das funktioniert mit portfwd auch ganz gut, aber der zielrechner (zudem ich umleite) sieht immer die IP des umleit-servers, und nicht des users im internet.
Kennt jemand eine möglichkeit, das ich das so hinbekomme, das der zielserver die IP des users sieht?
Kennt jemand eine möglichkeit, das ich das so hinbekomme, das der zielserver die IP des users sieht?
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Sofern es portfwd unterstützt, könnte die ursprüngliche IP-Adresse in HTTP_FORWARDED_FOR stehen, ansonsten hast du vermutlich Pech.Demux wrote:Kennt jemand eine möglichkeit, das ich das so hinbekomme, das der zielserver die IP des users sieht?
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Roger Wilco: portfwd ist ein allgemeiner TCP/UDP Forward-Proxy und ist nicht auf HTTP beschraenkt.
Demux: Warum nicht iptables FORWARD nehmen?
Demux: Warum nicht iptables FORWARD nehmen?
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Sagen wir es mal so: Ich habe es nicht hinbekommen :-( Portfwd ist extrem genial.dodolin wrote: Demux: Warum nicht iptables FORWARD nehmen?
Wenn du mir eine regel mit iptables machen würdest, wäre super.
Beispiel: http://www.domain1.de:88 -> 123.123.123.123:89
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Du suchst DNAT. Schau dir mal das NAT Howto an: http://www.iptables.org/documentation/H ... HOWTO.html
Insbesondere Kapitel 3 und 6.2. Wenn dann noch Feinheiten fehlen, sollte die manpage weiterhelfen.
Insbesondere Kapitel 3 und 6.2. Wenn dann noch Feinheiten fehlen, sollte die manpage weiterhelfen.
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
So, nachdem ich mich schon früher viele stunden mit der sache beschäftigt hatte. Habe ich es nun nochmal probiert und jede möglichkeit durchprobiert.
Wenn ich also "123.123.123.123:888" eingebe, sollte ich auf 122.122.122.122:80 landen.
Hier der iptables code:
Geht aber leider nicht. :-(
Wenn ich also "123.123.123.123:888" eingebe, sollte ich auf 122.122.122.122:80 landen.
Hier der iptables code:
Code: Select all
iptables -t nat -A PREROUTING -p tcp -i eth0
-d 123.123.123.123 --dport 888 -j REDIRECT --to 122.122.122.122:80 --verbose
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Hast du /proc/sys/net/ipv4/ip_forward schon auf 1 gesetzt?
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Ja, ist auf 1. Man sieht die regel auch nicht, wenn wenn man iptables --list eingibt. Müsste die nicht dann aufgelistet werden?dodolin wrote:Hast du /proc/sys/net/ipv4/ip_forward schon auf 1 gesetzt?
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
iptables -t nat -L
iptables -L
Am besten mal beides hier posten.
Nachdem ich mir deine Regel jetzt mal genauer angesehen habe: Du benutzt REDIRECT. Das kann ja gar nicht gehen, denn das ist nur zur lokalen Umleitung gedacht (siehe Doku!). Ich sagte doch, du suchst DNAT.
http://www.iptables.org/documentation/H ... html#ss6.2
3. Beispiel. Was weiter unten unter "Redirection" steht trifft auf dich NICHT zu.
iptables -L
Am besten mal beides hier posten.
Nachdem ich mir deine Regel jetzt mal genauer angesehen habe: Du benutzt REDIRECT. Das kann ja gar nicht gehen, denn das ist nur zur lokalen Umleitung gedacht (siehe Doku!). Ich sagte doch, du suchst DNAT.
http://www.iptables.org/documentation/H ... html#ss6.2
3. Beispiel. Was weiter unten unter "Redirection" steht trifft auf dich NICHT zu.
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Ich habe jetzt diese regel erstellt:
Und das zeigt "iptables -t nat -L"
Geht aber immer noch nicht :-(
Code: Select all
iptables -t nat -A PREROUTING -p tcp --dport 88 -i eth0
-j DNAT --to 123.123.123.123:80 --verbose
Code: Select all
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:kerberos to:123.123.123.123:80
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Du hast iptables -L immer noch nicht gepostet. Ist FORWARD auf policy accept und sonst leer?
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Sorry, ich habe es nicht gepostet, weil nichts drinnsteht.
Code: Select all
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
So, nachdem ich mich nun wieder stundenlang damit beschäftigt habe, und es mit iptables NICHT funktioniert, wäre es genial wenn mir jemand sagen könnte, wie ich mein oben geschildertes "problem" im griff bekomme.
danke!
danke!
-
- Posts: 142
- Joined: 2003-02-06 12:57
- Location: Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
dazu müsste man wissen was genau bei dir scheifläuft. schnapp dir mal tcpdump und schau ob die pakete richtig umgeschrieben werden, ob sie am neuen ziel ankommen, ob die antwortpakete vom ziel auch abgeschickt werden,....
schreibst du die antwortpakete auch um? die cleints wissen ja nichts davon, dass du mitten drin den zeil änderst, wenn du kein SNAT machst auf die antwortpakete dann schickt dein client ein paket an server A und bekommt antwortpakete von server B (den er natürlich verwirft).
deshalb hat es auch mit portfwd geklappt, der hat den absender auch umgeschrieben damit die antwortpakete auch an ihn zurückkommen damit er sie wieder an den client schicken kann.
schreibst du die antwortpakete auch um? die cleints wissen ja nichts davon, dass du mitten drin den zeil änderst, wenn du kein SNAT machst auf die antwortpakete dann schickt dein client ein paket an server A und bekommt antwortpakete von server B (den er natürlich verwirft).
deshalb hat es auch mit portfwd geklappt, der hat den absender auch umgeschrieben damit die antwortpakete auch an ihn zurückkommen damit er sie wieder an den client schicken kann.
-
- Posts: 3840
- Joined: 2003-01-21 01:59
- Location: Sinsheim/Karlsruhe
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Das macht iptables automatisch ohne separate Regel. Der Rest deiner Aussage ist daher ob dieser falschen Annahme obsolet.schreibst du die antwortpakete auch um?
Der Tipp, mit tcpdump zu schauen, was reinkommt und was rausgeht ist aber sicher ganz hilfreich, wenn man ansonsten keine Ideen mehr hat. Ich wuerde dann auch auf dem neuen Ziel (123.123.123.123) sniffen, um dort zu sehen, ob und was ankommt.
-
- Posts: 77
- Joined: 2002-06-17 11:39
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Ich habe jetzt wie wild per tcpdump gesnifft. Direkte pings kommen an, nur leitet er nicht um. Kein ahnung wieso. Irgendwie klappen die regeln nicht.
Gibt es keine besseren beispiele? Wie schaffe ich es z.b. auf einen port zu pingen um die umleitung zu testen?
Gibt es keine besseren beispiele? Wie schaffe ich es z.b. auf einen port zu pingen um die umleitung zu testen?
-
- Userprojekt
- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
Re: Port auf anderen server umleiten mit sichtbarere client-ip
ICMP (oder wie du so schön sagst "ping") kennt keine Ports. Warum testest du nicht per telnet z.B. auf Port 80?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
-
- Posts: 104
- Joined: 2004-03-24 14:09
Re: Port auf anderen server umleiten mit sichtbarere client-ip
Hallo,
das kann alles garnicht funktionieren, solang nicht folgendes
gegeben ist: Der Server zu dem Du umleitest, schickt alle bzw.
mindestens diese umgeleiteten Pakete wieder ueber den Umleit-Server
zurueck. Grund: Die umgeleiteten Pakete werden natuerlich veraendert
vom Umleitserver (damit sie ein neues Ziel haben), diese Aenderung
kommt dann so auf Deinem Zielserver an. Wenn der Zielserver jetzt
antwortet, kommt die Antwort von einem ganz anderen Server als der,
mit dem der Client eine Verbindung hat, ergo er verwirft sie.
Wuerde der Umleitserver jetzt die Antwort durchreichen, wuerde er sie
automatisch umschreiben so das alles wieder stimmig ist.
2 moegliche Loesungen:
1. default-route ersetzen (der totale Overkill)
Du baust ein VPN von dem echten Server zum Umleitserver und schickst
da alles durch (quasi defaultroute ersetzen)
-> Problem: viel Traffic quer duchs Netz, Fehleranfaellig, der Umleitserver muss ggfs. alles NAT-en und die echte IP des Zielservers
ist quasi nicht mehr nutzbar
2. Traffic-Based-Routing (bisschen aufwand, koennte bei gutem Setup
aber ideal sein)
Du hast wieder das VPN zw. den beiden Servern und machst ein neues
Routingtable (geht mit dem iproute2 Zeug) und arbeitest mit iptables
MARKing Support um alle Antwortpakete zu markieren und anschliessend
ueber den Umleitserver rauszurouten.
Das ganze faellt dann weg, wenn der Zielserver per "default" eh ueber
den Umleitserver geht (z.B. wenn der "Umleitserver" die Firewall/das
Gateway ist).
Wenn all das nix fuer Dich ist, bleibt nur Deine Portfwd-Loesung,
nur dabei verlierst Du halt die ClientIP.
Gruss,
Darkman
das kann alles garnicht funktionieren, solang nicht folgendes
gegeben ist: Der Server zu dem Du umleitest, schickt alle bzw.
mindestens diese umgeleiteten Pakete wieder ueber den Umleit-Server
zurueck. Grund: Die umgeleiteten Pakete werden natuerlich veraendert
vom Umleitserver (damit sie ein neues Ziel haben), diese Aenderung
kommt dann so auf Deinem Zielserver an. Wenn der Zielserver jetzt
antwortet, kommt die Antwort von einem ganz anderen Server als der,
mit dem der Client eine Verbindung hat, ergo er verwirft sie.
Wuerde der Umleitserver jetzt die Antwort durchreichen, wuerde er sie
automatisch umschreiben so das alles wieder stimmig ist.
2 moegliche Loesungen:
1. default-route ersetzen (der totale Overkill)
Du baust ein VPN von dem echten Server zum Umleitserver und schickst
da alles durch (quasi defaultroute ersetzen)
-> Problem: viel Traffic quer duchs Netz, Fehleranfaellig, der Umleitserver muss ggfs. alles NAT-en und die echte IP des Zielservers
ist quasi nicht mehr nutzbar
2. Traffic-Based-Routing (bisschen aufwand, koennte bei gutem Setup
aber ideal sein)
Du hast wieder das VPN zw. den beiden Servern und machst ein neues
Routingtable (geht mit dem iproute2 Zeug) und arbeitest mit iptables
MARKing Support um alle Antwortpakete zu markieren und anschliessend
ueber den Umleitserver rauszurouten.
Das ganze faellt dann weg, wenn der Zielserver per "default" eh ueber
den Umleitserver geht (z.B. wenn der "Umleitserver" die Firewall/das
Gateway ist).
Wenn all das nix fuer Dich ist, bleibt nur Deine Portfwd-Loesung,
nur dabei verlierst Du halt die ClientIP.
Gruss,
Darkman