Quelle est la différence entre l'adresse IP d'une machine et l'hôte local


12

Le doute a surgi de ma autre question Où si je donne localhost à mon chemin, cela fonctionne. Mais cela ne fonctionne pas si je donne l'IP de mon système.

127.0.0.1 est mappé sur localhost dans mon / etc / hosts. Dois-je mapper mon adresse IP sur localhost? Ça ne change pas?

N'est-ce pas la même chose?

Réponses:


14

Certains services sont configurés pour écouter uniquement sur l'adresse IP de l'hôte local.

Un exemple serait une base de données MySQL - vous voulez que votre application PHP fonctionnant sur le même serveur s'y connecte, mais vous ne voulez pas que des services externes ou même des pirates de l'extérieur se connectent. En configurant MySQL pour n'accepter que les adresses des hôtes locaux ( 127.0.0.1par exemple) et non la véritable adresse IP de votre serveur ( 10.x.x.xpar exemple), vous réduisez les risques d'être compromis.

Donc, pour répondre à votre question - oui, ils sont différents.

localhostreçoit une adresse IP dans le 127.0.0.0réseau et est attribuée à un périphérique réseau de bouclage virtuel lo. Cet appareil est présent sur tous les systèmes, qu'ils disposent d'un périphérique réseau physique (WiFi ou Ethernet, par exemple). Un système qui n'est connecté à aucun réseau aura ce périphérique de bouclage et donc une 127.0.0.0adresse. Le nom localhostest simplement un nom qui se résout en cette adresse IP et est configuré dans /etc/hosts.

Votre véritable adresse IP (10.xxx par exemple) est attribuée à un périphérique réseau. Il s'agit généralement d'un périphérique réseau physique (WiFi ou Ethernet) bien que les configurations avancées utilisant tunou les tappériphériques puissent également les utiliser. Encore une fois, la résolution de nom (par exemple www.example.orgpour 10.0.1.1) peut être configurée dans /etc/hostsou peut être configurée pour utiliser DNS.


4

127.0.0.1 est localhost , c'est l'adresse de la machine actuelle, accessible via une interface de bouclage (pas via la carte réseau - cela fonctionne même s'il n'y a pas de puces réseau dans le système).

L'IP que vous obtenez du routeur est une autre histoire: c'est l'adresse qui permet à un autre ordinateur du réseau de vous trouver. Eh bien, vous pouvez également utiliser cette adresse IP sur la même machine, mais cela fonctionne différemment comme auparavant: il sort vers le routeur et à nouveau (je simplifie ici, mais c'est l'idée générale).

Et si vous êtes connecté à Internet, vous obtenez également une autre adresse IP de votre FAI - l'adresse IP par laquelle un autre ordinateur du monde entier vous trouve. Cependant, ces deux se réfèrent au moins à la même carte réseau ( eth0ou à la carte sans fil ou autre). localhostest différent.

Le système d'exploitation, les serveurs, etc. peuvent se comporter différemment lorsqu'ils sont accessibles à partir de localhost. Vous n'avez généralement pas de pare-feu pour cela, et de nombreux services locaux ont une localhostinterface destinée simplement à communiquer avec une application. Plusieurs fois, vous voudrez tester votre serveur Web en le branchant d'abord pour écouter localhostuniquement, afin que vous puissiez vérifier si cela fonctionne, mais d'autres personnes ne le peuvent pas. Ensuite, vous pouvez reconfigurer pour écouter sur votre adresse IP externe et commencer à servir le site Web (et tester à nouveau si tout fonctionne toujours).


Merci pour la longue explication. Un autre doute a été soulevé: si je dis mon service à localhost, il ne passera pas au routeur. Mais si je spécifie ip, il sera redirigé par le routeur. Je dois donc avoir une connexion Internet dans mon deuxième cas. Pas avec l'hôte local. Veuillez me le faire savoir
Gibbs

Vous avez besoin d'une connexion au routeur, sinon vous obtiendrez network is unreachableou quelque chose de similaire. L'astuce est que (au moins avec DHCP) c'est le routeur qui vous donne une IP LAN en premier lieu. Il est possible que cela varie dans certains cas si la route persiste, mais essentiellement, pour l'IP LAN, vous avez besoin du LAN et pour l'IP externe, vous avez besoin d'une connexion à ISP.
orion

3

Lorsque vous y accédez localhost, votre /etc/hostsfichier indique à votre ordinateur de ne plus chercher et vous redirige vers votre propre ordinateur. Lorsque vous accédez à l'adresse IP locale, votre ordinateur demande au routeur de récupérer les données et votre routeur pointe ensuite vers votre ordinateur.


3
@serenesat - Non. Lorsque vous accédez à votre «vraie» adresse IP, vous n'irez pas aussi loin que le routeur - vous ne quitterez même pas cette machine. Essayer de cingler votre adresse IP locale et de regarder les temps d'aller-retour ...
garethTheRed

Cette réponse est tout à fait fausse.
Rui F Ribeiro du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.