web-dev-qa-db-fra.com

Pourquoi ne puis-je pas accéder à mon serveur Web de l'extérieur du réseau?

J'ai configuré un serveur HTTP Apache sur mon MacBook, pour que je puisse donc avoir accès à la fonctionnalité complète de PHP tandis que j'apprends la langue. Je n'ai pas de nom de domaine ou de réseau cohérent Accès, donc l'idée d'héberger un site Web réel sur ce serveur n'est pas réalisable; je fais juste cela à des fins d'apprentissage.

Quoi qu'il en soit, je me demandais quelque chose. J'ai remarqué que lorsque j'insère mon adresse IP privée dans un navigateur Web (pas l'adresse de bouclage, mais l'adresse attribuée par DHCP), je peux accéder aux pages Web hébergées par mon serveur, que je pense signifie que je peux y accéder de l'extérieur de mon ordinateur. . Cependant, lorsque j'entre mon adresse IP publique, je reçois un délai d'attente de réseau, ce que je devinerais signifie que je ne peux pas accéder à mon serveur Web de l'extérieur du réseau local (sauf si la connexion n'est pas vraiment lente).

Je me demande pourquoi c'est. Existe-t-il une couche de sécurité configurée qui empêche les personnes d'accéder aux ordinateurs à l'intérieur d'un réseau local de l'extérieur?

6
user628544

Il peut y avoir trois sauts de blocage dans la ligne, à partir de votre ordinateur:

  • votre OS peut avoir un pare-feu configuré et bloquer des demandes entrantes. Vous pouvez vérifier cela à l'aide d'une machine différente sur le même sous-réseau/différent sous-réseau, mais toujours derrière votre routeur de maison. Je ne connais pas avec Mac OS, je ne peux donc pas vous dire, comment configurer le pare-feu.

  • Votre routeur à la maison (ou la plupart des routeurs WiFi) que vous connectez à des utilisations NAT Pour "masquer" le sous-réseau derrière lui et permettre à vos multiples périphériques communiquer sur le seul Adresse IP globale que vous obtenez de l'ISP. Si vous faites une demande à un serveur distant à partir de LAN, à partir de n'importe quel périphérique, la télécommande verra la demande provenant de votre routeur. Si vous faites une demande de l'extérieur à votre adresse IP publique, vous adressiez réellement votre routeur. Si vous souhaitez que toutes les demandes HTTP adressées à votre routeur soient servies Par votre ordinateur portable derrière elle, vous devez ajouter un port règle dans le menu de votre routeur à l'adresse IP et le port 80 de l'ordinateur portable (port http standard). , ou port 443 pour HTTPS.

  • De nos jours, il est de plus en plus courant que les fournisseurs de services Internet ne vous donnent même pas une adresse IP publique (globalement routable). L'ISP utilise également NAT (pour enregistrer les adresses IPv4 globales), l'adresse IP extérieure de votre routeur provient du sous-réseau privé de votre fournisseur privé d'ISP. Cela nécessiterait d'enregistrer une règle de transfert de port dans le routeur du FSP , qu'ils ne feront pas pour vous. Vous ne pouvez pas accéder à votre ordinateur portable sur Internet dans ce cas.

7
Gábor Móczik

La raison pour laquelle cela se produit est dû à NAT Traductions.

Lorsque vous vous connectez à Internet, votre ISP vous donne une adresse IP publique afin que vous puissiez communiquer avec Internet.

Lorsque quelqu'un sur Internet veut accéder à votre serveur Web, et ils entrent dans l'adresse IP publique, le routeur doit alors savoir où dans le réseau, la demande se déroule. Ceci s'appelle NAT Traductions. Cela se fait en configurant une cartographie de port.

Les sites Web utilisent le trafic HTTP, qui par défaut au port 80 80, vous devez donc créer une règle dans le routeur pour indiquer que le port 80 doit être envoyé à l'adresse IP interne. Une fois que cela est fait, et que quelqu'un de l'extérieur entre dans votre adresse IP publique dans son navigateur, votre routeur sait maintenant qu'il doit transmettre la demande à votre MacBook.

Maintenant, il y a un ajout à la question. Si vous configurez le transfert de port, la plupart des routeurs ne comprendront pas que votre adresse IP publique est celle de votre propre, vous ne pouvez donc pas toujours accéder à votre site Web à partir de votre propre adresse IP publique.

Votre MacBook envoie la demande au routeur, qui l'envoie au fournisseur de services Internet, l'ISP l'envoie et le routeur ne s'y attend pas, il ignore donc la demande, ce qui permet de se connecter à lui-même.

4
LPChip