6 votes

Comment partager un tunnel SSH inversé sur un réseau ?

J'ai un ordinateur distant sur une connexion 3G PPP. Je ne peux pas me connecter à cet ordinateur via Internet car je pense que la plage d'adresses IP PPP utilise NAT pour se connecter à Internet (je reçois une adresse 10.x.x.x lors de la connexion)

Je demande donc à l'ordinateur distant de créer une connexion SSH vers un serveur sur Internet. Je peux ensuite descendre ce tunnel à partir du serveur et obtenir un shell sur l'ordinateur distant. Super.

Je veux pouvoir accéder à l'interface Web d'une caméra sur le réseau distant. Je crée donc un deuxième tunnel SSH qui redirige le trafic vers l'adresse de la caméra, c'est-à-dire: ssh -R 9000::

De mon hôte Internet, cela fonctionne, j'obtiens la page Web: wget 127.0.0.1: 9000 Super

Maintenant, je dois faire en sorte que cela fonctionne à partir de mon PC client:

PC client --> serveur Internet --tunnel--> ordinateur distant --> caméra IP

Fondamentalement, j'ai besoin de rendre mon tunnel SSH inversé disponible via le réseau.

J'ai supposé que si je utilisais simplement iptables pour rediriger le trafic entrant sur un certain port de mon serveur Internet vers 127.0.0.1: 9000, cela fonctionnerait, mais je n'ai pas pu le faire fonctionner après des heures de manipulation d'iptables, NAT, etc.

Cela devrait-il fonctionner?

2voto

Scott James Points 521

Je pense que vous avez besoin de -o GatewayPorts=yes pour permettre à d'autres hôtes que local d'utiliser votre tunnel. À partir de la page de manuel :

Spécifie si les hôtes distants sont autorisés à se connecter aux ports locaux transférés. Par défaut, ssh(1) lie les transferts de port locaux à l'adresse de bouclage. Cela empêche les autres hôtes distants de se connecter aux ports transférés. GatewayPorts peut être utilisé pour spécifier que ssh doit lier les transferts de port locaux à l'adresse générique, permettant ainsi aux hôtes distants de se connecter aux ports transférés. L'argument doit être "yes" ou "no". Par défaut, c'est "no".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X