GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie leitet man einen Port von einer Maschine zu einer anderen weiter?

Ja, das heißt GatewayPorts bei SSH. Ein Auszug aus ssh_config(5) :

GatewayPorts
        Specifies whether remote hosts are allowed to connect to local
        forwarded ports.  By default, ssh(1) binds local port forwardings
        to the loopback address.  This prevents other remote hosts from
        connecting to forwarded ports.  GatewayPorts can be used to spec‐
        ify that ssh should bind local port forwardings to the wildcard
        address, thus allowing remote hosts to connect to forwarded
        ports.  The argument must be “yes” or “no”.  The default is “no”.

Und Sie können localhost verwenden statt M in der Weiterleitung, da Sie an denselben Computer weiterleiten, an den Sie SSH-ing senden - wenn ich Ihre Frage richtig verstehe.

Der Befehl wird also zu diesem:

ssh -L 2222:localhost:8888 -N -o GatewayPorts=yes hostname-of-M

und sieht in netstat -nltp so aus :

tcp        0      0    0.0.0.0:2222   0.0.0.0:*  LISTEN  5113/ssh

Jetzt spricht jeder, der auf diese Maschine über Port 2222 TCP zugreift, tatsächlich mit localhost:8888, wie es in Maschine M zu sehen ist. Beachten Sie, dass dies nicht dasselbe ist wie eine einfache Weiterleitung an Port 8888 von M.


Es geht auch anders. Sie können mit iptables eine Portweiterleitung von S:2222 nach W:8888 einrichten. Einzelbefehl:

iptables -t nat -A PREROUTING -p tcp --dport 2222 \
         -j DNAT --to-destination 1.2.3.4:8888

wobei 1.2.3.4 die IP-Adresse von M ist. Es heißt NAT (Network Address Translation).


Weitere Alternativen:netcat (traditionell) oder socat

Auf dem Server (S):

socat tcp-listen:2222,reuseaddr,fork tcp:M:8888

oder

nc -l -p 2222 -c 'nc M 8888'

Details siehe:Einfache Möglichkeit, einen Tunnel von einem lokalen Port zu einem anderen zu erstellen?


Linux
  1. CentOS / RHEL :So verschieben Sie eine Volumengruppe von einem System auf ein anderes

  2. So kopieren Sie eine Tabelle von einer MySQL-Datenbank in eine andere MySQL-Datenbank

  3. Wie benenne ich mehrere Dateien von einer Erweiterung in eine andere in Linux / Unix um?

  4. Wie finde ich Wörter aus einer Datei in einer anderen Datei?

  5. Wie kopiere ich Commits von einem Git-Repo in ein anderes?

So kopieren Sie Elemente von einer DynamoDB-Tabelle in eine andere DynamoDB-Tabelle mit Python auf AWS

So leiten Sie in Nginx und Debian 11 von einer Domäne zu einer anderen um

Wie kopiert man eine Datei aus einem anderen Verzeichnis in das aktuelle?

Ssh-Portweiterleitung, um von überall auf den Heimcomputer zuzugreifen?

Wie verschiebt man Konten von einem cPanel-Server auf einen anderen cPanel-Server?

So kopieren Sie in Plesk Daten von einer WordPress-Website auf eine andere