L'hôte localhost est-il toujours disponible pour le propre système?
Question
Est-il toujours possible d'envoyer une requête ping à l'hôte local et cela résout 127.0.0.1?
Je sais que Windows Vista, XP, Ubuntu et Debian le font, mais est-ce que tout le monde le fait?
La solution
Toute implémentation correcte de TCP / IP réservera l'adresse 127.0.0.1 pour faire référence à la machine locale. Cependant, le mappage du nom "localhost" Cette adresse dépend généralement du fichier système hosts
. Si vous supprimez l'entrée localhost de hôtes
, le nom de l'hôte local peut ne plus être résolu correctement du tout.
Autres conseils
127.0.0.1 est réservé dans toute pile IP pour l'hôte local.
" localhost " Un nom d’hôte n’est pas garanti. Si les paramètres hôte / DNS sont mal configurés, localhost ne sera pas résolu.
Exemple sur une boîte de dialogue debian:
topaz:/root# vi /etc/hosts
[comment out localhost entry]
topaz:/root# ping localhost
ping: unknown host localhost
Non.
Pour commencer, localhost
est une convention plutôt qu'une règle. Généralement, il est défini par défaut, mais rien ne l'exige.
Deuxièmement, rien ne dit que vous pouvez toujours envoyer une requête ping à 127.0.0.1. Par exemple (sur un système Unix), essayez ce qui suit:
sudo ifconfig lo down
ping 127.0.0.1
As cruizer , a déclaré , 127.0.0.1 (s’il existe) est défini comme étant la machine locale. Mais cela ne doit pas nécessairement exister.
La réponse pédante (pardon, Greg :), est de lire RFC 3330 . :
127.0.0.0/8 - This block is assigned for use as the Internet host
loopback address. A datagram sent by a higher level protocol to an
address anywhere within this block should loop back inside the host.
This is ordinarily implemented using only 127.0.0.1/32 for loopback,
but no addresses within this block should ever appear on any network
anywhere [RFC1700, page 5].
(Le "ordinairement" ci-dessus doit probablement être lu comme "souvent" - la plupart des systèmes d'exploitation actuels prennent en charge l'utilisation de 127.0.0.0/8 en boucle.)
En ce qui concerne le "localhost" résout toujours à 127.0.0.1 - il a raison, c'est en général le même, mais techniquement, il est spécifique à la mise en œuvre:
~> dig localhost.t...e.org
...
;; ANSWER SECTION:
localhost.t...e.org. 86400 IN A 127.0.0.2
Si les serveurs DNS auxquels votre client est connecté suit rfc1912, alors oui, localhost doit être résolu en 127.0.0.1.
RFC1912
4.1
...
Certain zones should **always be present** in nameserver configurations:
primary localhost localhost
primary 0.0.127.in-addr.arpa 127.0
...
The "localhost" address is a "special" address which always refers to
the local host. It should contain the following line:
localhost. IN A 127.0.0.1
The "127.0" file should contain the line:
1 PTR localhost.
Je pense que localhost résoud à 127.0.0.1 pour la plupart des plateformes, mais toutes les adresses IP commençant par 127. . . * sont également résolus en localhost. Essayez de faire un ping sur 127.255.255.254 et il répondra toujours.
En théorie, il peut arriver que cela n’existe pas. En pratique, c'est toujours là.
De bons pare-feu vous permettent de filtrer l'accès aux interfaces de bouclage. Il est donc possible de configurer une règle de pare-feu qui supprime les paquets ping icmp destinés à localhost (127.0.0.1). De plus, comme tout le monde l’a déjà mentionné, même l’existence de l’adresse localhost ou 127.0.0.1 et de l’interface de bouclage n’est pas garantie.
La réponse est:
127.0.0.1, souvent appelé "boucle de rappel", est requis. Bien que votre ordinateur puisse vous permettre de faire des choses stupides, telles que le désactiver ou configurer cette plage sur une interface physique, celles-ci ne sont pas valides.
" localhost " est simplement un nom d’hôte qui, par convention, devrait être 127.0.0.1 En tant qu’administrateur système ou maître d’hôte, vous devez éviter les configurations permettant à localhost de pointer vers d’autres adresses.
Vous ne devez pas modifier votre fichier hosts pour modifier l'adresse de "localhost". Vous devez configurer vos domaines pour avoir un hôte local. et l'entrée localhost.domain.com qui pointe vers 127.0.0.1.
Vous ne devez pas laisser vos serveurs proxy répondre à " localhost " ou tout nom de domaine complet commençant par localhost.
Ok.
La raison pour laquelle il est résolu est un enregistrement dans le fichier% WINDOWS_DIR% \ System32 \ drivers \ etc \ hosts, comme suit:
127.0.0.1 localhost