O host anfitrião está sempre disponível para o próprio sistema?
Pergunta
É sempre possível ping host e resolve 127.0.0.1?
Eu sei que o Windows Vista, XP, Ubuntu e Debian fazem isso, mas todo mundo faz isso?
Solução
Qualquer implementação correta do TCP/IP reservará o endereço 127.0.0.1 para consultar a máquina local. No entanto, o mapeamento do nome "localhost" para esse endereço geralmente depende do sistema hosts
Arquivo. Se você removesse a entrada de localhost de hosts
, então o nome do host local pode não ser mais resolvido corretamente.
Outras dicas
127.0.0.1 é reservado em qualquer pilha IP para o host local.
"localhost" como nome de host é não garantido estar lá. Se as configurações do host/DNS forem incorretas, o localhost não resolverá.
Exemplo em uma caixa Debian:
topaz:/root# vi /etc/hosts
[comment out localhost entry]
topaz:/root# ping localhost
ping: unknown host localhost
Não. Para começar localhost
é uma convenção e não uma regra. Principalmente é definido por padrão, mas não há nada para exigir.
Em segundo lugar, não há nada a dizer que você sempre possa ping 127.0.0.1. Como exemplo (em um sistema UNIX), tente o seguinte:
sudo ifconfig lo down
ping 127.0.0.1
Como cruzador Disse, 127.0.0.1 (se existir) é definido como a máquina local. Mas não precisa existir.
A resposta pedante (desculpe, Greg :), é ler 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].
(O "normalmente" acima provavelmente deve ser lido como "frequentemente" - o suporte a sistemas operacionais mais atuais usando todos os 127.0.0.0/8 como loopback.)
Com relação se "localhost" sempre resolve 127.0.0.1 - ele está correto, geralmente é o mesmo, mas tecnicamente específico da implementação:
~> dig localhost.t...e.org
...
;; ANSWER SECTION:
localhost.t...e.org. 86400 IN A 127.0.0.2
Se os servidores DNS ao qual seu cliente estiver conectado estiver seguindo o RFC1912, então sim, o localhost deve resolver para 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.
Eu acho que o localhost resolve praticamente para 127.0.0.1 para a maioria das plataformas, mas todos os IPs que começam com 127...* Resolva também para localhost. Experimente pinging 127.255.255.254 e ainda responderá.
Em teoria, há casos em que pode não existir. Na prática, está sempre lá.
Os firewalls decentes permitem filtrar o acesso nas interfaces de loopback também. Portanto, é possível configurar uma regra de firewall que solte pacotes de ping ICMP indo para localhost (127.0.0.1). Além disso, como todos os outros já mencionaram, mesmo a existência do endereço do host localizador ou 127.0.0.1 e a interface de loopback não é garantida.
A resposta é:
127.0.0.1, geralmente chamado de "loopback", é necessário. Embora seu computador possa permitir que você faça coisas tolas, como desativá -lo ou configurar esse intervalo em uma interface física, tudo isso é inválido.
"Localhost" é apenas um nome de host, que por convenção deve ser 127.0.0.1 Como administrador do sistema ou mestre -hospedeiro, você deve evitar configurações que permitam que o localhost aponte para outros endereços.
Você não deve editar seu arquivo hosts para alterar o endereço de "localhost". Você deve configurar seus domínios para ter uma localhost. e localhost.domain.com Entrada que aponta para 127.0.0.1.
Você não deve permitir que seus servidores proxy respondam a "localhost" ou a qualquer FQDN que comece com localhost.
OK.
A razão pela qual resolve o registro %Windows_dir % system32 drivers etc hosts arquivo como este:
127.0.0.1 Localhost