Unverschlüsseltes Äquivalent zum SSH-Reverse-Proxy

7

Ich suche ein Äquivalent dazu:

ssh -R 8888:10.0.0.2:8888 100.101.102.103

dh. Lassen Sie den Dienst, der auf Port 8888 auf dem lokalen Computer (10.0.0.2) ausgeführt wird, wie einen lokal ausgeführten Dienst auf einem Remotecomputer (100.101.102.103) aussehen.

Ich möchte jedoch nicht den Verschlüsselungsaufwand von ssh, da der betreffende Dienst https ist und somit bereits verschlüsselt ist.

Kann jemand ein Werkzeug vorschlagen, um dies zu tun? Beachten Sie, dass die Richtung der Initiation hier wichtig ist - dh. Es ist das Äquivalent eines umgekehrten Tunnels. Der lokale Computer, auf dem der Dienst ausgeführt wird, befindet sich in einem privaten Netzwerk und ist für den Remotecomputer nicht direkt sichtbar. Der Remotecomputer hat jedoch eine öffentliche IP.

  • Unix (OS X und Linux) an jedem Ende
  • Ich habe vollen Zugriff auf beide Maschinen

quelle
Google für: "TCP Gender Change". Ein Artikel auf Wikipedia: en.m.wikipedia.org/wiki/TCP_Gender_Changer. Einige Tools, die das unter Linux tun: tgcd, revinetd
Fabio

Antworten:

8

Ein paar Netcat-Sitzungen würden die Rechnung passen, denke ich.

Mann nc

Sven
quelle
Es wäre schön, ein Beispiel dafür zu sehen.
Fabio
5

Setzen Sie einfach die Verschlüsselungsverschlüsselung von ssh auf none.

ssh -c none -R 8888:10.0.0.2:8888 100.101.102.103
Haakon
quelle
Auf den meisten Plattformen ohne die Verwendung eines Patches eines Drittanbieters nicht möglich.
Dan Carley
Wahrscheinlich genauso gut, es macht wirklich das sichere Stück von ssh nerf.
Haakon
3

Vergessen Sie nicht socat, das Schweizer Taschenmesser der Netzwerkspediteure;)

http://www.dest-unreach.org/socat/

Aleksandar Ivanisevic
quelle
Nett ! Ich wusste es nicht.
sebthebert
Es wäre schön, ein Beispiel zu sehen, wie man es verwendet, um dies zu erreichen.
Fabio
2

Ein inetd in Kombination mit netcat sollte den Trick machen. Siehe Weiterleitungsports , obwohl xinetd heutzutage möglicherweise die bessere Wahl ist.

Brian-Brasilien
quelle
2

Ich habe dafür in der Vergangenheit mit großem Erfolg rinetd verwendet .

rinetd ist ein sehr kleines, stabiles und einfaches Programm, das auf eingehende Verbindungen wartet und diese weiterleitet. Die Konfiguration ist wirklich einfach

# bindadress    bindport  connectaddress  connectport
1.2.3.4         80        4.3.2.1         80
1.2.3.4         443       4.3.2.1         443

Es gibt auch ein Programm namens " stone ", das dasselbe tun kann: Beispiel ... http vorwärts vom Gateway zu einer internen Maschine (1.2.3.4):

$ stone 1.2.3.4:80 80 
rkthkr
quelle
0

Sie könnten eine Art Firewall-Regel verwenden? Etwas iptables, um einen Port auf einen anderen umzuleiten?

Rory
quelle
0

Was Sie versuchen, riecht nach NAT Port Forwarding an mich. Ein iptables regiert und es ist geschafft.

Antoine Benkemoun
quelle