Tunneln Sie den HTTP-Verkehr über ssh

7

Hier ist mein Setup. Ich habe ein privates Netzwerk mit einer öffentlichen IPv4-Adresse. In diesem privaten Netzwerk habe ich zwei Server, 192.168.1.10 und 192.168.1.20. .10 ist mein ssh Bastion Host. Ich habe die Portweiterleitung eingerichtet, damit ich vom Internet aus auf diesen Server ssh kann. Ich habe auch meine SSH-Konfiguration auf meiner Workstation eingerichtet, damit ich über das Internet auch über 192.168.1.10 auf 192.168.1.20 ssh kann. Die Workstation befindet sich nicht im privaten Netzwerk, sondern ist eine Maschine im Internet.

Hier ist mein Ziel: Ich möchte von meinem Arbeitsplatz aus über das Internet eine Verbindung zu einem http-Dienst unter 192.168.1.20 herstellen können (nur durch Drücken von localhost: 8080 oder ähnlich), aber über ssh getunnelt. Welche Tunnel muss ich einrichten und auf welchen Maschinen?

Vielen Dank!

Katzenhose
quelle

Antworten:

7

Richten Sie von Ihrer Workstation aus das Tunneln ein über:

ssh -L8080:192.168.1.20:80 server10

Wobei "server10" der öffentliche Name ist, mit dem Sie 192.168.1.10 erreichen.

Dadurch wird Port 8080 lokal abgehört und alle Daten vom Zielhost an 192.168.1.20:80 weitergeleitet.

Eine Alternative ist die Verwendung der -DOption für ssh zum Einrichten eines Socken-Proxys. Auf diese Weise können Sie jeden Port auf jedem Host erreichen, aber Sie müssen Ihre Anwendung für die Verwendung dieses Proxys konfigurieren.

michas
quelle