Portweiterleitung zwischen 3 Maschinen

Portweiterleitung zwischen 3 Maschinen

Ich habe 3 Maschinen, die als Kette verbunden sind, A, B, C.

 A-->B-->C

A ist meine Maschine, B ist der Server und C ist eine andere Maschine mit einigen Diensten und einem Webserver darauf. Aus irgendeinem Grund brauche ich Zugriff von A auf den Webserver auf C (Port 80). Ich kann SSH verwenden, um mich von A bei B und dann von B bei C anzumelden, aber die Konsole reicht im Moment nicht aus. Ich brauche einen Webbrowser und die Verwendung von SSH mit Option -Xhat nicht funktioniert (einige Probleme mit Dbus beim Start von Firefox).

Ich leite die Portweiterleitung auf B mit dem klassischen Befehl weiter, um Port 22 für SSH weiterzuleiten:

ssh -L 2222:localhostB:22 user@ipC

aber die Verwendung desselben zum Weiterleiten von Port 80 hat nicht funktioniert:

ssh -L 8888:localhostB:80 user@ipC

Ich weiß, dass es eine andere Weiterleitung gibt, damit es funktioniert, aber ich habe nicht verstanden, wie und was.

Ich brauche so etwas:

A --> B (frd from B:8888 to C:80) --> C (port 80 web server)

Wenn ich also ipB:8888 eingebe, werde ich zu C:80 weitergeleitet.

Für jede Hilfe, wie Erklärungen, was zu tun ist, oder Skripte mit Befehlen, bin ich dankbar. Ich habe in einem Blog gelesen, dass die Weiterleitung zweimal durchgeführt werden muss ssh -L, aber ich habe nicht verstanden, warum.

Antwort1

Sie sind auf dem richtigen Weg.

Auf einen:

ssh -L 8888:ipC:80 user@ipB -N

Macht den Webserver auf C über localhost:8888 auf A erreichbar

Auf Anfrage des OP etwas mehr Details:

Ich bin aus Ihrer Frage davon ausgegangen, dass Sie auf A auf den Webserver von C zugreifen möchten (ich vermute, Sie haben auf A eine GUI-Umgebung mit einem Webbrowser).

Sie können nicht direkt auf C zugreifen (aus welchem ​​Grund auch immer), aber Sie können auf B zugreifen, das wiederum auf C zugreifen kann. Also erstellen wir einen Tunnel zwischen A und B und bitten B, sein Ende des Tunnels an den Webserver auf C anzuschließen.

verwandte Informationen