web-dev-qa-db-fra.com

Accéder à l'IP interne en utilisant l'IP publique

J'ai un modem DSL avec une adresse IP publique (201.206.x.x) et un serveur Web sur mon réseau interne (192.168.0.50).

J'ai configuré le modem pour qu'il transfère les demandes au port 80 sur mon serveur Web. Ainsi, si j'accède à 201.206.x.x de l'extérieur de mon réseau, ma page Web s'affiche, de même si j'accède à 192.168.0.50 à partir d'un ordinateur de mon réseau.

Maintenant, le problème est que lorsque j'essaie d'accéder à 201.206.x.x à partir de mon réseau interne, le navigateur tente de se connecter à la configuration du modem DSL, au lieu de rediriger ma demande vers mon serveur Web.

Quels paramètres dois-je modifier dans le modem pour configurer cette redirection?

36
willvv

Le problème est que la réécriture des paquets ne peut généralement avoir lieu que lors de la traversée du pare-feu. En règle générale, les routeurs ne peuvent pas effectuer la réécriture nécessaire lorsque la demande provient du même réseau que la demande. La solution courante à ce problème consiste à placer un proxy Web en dehors du réseau qui boucle la demande en arrière via votre pare-feu.

Je suppose que votre problème spécifique est que vous souhaitez accéder au site Web via son nom d'hôte DNS. Vous pouvez gérer cela en utilisant un DNS "à horizon divisé", afin que le nom de la demande et sa réponse soient correctement pris en compte. réseau et l'adresse IP publique à tous les autres.

Chacune de ces suggestions peut être mise en œuvre sur tout hôte en dehors de votre réseau, comme une micro instance (gratuite) Amazon EC2.

19
Insyte

Je dirais que @Insyte est sur quelque chose quand il/elle parle du problème comme étant un problème de résolution DNS.

En supposant que vous ayez la configuration suivante:

  1. Adresse IP publique: 201.206.x.y
  2. IP privée: 192.168.0.50
  3. Transfert de port pour les 80 (et 443 si vous utilisez SSL) sur IP 201.206.x.y192.168.0.50

Vous saisissez ensuite les informations suivantes dans votre navigateur lorsque vous êtes sur votre réseau interne:

http://www.yourwebsite.com

et l'erreur se produit. Donc, solution: pirater votre fichier hosts.

Sous Windows, accédez à C:\windows\system32\drivers\etc\hosts (remarque, il n'y a pas d'extension sur ce fichier). Sous Linux, le fichier se trouve dans /etc/hosts.

Si vous ouvrez ce fichier dans le Bloc-notes, vous pouvez alors voir toutes les entrées utilisées pour remplacer le DNS. Si vous souhaitez mettre à jour ce fichier, vous devez ouvrir Notepad (ou le programme que vous utilisez pour modifier le fichier) avec les droits d'administrateur. Sinon, vous ne pourrez pas enregistrer le fichier.

Ajoutez ceci à votre fichier hosts:

192.168.0.50 www.yourwebsite.com

Puis redémarrez votre navigateur , entrez l'URL et violà! Ça marche. Cela signifie donc que votre navigateur ne s'appuie pas sur votre DNS pour résoudre votre domaine à l'adresse IP. Au lieu de cela, nous ignorons cela et disons: Navigateur, accédez simplement à mon adresse IP interne pour ce nom de domaine, au lieu de demander à DNS l'adresse IP .

Si vous êtes dans un bureau, vous pouvez demander à toutes les personnes qui ont besoin d'accéder à ce site Web interne, de pirater leur fichier hosts ou si vous avez un DNS interne, vous pouvez alors ajouter une entrée dans celui-ci.

Une autre idée est d’avoir un serveur proxy interne (pour toute navigation sur le Web, etc.) et de pirater ensuite le fichier hosts sur le serveur proxy. Cela signifie que votre navigateur indiquera un proxy, pouvez-vous me procurer la ressource http://www.mywebsite.com et le mandataire dit Bien sûr, et comme on m'a dit d'ignorer le DNS pour ce domaine, je vais simplement donner l'adresse IP qui a été codée en dur dans mon fichier hosts .

14
Pure.Krome

Il s'agit d'un problème courant lié à la manière dont certains routeurs gèrent le trafic destiné à leur adresse publique à partir d'une adresse interne: ils ne suivent pas les mêmes règles de transfert de port que les requêtes externes au réseau. Ce que vous devez rechercher dans vos routeurs est une réflexion NAT . Cela permettra au routeur de gérer les demandes internes pour que l’IP publique utilise les mêmes règles de transfert de port que si la demande provenait de l’extérieur du réseau.

8
MaQleod

Je pourrais vous aider mieux si vous pouviez me donner votre marque et modèle de modem ...

Mais ce qui se passe ici, c'est qu'une page de configuration de routeur ou de modem ne devrait normalement apparaître que lors de la visite de leur adresse IP interne (192.168.0.1)

Mais ce qui semble se produire ici, c’est qu’il identifie la demande entrante (201.206.x.x). Comme venant de l’intérieur, décide de vous donner la page de configuration au lieu de l’acheminement normal vers votre serveur Web ...

Maintenant, si vous utilisez un modem de niveau consommateur, vous ne pourrez probablement pas changer cela (désolé)

Mais peut-être pouvez-vous: essayer de voir s'il y a des paramètres d'écoute dans votre page de configuration d'administrateur

Là vous pouvez essayer soit de changer votre page d’administration sur un autre port, soit de limiter les adresses qu’il écoute.

2
HTDutchy

Peut-être que le problème est que l'administration à distance est autorisée.

2
Plamen

Vous pouvez ajouter une route pour accéder directement à l'adresse IP publique du serveur via son adresse IP locale. Sous Windows, la commande ressemble à

route add [public IP] mask 255.255.255.255 [the server's local IP]

Pour ajouter une route persistante, ajoutez le paramètre -p à la commande ci-dessus.

Ensuite, chaque fois que vous visitez l'adresse IP publique, l'ordinateur passe par l'adresse IP locale du serveur en tant que passerelle. Étant donné que le serveur connaît sa propre adresse IP publique, il traite le package lui-même au lieu de le transférer sur le réseau local.

Vous devez vous assurer que l'adresse IP locale du serveur est statique.

2
qevan

Sur mon routeur, je devais désactiver "l'accélération NAT" (transmission directe), car ceci cassait la boucle NAT ...

Avoir ce même problème. J'ai pu résoudre ce problème en ajoutant le nom d'hôte DNS à la liste de mappage d'hôte DNS de mon routeur. J'ai trouvé ces paramètres dans la liste des options avancées de mon routeur.

0
Gibado