GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo reenviar un puerto de una máquina a otra?

Sí, esto se llama GatewayPorts en SSH. Un extracto de 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”.

Y puedes usar localhost en lugar de M en el reenvío, ya que está reenviando a la misma máquina a la que está enviando SSH, si entiendo su pregunta correctamente.

Entonces, el comando será este:

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

y se verá así en netstat -nltp :

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

Ahora cualquiera que acceda a esta máquina en el puerto 2222 TCP en realidad hablará con localhost:8888 como se ve en la máquina M. Tenga en cuenta que esto no es lo mismo que el reenvío simple al puerto 8888 de M.


Hay otra manera. Puede configurar el reenvío de puertos de S:2222 a W:8888 con iptables. Comando único:

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

donde 1.2.3.4 es la dirección IP de M. Se llama NAT (traducción de direcciones de red).


Más alternativas:netcat (tradicional) o socat

En el servidor (S):

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

o

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

Ver detalles en:¿Forma sencilla de crear un túnel de un puerto local a otro?


Linux
  1. ¿Cómo copiar configuraciones de una máquina a otra?

  2. CentOS/RHEL:Cómo mover un grupo de volúmenes de un sistema a otro

  3. Cómo copiar una tabla de una base de datos mysql a otra base de datos mysql

  4. ¿Cómo cambiar el nombre de varios archivos de una extensión a otra en Linux/Unix?

  5. Enlace simbólico de una estación de trabajo a otra sin montaje

Cómo copiar elementos de un DynamoDB a otra tabla de DynamoDB usando Python en AWS

Cómo redirigir de un dominio a otro en Nginx y Debian 11

¿Cómo copiar un archivo de otro directorio al actual?

Ssh Port Forward para acceder a la máquina doméstica desde cualquier lugar?

¿Cómo mover cuentas de un servidor cPanel a otro servidor cPanel?

Cómo copiar datos de un sitio web de WordPress a otro en Plesk