Anfrage von extern nach extern weiterleiten

Adolar

Lt. Junior Grade
Registriert
Sep. 2014
Beiträge
395
Hi zusammen, ein klassischer Fall von Portweiterleitung, zuerst mal über eine Fritz!Box: Ich bekomme eine Anfrage von z.B. einem Webbrowser (also Port 80) rein und leite diese an meinen internen Webserver weiter. Funktioniert vorbildlich.

Jetzt habe ich aber einen Dienst außerhalb des Hauses und da geht das nicht mehr so einfach, denn die Fritz!Box unterstützt keine Weiterleitung nach extern.
Also muss was anderes her.

Ich dachte mir ein Script zu schreiben, welches Anfragen auf Port x an eine externe Adresse weiterleitet und dieses Script auf meinem internen Webserver zu laufen zu lassen. Damit kann die Fritz!Boy weiter nach intern weiterleiten (das kann sie ja) und der Webserver übernimmt den Rest.

Jetzt zur eigentlichen Frage: Was kann ich in PHP fix zusammenfrickeln, was eine Anfrage über Port x zu einer Adresse und einem Port y (kann aber gleich x sein) weiterleitet? Ich bin da (noch) nicht so firm drin.
Alles TCP.
Quelle Internet, beliebige IP-Adresse.
Port dauerhaft festgelegt.: x (z.B. 22555)
Ziel: festgelegte IP-Adresse eines öffentlichen Mietservers bei z.B. Strato
Webserver Apache 2.4
verfügbare Sprache PHP 7.0

Fehlt noch was an Info?

PS: Ja, ich kenne google auch, aber etwas Starthilfe bräuchte ich schon noch, dann komme ich sicher allein weiter. Mir fehlt nur der Startschuss...

LG, Adolar
 
Wo / wie soll das Script denn laufen?

Ich mache das auf einer kleinen Linux Box mit Socat um alle Port 80 / 443 Anfragen von IPv4 auf v6 weiterzuleiten (Webserver hat nur v6 Adresse...). Sollte aber auch problemlos zu v4 oder einer Domain gehen.
Code:
socat TCP4-LISTEN:80,fork,su=nobody TCP6:[2a00:....]
Genaue Infos hier: https://linux.die.net/man/1/socat

Wenn es nur um v4 Traffic geht, kann das auch eine einfache iptables Regel erledigen.
 
Hm, beim dem Link mit htaccess fehlt mir noch die Selektion, wann die Weiterleitung aktiv werden soll. http (80) soll ja weiter vom Webserver selbst beantwortet werden, nur was an Port 22555 ankommt, soll umgeleitet werden...

Die Frage nach dem "Wo": Der Apache läuft auf einer Synolgy NAS unter der App "Web Station".

Es ist derzeit nur V4 geplant.
 
Zurück
Oben