Connection Forwarden / NAT über Internet?

Hi,

ich würde gerne von einem Linux Server eine TCP-Verbindung an einen anderen Rechner forwarden.

Also mehrere Clients sollen sich auf dem Linux Server auf Port xxx verbinden können und dieser leitet den Traffic über das Internet an einen anderen Server weiter, wo dann ein Serverprozess läuft. Der zurückgehende Traffic soll dann entsprechend auch über den Zwischen-Server laufen.
Die IP des 2. Servers soll also quasi nicht sichtbar sein, bzw ein Round Robin System über mehrere Server soll eingeführt werden.

Wie kann man das am besten bewerkstelligen?
Im Prinzip will ich ein NAT, aber funktioniert das übers Internet mit nur einem Interface?

Hab damit leider keine Erfahrung :/

Danke für eure Hilfe
 
Zuletzt bearbeitet:
Im Endeffekt ist es ja nur ein Portforwarding, das du einfach über iptables machen kannst.
 
Wie kann man das am besten bewerkstelligen?
Im Prinzip will ich ein NAT, aber funktioniert das übers Internet mit nur einem Interface?

Hab damit leider keine Erfahrung :/

NAT hast du doch schon erkannt ... warum sollte das probleme machen, dass die maschine nur ein interface hat?

für dNAT brauchst du einen port auf der repeater maschine, sowie ein ziel (mit einem impliziten oder expliziten zielport) ... den weg zum ziel (über welches interface) ist an der stelle schon gar nicht mehr gefragt, das erledigt der kernel für dich ...

was dein round robin angeht, ich nehme mal an das soll schlicht zur lastverteilung dienen ...

evtl hilft dir das hier weiter ... http://www.failover.de/Members/menole/cluster/hochverfugbarkeit-dank-loadbalancing-und-ip-takeover

das gesammtkonzept ist zwar vermutlich für das was du vorhast reichlich überdimensioniert, aber die einzelnen lösungen sind einen blick wert
 
Wenns fuer HTTP(S) sein soll, empfehle ich Dir Pound als ReverseProxy/Loadbalancer. Das Zeug laeuft bei mit seit Jahren stabil bei ueber 500K requests / Tag. Konfiguration ist zudem sehr einfach.


Und wenns nicht Linux sein muss - OpenBSD kann solche Dinge out-of-the Box (LB, Proxy, auch https) via relayd.
 
IP | PC
---------------------------
10.0.0.3 | SERVER1
10.0.0.4 | SERVER2
10.0.0.12| Redirect


1 server
iptables -t nat -A PREROUTING -p tcp --dport 3000 -j DNAT --to-destination 10.0.0.3
iptables -t nat -a POSTROUTING -p tcp --dport 3000 -j SNAT --to-source 10.0.0.12


2 server load balancing nicht getestet
iptables -t nat -A PREROUTING -p tcp --dport 3000 -m random --average 50 -j DNAT --to-destination 10.0.0.3
iptables -t nat -a POSTROUTING -p tcp --dport 3000 -m random --average 50 -j SNAT --to-source 10.0.0.12

iptables -t nat -A PREROUTING -p tcp --dport 3000 -j DNAT --to-destination 10.0.0.4
iptables -t nat -a POSTROUTING -p tcp --dport 3000 -j SNAT --to-source 10.0.0.12
 
Zuletzt bearbeitet:
Zurück
Oben