Declaration serveur derriere un routeur [Résolu]

Signaler
Messages postés
29
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
14 mars 2007
-
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006
-
Bonjour

Je programme un seveur sur un pc relie a internet via un routeur. La methode normale consiste a configurer le routeur pour faire une redirection d'un port vers mon ip local.
J'aimerais savoir comment faire pour eviter cela. Apres avoir vu des programme P2P fonctionner il me parait evident que c possible.
Prenons eMule par exemple, il se comporte comme client rapport au Serveur ed2k mais lorsqu'il est bien configure il est possible d'echanger des infos avec d'autres pc sur le net directement (donc sans passer par le serveur), dans ce cas la chaque client emule fait office de serveur. Hors dans la configuration du routeur j'ai juste a ouvrir les ports concernes mais pas besoin de preciser une redirection, eMule se declare tout seul.

Qeulqu'un sait-il comment ?
Merci

7 réponses

Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

C'est que ton routeur supporte l' uPnP, qui permet d'ouvrir dynamiquement et automatiquement les ports et effectuer le routage.

Bon courage.
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Dans le cas du protocol edonkey/emule, c'est la structure du reseau tout entier qui a été prévue pour "contourner" le probleme, mais le probleme existe toujours (un client caché derriere un routeur, i.e en low-id ne joue JAMAIS le role du serveur lors de l'etablissement d'une connexion entre 2 clients, et c'est pour ca que la connexion entre 2 low-id est impossible).
Je ne pense pas qu'il soit possible de resoudre ce probleme autrement qu'en configurant correctement le routeur.
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

Bonjour,
Je rejoins aardman. Pour héberger un serveur derrière un routeur, il faut nécessairement faire du NAT. Pour avoir un service qui tourne derrière un routeur il faut que ca soit ce service qui initie la connexion, se créer alors automatiquement des règles de routage. C'est ce qui se passe avec emule lors ce que le client a une low ID. Ce n’est plus alors le client qui reçoit des données mais le client qui demande des données.


<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />


Bon courage.
Messages postés
29
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
14 mars 2007

Salut

Oui, ca c'est le cas du Low-Id mais pour le High-Id ? Mon projet comporte un serveur et des clients. Si je doit faire du nat pour mon serveurs ok pas de probleme, je me demais juste si je pouvais l'eviter pour mes clients.Mes clients devrait pouvoir interagir entre eux sans surcharger le serveur avec de la redireccion.
Sur mon router y'a une page de config 'Special Application' ou je donne juste les port a ouvrir pour tel ou tel appli, indiferement de la machine ou il doit etre utilise apres (pas sur 2 macines en meme temps bien sur). Que dois-je faire pour que mon prog passe par cette voie (comme emule mais sur un autre port bien-sur ). A premiere vu juste ouvrir un socket et se mettre a l'ecoute ne suffit pas (ou j'ai loupe un episode).

Merci
Messages postés
203
Date d'inscription
lundi 2 août 2004
Statut
Membre
Dernière intervention
8 septembre 2006

Pour tes clients pas de port à router, si toutes les connexions passe par le serveurs. En revanche, tes clients ne pouront établire des connexions directes entre eux. Pour qu'ils le puissent ton applis doit etre à la foi client et serveur en soit pas de pb, mais pour que la partie serveur recoive des connexions au travère d'un routeur, le routeur devra être configuré correctement (routage du port).

Bon courage
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Dans le cas l'emule:

Un client en High-ID c'est un client dont le routeur est bien configuré, ou un client qui n'est tout simplement pas derriere un routeur (connexion modem direct). Ce client, peut recevoir des accepter des connexions de n'importe quels autres clients.

En Low-ID, le client n'est pas accessible depuis l'exterieur.
Lorsqu'un client A (High-ID) veut se connecter a un client B (Low-ID), le client A envois un message a son serveur (qui contient l'id du client B), le serveur se charge de transmettre l'ip du client A au client B, et c'est le client B qui initialise la connexion vers A.

Ca resoud "partiellement" le probleme, mais ca remplace pas une bonne configuration du routeur..
Messages postés
29
Date d'inscription
jeudi 16 décembre 2004
Statut
Membre
Dernière intervention
14 mars 2007

Ok,Ok

Dabord merci a tous pour vos reponses.

Pour en revenir au High-ID, comment emule arrive t'il a le faire sans que j'ai besoin de redirection, sur mon router y'a une seule redirection c pour mon serveur ftp, mais j'ai 2 emule en High-Id (avec des port distinct evidement).

bye