¿El host localhost está siempre disponible para el propio sistema?
Pregunta
¿Siempre es posible hacer ping al localhost y se resuelve en 127.0.0.1?
Sé que Windows Vista, XP, Ubuntu y Debian lo hacen pero ¿lo hacen todos?
Solución
Cualquier implementación correcta de TCP/IP reservará la dirección 127.0.0.1 para hacer referencia a la máquina local.Sin embargo, la asignación del nombre "localhost" a esa dirección generalmente depende del sistema. hosts
archivo.Si eliminara la entrada localhost de hosts
, entonces es posible que el nombre del host local ya no se resuelva correctamente.
Otros consejos
127.0.0.1 está reservado en cualquier pila de IP para el host local.
"localhost" como nombre de host es no garantizado que estará allí.Si la configuración del host/DNS está mal configurada, localhost no se resolverá.
Ejemplo en una caja de Debian:
topaz:/root# vi /etc/hosts
[comment out localhost entry]
topaz:/root# ping localhost
ping: unknown host localhost
No.Para comenzar localhost
Es una convención más que una regla.En general, está configurado de forma predeterminada, pero no hay nada que lo exija.
En segundo lugar, no hay nada que decir de que siempre puedes hacer ping a 127.0.0.1.Como ejemplo (en un sistema Unix), intente lo siguiente:
sudo ifconfig lo down
ping 127.0.0.1
Como crucero Dicho esto, 127.0.0.1 (si existe) se define como la máquina local.Pero no tiene por qué existir.
La respuesta pedante (lo siento, Greg :), es leer 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].
(Lo "normalmente" anterior probablemente debería leerse como "a menudo"; la mayoría de los sistemas operativos actuales admiten el uso de 127.0.0.0/8 como bucle invertido).
Con respecto a si "localhost" siempre se resuelve en 127.0.0.1, tiene razón, generalmente es lo mismo, pero técnicamente es específico de la implementación:
~> dig localhost.t...e.org
...
;; ANSWER SECTION:
localhost.t...e.org. 86400 IN A 127.0.0.2
Si los servidores DNS a los que está conectado su cliente siguen rfc1912, entonces sí, localhost debería resolverse 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.
Creo que localhost prácticamente se resuelve en 127.0.0.1 para la mayoría de las plataformas, pero para todas las IP que comienzan con 127...* resolver también en localhost.Intente hacer ping al 127.255.255.254 y seguirá respondiendo.
En teoría, hay casos en los que podría no existir.En la práctica, siempre está ahí.
Los firewalls decentes también le permiten filtrar el acceso en las interfaces loopback.Por lo tanto, es posible configurar una regla de firewall que elimine los paquetes de ping icmp que van al host local (127.0.0.1).Además, como todos ya han mencionado, ni siquiera se garantiza la existencia de la dirección localhost o 127.0.0.1 y la interfaz loopback.
La respuesta es:
Se requiere 127.0.0.1, a menudo denominado "bucle invertido".Aunque su computadora puede permitirle hacer cosas tontas, como deshabilitarla o configurar ese rango en una interfaz física, todas ellas no son válidas.
"localhost" es sólo un nombre de host que, por convención, debería ser 127.0.0.1. Como administrador del sistema o maestro de host, debe evitar configuraciones que permitan que localhost apunte a otras direcciones.
No debe editar su archivo de hosts para cambiar la dirección de "localhost".Debes configurar tus dominios para que tengan un host local.y la entrada localhost.domain.com que apunta a 127.0.0.1.
No debe permitir que sus servidores proxy respondan a "localhost" ni a ningún FQDN que comience con localhost.
De acuerdo.
La razón por la que lo resuelve es un registro en el archivo %WINDOWS_DIR%\System32\drivers\etc\hosts como este:
127.0.0.1 servidor local