Ich verwende einen Reverse-Tunnel zu einem öffentlichen VPS, damit Benutzer eine Verbindung zu meinem Rechner zu Hause herstellen können. Da der Reverse-Tunnel jedoch funktioniert, werden ihre IP-Adressen für meinen Dienst als lokal (127.0.0.1) angezeigt.
ist es möglich, SSH dazu zu bringen, die öffentliche IP-Adresse des Benutzers weiterzuleiten (z. B. 7.8.9.10 statt 127.0.0.1)? könnte dadurch möglicherweise etwas kaputt gehen?
Antwort1
SSH implementiert einen Tunnel, in dem Informationen nur zum oder vom Remote- oder lokalen System **weitergeleitet* werden. Daher können sie nur an die zugewiesene lokale Adresse gesendet werden. Sie können jedoch virtuell eine lokale private Adresse konfigurieren und diese anstelle von 127.0.0.1 verwenden.
sudo ifconfig eth0:0 10.0.0.1 up sudo ssh -g -L 1234:10.0.0.1:1234[email geschützt]
Um die IP-Adresse beizubehalten, benötigen Sie etwas wie l2tp. Beachten Sie, dass die Portweiterleitung in diesen Fällen von NATs als IP-Masquerading bezeichnet wird und per Definition Informationen über die ursprünglichen IPs verloren gehen, wenn sie über den Tunnel gesendet werden. Stattdessen müssten Sie Weiterleitungspakete einschließlich ihrer Quelle in etwas wie l2tp kapseln und diese DANN durch den Tunnel weiterleiten und dann auf der anderen Seite dekodieren.