Qual é a diferença entre o endereço de host local 127.0.0.1 e 127.0.1.1

48

Estou apenas aprendendo a usar o Ubuntu e, quando tentei configurar o DNS, preciso lidar com algo chamado localhost, interface de loopback. Alguém pode me explicar as diferenças entre eles e o significado dos endereços 127.0.0.1 e 127.0.1.1, quando devo usar 127.0.0.1 e quando devo usar 127.0.1.1

Ock
fonte
1
^^^ eu estava escrevendo minha resposta e @jdv colocou na comentários ...
Madivad

Respostas:

36

À medida que sua máquina é iniciada, será necessário conhecer o mapeamento de alguns nomes de host para endereços IP antes que o DNS possa ser referenciado. Esse mapeamento é mantido no arquivo / etc / hosts. Na ausência de um servidor de nomes, qualquer programa de rede em seu sistema consulta esse arquivo para determinar o endereço IP que corresponde a um nome de host.

O dispositivo de loopback é uma interface de rede virtual especial que seu computador usa para se comunicar. É usado principalmente para diagnóstico e solução de problemas e para conectar-se a servidores em execução na máquina local.

o loopback é interface lo e ip 127.0.0.1 por padrão

127.0.0.1 localhost

O Debian que o ubuntu escolhe definir 127.0.1.1 para mapear o ip do seu host_name no caso de você não possuir rede

O host_name corresponde ao nome do host definido no "/ etc / hostname".

Para um sistema com um endereço IP permanente, esse endereço IP permanente deve ser usado aqui em vez de 127.0.1.1.

127.0.1.1 host_name

Pascal Fares
fonte
1
Eu entendo a filosofia, mas discordo da forma em / etc / hosts.
Anthony Rutledge
21

Realmente não significa nada em particular (é apenas outro IP no bloco 127.0.0.0/8).

O motivo pelo qual ele é usado como IP para o seu nome de host é explicado na Seção 10.4 do Manual de Referência Debian.

Citar:

Alguns softwares (por exemplo, GNOME) esperam que o nome do host do sistema seja resolvido para um endereço IP com um nome de domínio totalmente qualificado canônico. Isso é realmente inadequado, porque nomes de host e nomes de domínio do sistema são duas coisas muito diferentes; mas aí está. Para oferecer suporte a esse software, é necessário garantir que o nome do host do sistema possa ser resolvido. Na maioria das vezes, isso é feito colocando uma linha em / etc / hosts contendo algum endereço IP e o nome do host do sistema. Se o seu sistema tiver um endereço IP permanente, use-o; caso contrário, use o endereço 127.0.1.1.

Videonauth
fonte
1

A captura de tela a seguir conta uma história interessante.

Arquivo / etc / hosts padrão do Ubuntu e saída ifconfig

Efetivamente, mostra que esse 127.0.0.1é o verdadeiro endereço de loopback. Portanto, 127.0.1.1existe outras razões além da rede IP básica.

Como mencionado por @Videonauth, a 127.0.1.1linha existe como uma muleta, uma correção, para fazer com que o software exigente seja feliz.

A meu ver, a entrada de auto-retorno deve ser quase sempre /etc/hosts. Se você alterar o nome do host do padrão localhost, altere o nome do host na 127.0.1.1linha, não na 127.0.0.1linha.

Se você alterar o nome do host e fornecer um IP estático à máquina, altere os campos IP e nome do host na linha 127.0.1.1.

Em resumo, deixe o 127.0.0.1registro em paz.

Anthony Rutledge
fonte
Então, para resumir, se você aplicou um IP estático, digamos 192.168.1.1, a linha 127.0.1.1 deve ser substituída pelo 192.168.1.1 hostname . Isso está correto?
Chris
192.168.1.1 <hostname>Sim.
Anthony Rutledge
Obrigado, eu não tinha certeza, estou configurando algumas VMs e todos os arquivos do host tinham isso, entendi que era um loopback para alguns aplicativos, mas também o era 127.0.0.1, então não tinha certeza se tinha que ficar ou não .
Chris