Hallo,
habe einen 24/7-laufenden headless-Homeserver aufgesetzt, der aus dem Internet über ssh / Port 22 erreichbar ist. Namensauflösung erfolgt über DynDNS. Habe vor, mit einigen meinen Freunden über Internet Schach zu spielen, wobei das aber nicht über einen externen Schachserver laufen soll, sonder durch direkte Verbindung (via ssh). Mein Schachpartner verbindet sich also via ssh (RSAkey authentification) mit meinem Homeserver:
1 | ssh -L <jChessBoardPort>:localhost:<jChessBoardPort> <myuser>@<dyndns-addr> |
Der Homeserver soll die eingehende Verbindung auf meinen Laptop weiterleiten, also etwa so:
<homeserver-lanip>:<jChessBoardPort> --> <laptop-lanip>:<jChessBoardPort>
Auf dem Laptop lauscht jChessBoard auf dem entspr. Port auf die Anfrage von der jChessBoard-Instanz meines Schachpartners. So weit der Plan.
Mir ist allerdings unklar, wie ich die Weiterleitung vom Homeserver auf den Laptop am besten realisieren soll. Habe folgende Ideen:
a) mit reverse proxy b) mit netcat c) mit iptables NAT
Meine 1. Wahl wäre reverse proxy, da ein nginx ohnehin auf dem Homeserver läuft. Trotz intensivem googeln habe ich nirgend gefunden, ob es möglich ist, nginx als Reverse-Proxy auch für Nicht-HTTP(S)-Verbindungen zu verwenden. Ich will also, dass nginx einfach den TCP-Port auf einer bestimmten Location auf <laptop-lanip> forwarded, ohne dass auf diesem Port HTTP(S)-Protokoll läuft. Ist das möglich?
Falls nein, welche sonstigen Möglichkeiten ausser netcat bzw. iptables seht ihr?? Gibt es so etwas wie Reverse-SOCKS-Proxy ??