Wenn Sie das Glück haben, dass Ihr Internetdienstanbieter (ISP) eine dedizierte IP-Adresse bereitstellt, können Sie einen Heimserver einrichten und ihn für das Internet verfügbar machen, indem Sie dem Router einige Portweiterleitungsregeln hinzufügen . Wenn Ihr ISP Sie jedoch dazu zwingt, diese IP mit Ihren Nachbarn zu teilen, hilft die Portweiterleitung nicht. Andere Anbieter blockieren eingehende Verbindungen einfach durch Firewall-Regeln.
Mit Hilfe virtueller privater Server können Benutzer all diese Einschränkungen überwinden. Alles funktioniert mit weniger als 512 MB RAM, da lediglich der Netzwerkverkehr umgeleitet werden muss. Es verbraucht nicht viel RAM und CPU. Der Server empfängt eingehende Verbindungen und leitet sie über einen „ Reverse-SSH-Tunnel “ an den Computer weiter. Auf diese Weise können Sie für sehr geringe monatliche Kosten jede Art von Heimserver einrichten.
Stellen Sie sich vor, Sie erstellen einen NextCloud-Server zum Hochladen oder Synchronisieren von Dateien. Sie schützen die Privatsphäre Ihrer Dateien, wenn sie sich auf Ihrem Heimserver befinden, und können bei Bedarf eine 6-TB-Festplatte kaufen, um die Speicherkapazität zu erhöhen. Die monatliche Stromrechnung für einen virtuellen privaten Server beträgt weniger als 5 USD/Monat (115.000 VND). Günstiger als die monatliche Rechnung für einen Server mit 6 TB Kapazität.
Hinweis : Diese Methode wird nur zum Umleiten des TCP-Netzwerkverkehrs verwendet. TCP wird vom Webserver verwendet (Port 80/tcp). UDP wird von einigen (aber nicht allen) Spieleservern verwendet, zum Beispiel Counter Strike (Port 27015/UDP). UDP-Tunneling ist ebenfalls möglich, erfordert jedoch einige Tricks.
Ermöglicht eine externe Verbindung zum PC
Windows 10 verfügt jetzt über einen integrierten SSH-Client
PuTTY muss nicht mehr zum Initiieren von SSH-Verbindungen verwendet werden. In diesem Tutorial verwenden wir den integrierten SSH-Client, um den Tunnel einzurichten. Lesen Sie den Artikel: So installieren Sie OpenSSH unter Windows 10 von LuckyTemplates, um mehr zu erfahren.
Bereiten Sie einen virtuellen privaten Server für die Tunnelverbindung vor
Erstellen Sie einen virtuellen privaten Server bei Ihrem Lieblingsanbieter. Das Wichtigste ist, einen Serverstandort so nah wie möglich zu wählen, um die Netzwerklatenz zu minimieren. Versuchen Sie, den Server so einzurichten, dass Sie sich direkt beim Root-Konto anmelden können, am besten mit einem SSH-Schlüssel, da dies sicherer ist. Dies ist erforderlich, wenn Sie möchten, dass der Server auf eingehende Verbindungen auf Ports unter 1024, auch privilegierte Ports genannt, „lauscht“.
Öffnen Sie die Eingabeaufforderung (oder das Terminal, wenn Sie Linux verwenden) und melden Sie sich über SSH beim Server an.
Bearbeiten Sie die OpenSSH-Servereinstellungen:
nano /etc/ssh/sshd_config
Wenn Sie nicht als Root, sondern als normaler Benutzer angemeldet sind, müssen Sie diesen Befehl verwenden, um die Datei speichern zu können:
sudo nano /etc/ssh/sshd_config
Scrollen Sie nach unten, bis Sie die Variable mit dem Namen GatewayPorts finden. Diese Zeile könnte so aussehen:
#GatewayPorts no
Entfernen Sie # (um es von einem Kommentar in einen Teil des Programms zu ändern) und ändern Sie die Zeile in:
GatewayPorts yes
Wenn Sie diese Zeile nicht finden können, scrollen Sie einfach nach unten und fügen Sie die Zeile selbst hinzu:
GatewayPorts yes

Drücken Sie Strg + X , dann Y und schließlich die Eingabetaste, um die Datei zu speichern.
Laden Sie den SSH-Daemon neu, damit er die neuen Einstellungen übernimmt.
systemctl reload ssh.service
Beenden Sie die SSH-Sitzung.
exit
So richten Sie einen Reverse-SSH-Tunnel ein
Die Befehlsparameter sind unter Linux, Windows und sogar BSD gleich. Die allgemeine Syntax lautet:
ssh -R remote_port:host:localport your_username@IP-of-server
- remote_port weist den Server an, Verbindungen zu diesem Port umzuleiten.
- host teilt dem Server die IP-Adresse mit, an die die Verbindung umgeleitet wird. 127.0.0.1 wird hier verwendet, um auf den eigenen Computer des Benutzers umzuleiten.
- localport gibt an, an welchen Port Pakete umgeleitet werden sollen. Hier sollte der Benutzer die Portnummer festlegen, auf der die auf dem lokalen Computer installierte Anwendung „horcht“.
Um beispielsweise alle Verbindungen auf Port 80 (zum Server) weiterzuleiten und an Port 8080 auf dem lokalen Computer zu senden, würde der Befehl wie folgt lauten:
ssh -R 80:127.0.0.1:8080 [email protected]
Dies setzt voraus, dass Sie über einen Webserver wie Apache oder Nginx verfügen, der lokal Port 8080 überwacht. Wenn Apache/Nginx jedoch den Standardport 80 überwacht, besteht kein Problem darin, denselben Port im vorherigen Befehl zweimal zu verwenden (da sie auf Port 80 auf einem anderen Server verweisen).
ssh -R 80:127.0.0.1:80 [email protected]
Wenn zu diesem Zeitpunkt jemand die IP-Adresse Ihres virtuellen privaten Servers in die Adressleiste seines Browsers eingibt, wird die Verbindung umgeleitet und von Ihrem lokalen Computer verarbeitet.

Im Bild oben wurde ein einfacher Webserver für Chrome verwendet, der standardmäßig auf Port 8887 lauscht. Benutzer können dieses Setup selbst ausprobieren, indem sie die App installieren und dann den Befehl verwenden, wie im Bild gezeigt.
Es ist erwähnenswert, dass die SSH-Sitzung aktiv bleiben muss, um den Tunnel aktiv zu halten. Um den Tunnel zu schließen, geben Sie in einem Terminal- oder Eingabeaufforderungsfenster „exit“ ein.
Wie Sie sehen, ist es nicht schwierig, einen umgekehrten SSH-Tunnel zu erstellen, aber die Sicherung einer Website ist etwas anderes. Wenn Sie sich also für die Umsetzung einer Idee wie eines lokalen NextCloud-Servers entscheiden, isolieren Sie diese zumindest in einer virtuellen Maschine. Auf diese Weise wird bei einem Hackerangriff auf die Website zumindest der Rest des Betriebssystems nicht beschädigt.
Und ein weiterer wichtiger Punkt ist, immer das zu sichern, was Sie nicht verlieren möchten!
Ich hoffe, Sie haben Erfolg.