Clinet - Serveur [Résolu]

Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
- - Dernière réponse : DeAtHCrAsH
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
- 8 nov. 2010 à 22:30
Bonjour à tous,

Je suis en train de faire un petit serveur qui serait installé sur les deux machines de mon réseau. Cela me permettrait d'avoir accés à certains fichiers par le bias de quelques commandes (interpretables par mon serveur uniquement) depuis un réseau extérieur (lorsque je suis en déplacement par exemple).

Avant de continuer, je me demande comment est-ce que je peux accéder à une machine particulière en connaissant l'addresse ip de mon résaaeu et le nom de la machine.

D'après mes recherches sur la toile, ce n'est pas possible. Cependant j'aimerais avoir votre avis.

Merci à tous !
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
3
Merci
Salut,

C'est tout à fait possible en prenant en compte les considérations suivantes.

Chez toi tu disposes de deux PC A et B et d'un routeur R.
Les IPs de A et B sont des IPs privées donc inaccesible depuis l'externe.
Cependant ton routeur possède une IP publique et grace à la translation d'adresse il est capable de retrouver une machine sur ton reseau privé a partir de ton IP publique (cf. rfc sur le NAT).

Ce que tu dois faire :
- Tu crées ton serveur et tu l'installe sur tes deux PCs. Nous supposons que ton serveur écoute les connexion entrantes sur le port 9090.
- Dans la configuration de ton routeur tu indique les choses suivantes :
* Si la connexion entrante arrive sur le port 7071 alors tu rediriges la connexion vers le PC A sur le port 9090.
* Si la conenxion entrante arrive sur le port 7072 alors tu rediriges la connexion vers le PC B sur le port 9090.

Depuis l'externe, tu aura juste a spécifier au client l'adresse IP publique et le port 7071 ou 7072 selon le PC sur le quel tu souhaites établir la connexion.

Si tu nous dis quel est la marque et le modèle de ton routeur on pourra t'aider plus en détails.

Si tu souhaites tester la configurations NAT de ton routeur tu peux regarder dans mes sources tu y trouveras une application client/serveur prete a l'emploi.

Bon courage.

Shell

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DeAtHCrAsH
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
3
Merci
Salut,

Seuls les applications clientes ne nécéssite pas de modification dans le routeur.
Dans le cas d'un serveur tu es toujuors obligé de mettre à jour les tables de routages dans ton routeur.

Autrement certains routeur supporte le plug and play, ce qui permet à ton application de les autoconfigurer.

Dans ton cas tu n'as pas d'autres choix que de jouer avec la configuration de ta livebox.

Cela n'est pas compliqué dès l'instant ou tu as compris le principe.

Autre chose, pense bien a autorisé les connections externes dans ton firewall!

Shell

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DeAtHCrAsH
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
3
Merci
Salut,

Si X est le nom de ta machine alors tu ne pourra te connecter à ton serveur seulement depuis ton réseaux local.
Pour une connection a distance, et si ton IP est dynamique, la solution est de passer par un nom de domaine.

Certains routeurs offrent la possibilité de mettre a jour les liens entre un noms de domaine et une adresse IP.

Tu peux te procurer un nom de domaine gratuit sur dyndns.org par exemple.

Pour la mise a jour soit tu utilises ton routeur soit tu installes un petit programme sur ton PC qui s'en chargera.

Autrement pour ce qui est du serveur qui se connecte au client, ce n'est conceptuellemt pas bon car par definition un serveur ne fait que recevoir des connexions de la part des clients.

Shell

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DeAtHCrAsH
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
3
Merci
A ta place, je garderai plutot la logique du coté serveur. Comme son nom l'indique, le client... n'est qu'un client :)

Autrement pour ce qui est de DynDNS voila ce qu'il faut que tu fasses:
- Tu te crées un compte sur DynDNS
- Tu te crées un nom de domaine gratuit (ou payant si tu ne veux pas utiliser les extension proposées par la version gratuite)
- Tu telecharges et installe sur un de tes pc serveur l'application cliente : http://www.dyndns.com/support/clients/

En gros l'application cliente s'occupera de mettre a jour ton IP sur le site de DynDNS, pour que ton nom de domaine soit toujours valide.

Pas besoin de te préoccuper de toutes les histoires de "serveur personnalisés".

Shell

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DeAtHCrAsH
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Salut,

Merci d'avoir répondu aussi rapidement. Mon routeur est une livebox.

D'après ce que tu me dis, il faut que je modifie les paramétres de mon routeur.. lorsque j'ai plus de 1 pc, afin d'orienter les connections, c'est ca ?

Je suppose que ce n'est pas possible à partir de C, et qu'il faut se logger sur la page de configuration du routeur (192.168.1.1) .. ?

Cela m'amène à me poser une nouvelle question. Les logiciels de chat pouvant être considérés comme client et serveur à la fois, comment se fait-il qu'il est possible de lancer plusieurs instances d'un même logiciel sur un même réseau (mais sur des machines différentes) sans modifier la configuration du routeur ?

Pour le moment le programme ne fontionne que lorsque je suis en interne. Je peux me connecter sur le PC que je veux en donnant son nom d'hote ou son adresse IP. Dés lors que je sors de mon propre réseau ca coïnce, il est impossible d'établir une connection. Et ce qu'il y ai un ou deux serveur.

J'ai utilisé la bibliothèque <winsock2.h> pour pouvoir créer et gérer les connections par socket.

Merci.
Commenter la réponse de didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Salut,

Je te remerci, je pense avoir cerné le concept.

Je ne peux pas me connecter à un de mes serveur tant que le routeur n'est pas configuré. Les applications clientes ne nécessites pas un reparamétrage du routeur.

Cela implique qu'au lieu de créer un serveur auquel je vien me connecter, je peux installer un client qui va automatiquement se connecter à un serveur donné.. ?

Ce n'est pas mon objectif mais, pour ma culture générale, est-il possible d'installé sur mon PC un serveur qui s'appelerai "X", et qui serait accessible en faisait une résolution de son nom .. ? Sachant que, pour le cas de l'application que je suis en train de développer, le serveur peux changer d'adresse IP. Un nom de domaine est associé à une adresse IP unique. Du coup j'ai un idée de la réponse : non. Mais j'aimerai avoir l'avis d'une personne maitrisant les réseaux mieux que moi.. Y a t-il un moyen de mettre cette solution en oeuvre ?

Merci !
Commenter la réponse de didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Salut,

Quand j'ai écri que ca pouvait être le serveur qui se connect au client je pensais à : plutôt que ce soit un serveur qui soit installé sur mes machines, ca peut être un client, donc qui initie la connection, et qui traite les demandes comme le serveur l'aurait fait.. du coup il n'y aurait plus eu de problème de configuration du routeur ! (:

Je viens de jetter un oeil sur dyndns.org ca à l'air d'être exactement l'objet de ma question ! Par curiosité, j'ai donc décidé de commencer la création d'un nom domaine (pour savoir quelles sont les informations nécessaires).

Arrêtes moi si je me trompe, mais j'ai l'impression qu'on ne peut pas avoir de serveur "personnalisé"; c'est-à-dire qu'il faut choisir les services, et les "devices" (périphériques ?), qui seront utilisés avec le nom d'hote. Qu'est ce que cela signifie ?

Merci !
Commenter la réponse de didoux95
Messages postés
845
Date d'inscription
mardi 25 avril 2006
Statut
Membre
Dernière intervention
1 août 2017
1
0
Merci
Salut,

J'ai créé un nom de domaine dynamique, mais je viens de réaliser qu'il faudra quand même configurer le routeur du réseau auquel je serai connecté. Tant pis ..

J'ai prévu de conserver la première approche qui, au final, sera plus simple à mettre en oeuvre (configuration d'un seul routeur).

Merci pour toutes les réponses que tu m'as apporté.
A bientôt !
Commenter la réponse de didoux95
Messages postés
2674
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
0
Merci
Salut,

Cela reste la meilleure solution selon moi et surtout la plus fexible dans le temps.
Ca te permettra par la même occasion d'élargir tes connaissances et ta compréhension de la réseautique.

Bon courage et bon apprentissage :)

Shell
Commenter la réponse de DeAtHCrAsH