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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top