Heimnetzwerke - WIFI, LAN, Router und Co 16.533 Themen, 81.299 Beiträge

Umleiten/Umlegen einer Verbindung hinter einem Router (NAT)

MrBobble / 0 Antworten / Baumansicht Nickles

Hi,
Ich habe ein meiner Meinung nach etwas exotisches Problem.
Server1 und Server2 befinden sich hinter einem T-Com Router (mit DSL-Modem, NAT).
Es handelt sich um HTTP Server.
Alle Anfragen aus dem Internet die an Port 80 des Routers gehen werden auf den Server1 geleitet.
Ist es möglich, dass Server1 die Anfrage umleitet und an Server2 übergibt, so dass dieser letztendlich einen Socket zu dem Client aus dem Internet, der die Anfrage gestellt hat öffnet?
Ziel wäre es, dass dann Server2 mit dem Client kommuniziert ohne, dass der Datenverkehr über den Server 1 läuft.
Die einfachste Lösung wäre es z.B. Port 81 in den Routereinstellungen auf Server2 zu leiten, während Server1 den Client anweist, die Seite auf routeradresse:81 aufzurufen. Allerdings müsste dann jeder Server einen eigenen Port haben. Außerdem würde dieser HTTP-Redirect Zeit verbrauchen.
Eine mögliche Lösung, die ich mir ausgedacht habe (und ich habe keine Ahnung ob das funktionieren würde), wäre dass Server1 die Anfrage die er vom Client bekommen hat nochmal im Ethernet hinter dem Router abschickt und dabei die Ziel Adresse der TCP/IP Pakete, die zur Anfrage gehören mit der MAC Adresse des Server2 vertauscht. Würde dann ein Socket zwischen Server2 und Client geöffnet werden.
Und noch eine dritte mögliche Lösung, die mir eingefallen ist wäre, dass Server1 die eingehende Kommunikation an Server2 weiterleitet, dieser die Anfragen bearbeitet und als Antwort Pakete abschickt, die als Absender Adresse die MAC-Adresse des Server1 tragen.

Server1 arbeitet als ein Dispatcher für HTTP Anfragen. Allerdings ist Server1 ein ganz normaler PC, wie auch alle anderen Server und sollte deshalb nicht den ganzen Datenverkehr der Serverfarm weiterleiten müssen.

Noch eine kleine Erklärung warum das ganze eigentlich...
Ich versuche einen P2P Webserver zu schreiben. Also kleines Szenario: In einem Büro schließen sich alle Büro PCs zusammen und ergeben einen virtuellen Webserver. Vorteil: Man braucht keinen extra Webserver und ein paar PCs laufen immer. Das ganze ist schon viel ausgereifter, aber dieses Firewall Problem mit diesem NAT Zeug ist irgendwie ungünstig....

Also falls irgendjemand irgendwelche Ideen hat, sei es Manipulation des ARP Caches oder ähnlich verrückte Dinge (irgendwie kann man so ziemlich das meiste mit den richtigen Librarys programmieren) oder irgendein anderes Forum kennt wo das hier vielleicht besser reinpasst, ich wäre um jede Antwort dankbar.

Grüße MrBobble

bei Antwort benachrichtigen