Transparentes SSH-Tunneling

Transparentes SSH-Tunneling

Ich habe einen SSH-Tunnel in definiert /etc/ssh/ssh_config. Er enthält:

LocalForward 0.0.0.0:8000 some-service:80
LocalForward 0.0.0.0:8001 some-other-service:80

Ich möchte weiterhin über die ursprünglichen DNS-Namen auf die Tunnel zugreifen können ( curl some-servicesollte z. B. weiterhin funktionieren, anstatt verwenden zu müssen curl 0.0.0.0:8000)

Um dies zu tun, habe ich meiner Datei Folgendes hinzugefügt /etc/hosts:

127.0.0.2 some-service
127.0.0.3 some-other-service

Jetzt brauche ich glaube ich ein paar iptablesBefehle, die Folgendes bewirken:

When I see a request to 127.0.0.2:80 I should proxy it to 127.0.0.1:8000
When I see a request to 127.0.0.3:80 I should proxy it to 127.0.0.0:8001

Somit würde (via ) curl some-serviceaufgelöst , was wiederum zu (via ) weitergeleitet würde, was wiederum (via den SSH-Tunnel) erreichen würde.127.0.0.2/etc/hosts127.0.0.1:8000iptablessome-service:80


Frage: Ich denke, es müsste einen einfacheren Weg geben, dies zu erreichen. Wenn nicht, wie würden die iptablesBefehle aussehen?

Antwort1

Verwenden Sie diessh Dynamisch vorwärtsOption zum Einrichten eines Socks-Proxys, indem Sie Folgendes zu Ihrem hinzufügen .ssh/config:

DynamicForward localhost:8000

Dann sagen Sie curl, dass es SOCKS verwenden soll:

curl --socks5 localhost:8000 ...

Es gibt noch weitere Möglichkeiten, curlSOCKS zu nutzen. Weitere Informationen finden Sie in derDokumentation.

Antwort2

Ich bin mir nicht sicher, was hier die richtige Etikette ist (Frage schließen? Als Duplikat markieren?), aber ich habe hier eine akzeptierte Antwort auf diese Frage:

https://serverfault.com/questions/982063/transparent-ssh-tunneling

verwandte Informationen