GNU/Linux >> Linux Esercitazione >  >> Linux

Come inoltrare una porta da una macchina all'altra?

Sì, questo si chiama GatewayPorts in SSH. Un estratto da 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”.

E puoi usare localhost invece di M nell'inoltro, poiché stai inoltrando alla stessa macchina a cui stai inviando SSH, se ho capito correttamente la tua domanda.

Quindi, il comando diventerà questo:

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

e avrà questo aspetto in netstat -nltp :

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

Ora chiunque acceda a questa macchina alla porta 2222 TCP parlerà effettivamente con localhost:8888 come visto nella macchina M. Nota che questo non è lo stesso del semplice inoltro alla porta 8888 di M.


C'è un altro modo. Puoi impostare il port forwarding da S:2222 a W:8888 con iptables. Singolo comando:

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

dove 1.2.3.4 è l'indirizzo IP di M. Si chiama NAT (Network Address Translation).


Altre alternative:netcat (tradizionale) o socat

Sul server (S):

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

o

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

Dettagli vedi in:Un modo semplice per creare un tunnel da una porta locale a un'altra?


Linux
  1. CentOS / RHEL:come spostare un gruppo di volumi da un sistema all'altro

  2. Come rinominare più file da un'estensione all'altra in Linux / Unix?

  3. Come trovare parole da un file in un altro file?

  4. Come copiare i commit da un repository Git a un altro?

  5. Collegamento simbolico da una workstation all'altra senza montaggio

Come copiare elementi da un DynamoDB a un'altra tabella DynamoDB utilizzando Python su AWS

Come reindirizzare da un dominio all'altro in Nginx e Debian 11

Come copiare un file da un'altra directory a quella corrente?

Ssh Port Forward per accedere alla macchina domestica da qualsiasi luogo?

Come spostare gli account da un server cPanel a un altro server cPanel?

Come copiare i dati da un sito Web WordPress a un altro in Plesk