Précédent   Forum des professionnels en informatique > Systèmes > Linux > Réseau
Réseau Vos questions autour des réseaux et télécoms sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 19h35   #1
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 64
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 64
Points : 34
Points : 34
Par défaut Accès à une machine dans un réseau privé via tunnel SSH

Salut à tous,

Mon problème concerne trois machines différentes :

Un serveur : mon.serveur.com
Une machine dans un réseau privé, accessible en SSH (et uniquement en SSH) : ma.machine.priv

Et un serveur dans le réseau privé, que je ne contrôle absolument pas et qui dispose d'un webservice que ma.machine.priv peut consommer : leur.serveur.priv

Vous comprenez déjà le problème : mon.serveur.com aimerait beaucoup beaucoup pouvoir consommer directement le webservice via ma.machine.priv, le problème c'est que je n'y parviens pas.

Le web service se situe sur le port 8080 de leur.serveur.priv

J'ai essayé de faire un tunnel SSH inversé entre ma.machine.priv et mon.serveur.com :

ma.machine.priv@user # ssh -nNT -R 19999:localhost:19999 user@mon.serveur.com

Donc depuis mon.serveur.com, je peux accéder au port 19999 de ma.machine.priv. (J'ai testé, ca marche) L'idée était ensuite de router via iptables le port 19999 de ma.machine.priv vers leur.serveur.priv.
Visiblement ce n'est pas aussi simple, voici la règle iptables que j'ai réalisée :

iptables -t nat -A PREROUTING -m tcp -p tcp -i eth0 -d ma.machine.priv --dport 19999 -j DNAT --to leur.serveur.priv
iptables -A FORWARD -p tcp -i eth0 -d leur.serveur.priv --dport 8080 -j ACCEPT

Il n'y a pas d'autre règle qui interfère. Et pourtant, ca ne fonctionne pas. Rien que la règle iptables ne semble pas fonctionner.

Quand j'essaye, depuis ma.machine.priv de consommer le webservice de leur.serveur.priv:8080 via l'url suivante : ma.machine.priv:19999 ... rien ne fonctionne. Donc forcément mon petit tunnel ne peut pas marcher !

J'ai tenté une autre approche, une redirection au niveau de la couche applicative avec un logiciel nommé rinetd. Cette fois la redirection fonctionne nickel, je peux consommer le webservice via ma.machine.priv:19999 par contre, vu que c'est au niveau applicatif, lorsque j'essaye de mettre en place mon tunnel ssh, il me dit que le port 19999 de ma.machine.priv est déjà pris.

Je ne sais pas trop comment m'en sortir, pourtant je sens que c'est faisable.

Suis-je loin du compte ? Y-a-t'il quelqu'un qui peut m'aider ?

Merci beaucoup et bonne soirée,

Cyril
ZeGuizmo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/02/2010, 22h09   #2
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 64
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 64
Points : 34
Points : 34
Hello,

Si ça intéresse quelqu'un, j'ai résolu mon souci : avec rinetd !

En fait, je configurais mal le truc. Il fallait que je redirige le localhost:19999 vers leur.serveur.priv 8080 au lieu de ma.machine.priv 19999 vers leur.serveur.priv 8080.

Et là ... tadaaaaam ça marche !

Bonne soirée,

Cyril
ZeGuizmo est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 23h24.


 
 
 
 
Partenaires

Hébergement Web