GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rediriger un port d'une machine à une autre ?

Oui, cela s'appelle GatewayPorts en SSH. Un extrait 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”.

Et vous pouvez utiliser localhost au lieu de M dans le transfert, car vous transférez vers la même machine que celle à laquelle vous vous connectez en SSH -- si j'ai bien compris votre question.

Ainsi, la commande deviendra ceci :

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

et ressemblera à ceci dans netstat -nltp :

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

Désormais, toute personne accédant à cette machine sur le port 2222 TCP parlera en fait à localhost:8888 comme on le voit sur la machine M. Notez que ce n'est pas la même chose que le simple transfert vers le port 8888 de M.


Il existe un autre moyen. Vous pouvez configurer la redirection de port de S:2222 vers W:8888 avec iptables. Commande unique :

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

où 1.2.3.4 est l'adresse IP de M. Il s'appelle NAT (Network Address Translation).


Plus d'alternatives :netcat (traditionnel) ou socat

Sur le(s) serveur(s) :

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

ou

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

Voir les détails dans :Méthode simple pour créer un tunnel d'un port local à un autre ?


Linux
  1. CentOS / RHEL :Comment déplacer un groupe de volumes d'un système à un autre

  2. Comment copier une table d'une base de données mysql vers une autre base de données mysql

  3. Comment copier les 10 fichiers les plus récents d'un répertoire à un autre ?

  4. Lien symbolique d'un poste de travail à un autre sans montage

  5. Prendre un vidage MySQL à partir d'une autre machine

Comment copier des éléments d'une table DynamoDB vers une autre table DynamoDB à l'aide de Python sur AWS

Comment rediriger d'un domaine à un autre dans Nginx et Debian 11

Comment copier un fichier d'un autre répertoire vers celui en cours ?

Transfert de port Ssh pour accéder à la machine domestique depuis n'importe où ?

Comment déplacer des comptes d'un serveur cPanel vers un autre serveur cPanel ?

Comment copier des données d'un site WordPress à un autre dans Plesk