Je souhaite me connecter à un système situé derrière un routeur. Je connais l'adresse publique du routeur ainsi que l'adresse IP privée (fixe toujours) du système. Comment puis-je établir une connexion socket avec l'ip privé?connexion à un ip privé
Répondre
C'est pourquoi certaines personnes disent qu'elles sont derrière un «pare-feu» lorsqu'elles sont derrière un routeur. Les virus malveillants d'Internet ne peuvent exploiter aucun logiciel sur un ordinateur derrière un routeur (à condition que l'administrateur du routeur ne l'ait pas configuré de manière amusante, par exemple en activant DMZ).
Vous avez encore quelques options:
- Parlez-en à l'administrateur du routeur et lui faire transmettre un port pour vous
- Prenez le routeur sur et mettez votre ordinateur « cible » où votre routeur a été, ou d'activer DMZ (cela n'a de sens que s'il y avait un seul ordinateur derrière le routeur). Warrning: installez d'abord un pare-feu sur l'ordinateur cible!
- Tournez la prise de 180 degrés. Assurez-vous l'ordinateur derrière un routeur établir la connexion au serveur qui a une adresse IP publique
- Utilisez quelque chose comme UPnP, si votre routeur supporte
- Obtenir une adresse IP dédiée pour votre ordinateur et configurer le routeur pour passer tout le trafic vers cette adresse IP à votre ordinateur (ceci est similaire à DMZ, mais cela fonctionnerait si vous avez plus d'un ordinateur derrière le routeur). Warrning: installez d'abord un pare-feu sur l'ordinateur cible!
- Utiliser la traversée NAT. Il y a un très bon article sur le sujet here. La version simplifiée est que le client établit une connexion à un serveur distant. Le serveur peut voir le numéro de port ouvert sur le routeur du client et ce port est assigné à la machine du client, donc il (ou un autre ordinateur partageant cette information) peut établir la connexion à ce port et atteindre l'application du client. Warrning: cela ne fonctionne pas avec tous les routeurs. Certains routeurs ne le laisseront pas faire.
Juste une note. "NAT-piercing" comme mentionné ci-dessus est généralement appelé traversée NAT :) http://en.wikipedia.org/wiki/NAT_traversal –
Il s'agit plus d'une question de configuration du routeur par opposition à votre programme actuel. Si le routeur n'est pas configuré pour transférer le trafic vers le système privé, il est impossible de le forcer à vous connecter. Le système privé doit plutôt ouvrir la connexion lui-même.
Le plus simple est probablement de forward the port à partir du système que vous souhaitez vous connecter via le routeur.
Strictement parlant, la réponse à votre question est "vous ne pouvez pas". Vous pouvez toutefois activer DNAT (traduction d'adresses réseau de destination) sur votre routeur. Vous vous connectez à un certain port sur le routeur, et il transmet la connexion à l'ip interne. L'adresse IP interne (et le port) sont configurés dans les paramètres du routeur et ne sont pas connus par le client qui se connecte.
- 1. Connexion à une file d'attente MSMQ à distance privé
- 2. Aucune autorisation d'accès à un MSMQ privé
- 3. TCP/IP n'a pas réussi à établir une connexion sortante
- 4. Gestion des utilisateurs dans un TRAC privé
- 5. Comment tester une connexion à un serveur avec C# en fonction de l'adresse IP du serveur?
- 6. Détermination de l'adresse IP et du port d'une connexion TCP/IP entrante dans Erlang
- 7. Comment hiberner peut-il accéder à un champ privé?
- 8. Suppression d'un objet avec un destructeur privé
- 9. ensemble privé de cartographie à l'aide NHibernate
- 10. Envoyer un message privé de discussion
- 11. Trouver un champ privé avec Reflection?
- 12. Débogage d'objets d'accès privé
- 13. iPhone: connexion à un fichier
- 14. protégé/privé - pourquoi s'embêter?
- 15. svn privé gratuit quelqu'un?
- 16. Comment puis-je forcer la connexion à une adresse IP spécifique
- 17. SQL Server ADO.NET sur une connexion TCP/IP à faible bande passante des conseils/expériences?
- 18. Comment instancier un objet avec un constructeur privé en C#?
- 19. Remote Desktop Nom d'utilisateur @ IP ou IP @ Nom d'utilisateur Aléatoire
- 20. En java, comment faire une classe avec un constructeur privé dont la superclasse a aussi un constructeur privé?
- 21. Libérer un port TCP/IP?
- 22. Comment recevoir un message à partir d'une file d'attente de groupe de travail privé
- 23. Méthode d'objet privé PL/SQL
- 24. Comment déterminer si une adresse IP appartient à un pays
- 25. Envoyer un e-mail à propos des modifications IP
- 26. Connexion à un serveur Web avec Android
- 27. Comment rendre mes contrôles à l'intérieur d'un UserControl privé?
- 28. Adresses IP JBoss Binding
- 29. Comment mapper un ensemble privé de propriétés auto avec NHibernate?
- 30. Modèle de données pour un système de messagerie privé
C'est ce qu'on appelle "privé" pour une raison ... – skaffman