Qual è la differenza tra l'indirizzo localhost 127.0.0.1 e 127.0.1.1


48

Sto solo imparando a usare Ubuntu e quando ho provato a configurare il DNS, ho bisogno di occuparmi di qualcosa che chiama localhost, interfaccia di loopback. Qualcuno può spiegarmi le differenze tra loro e il significato degli indirizzi 127.0.0.1 e 127.0.1.1, quando dovrei usare 127.0.0.1 e quando dovrei usare 127.0.1.1



1
^^^ Stavo scrivendo la mia risposta e @jdv l'ha inserita nei commenti ...
Madivad,

Risposte:


36

All'avvio della macchina, sarà necessario conoscere la mappatura di alcuni nomi host su indirizzi IP prima di poter fare riferimento al DNS. Questa mappatura viene mantenuta nel file / etc / hosts. In assenza di un server dei nomi, qualsiasi programma di rete sul proprio sistema consulta questo file per determinare l'indirizzo IP che corrisponde a un nome host.

Il dispositivo di loopback è un'interfaccia di rete virtuale speciale che il computer utilizza per comunicare con se stesso. Viene utilizzato principalmente per la diagnostica e la risoluzione dei problemi e per connettersi ai server in esecuzione sul computer locale.

il loopback è l'interfaccia lo e ip 127.0.0.1 per impostazione predefinita

127.0.0.1 localhost

Debian di Ubuntu sceglie di definire 127.0.1.1 per mappare l'ip del tuo nome_host nel caso in cui tu non abbia una rete

Host_name corrisponde al nome host definito in "/ etc / hostname".

Per un sistema con un indirizzo IP permanente, è necessario utilizzare qui l'indirizzo IP permanente anziché 127.0.1.1.

127.0.1.1 nome_host


1
Capisco la filosofia, ma non sono d'accordo con la sua forma in / etc / hosts.
Anthony Rutledge,

21

In realtà non significa nulla in particolare (è solo un altro IP nel blocco 127.0.0.0/8).

Il motivo per cui è usato come IP per il tuo nome host è spiegato nella Sezione 10.4 del Manuale di riferimento di Debian.

Citazione:

Alcuni software (ad esempio GNOME) prevedono che il nome host del sistema sia risolvibile in un indirizzo IP con un nome di dominio canonico completo. Questo è davvero improprio perché i nomi host e i nomi di dominio del sistema sono due cose molto diverse; ma il gioco è fatto. Per supportare tale software, è necessario assicurarsi che il nome host del sistema possa essere risolto. Molto spesso questo viene fatto inserendo una riga in / etc / hosts contenente un indirizzo IP e il nome host del sistema. Se il tuo sistema ha un indirizzo IP permanente, utilizzalo; altrimenti usa l'indirizzo 127.0.1.1.


1

La seguente schermata cattura una storia interessante.

Ubuntu predefinito / etc / hosts file e output ifconfig

In effetti, mostra che 127.0.0.1è il vero indirizzo di loopback. Pertanto, 127.0.1.1esiste per ragioni diverse da quella della rete IP di base.

Come accennato da @Videonauth, la 127.0.1.1linea è lì come una stampella, una correzione, per rendere felice il software schizzinoso.

A mio avviso, la voce di loopback dovrebbe essere quasi sempre presente /etc/hosts. Se si modifica il nome host dal valore predefinito di localhost, quindi modificare il nome host sulla 127.0.1.1riga, non sulla 127.0.0.1riga.

Se si modifica il nome host e si assegna un indirizzo IP statico al computer, modificare i campi nome host e IP nella riga 127.0.1.1.

In breve, lascia il 127.0.0.1record da solo.


Quindi, per riassumere, se hai applicato un IP statico dire 192.168.1.1, la riga 127.0.1.1 dovrebbe essere sostituita con 192.168.1.1 nome host. È corretto?
Chris,

192.168.1.1 <hostname>Sì.
Anthony Rutledge,

Grazie, non ne ero sicuro, sto installando un po 'di vm e tutti i file host lo contenevano, ho capito che era un loopback per alcune applicazioni ma poi lo era anche 127.0.0.1, quindi non ero sicuro se dovesse rimanere o no .
Chris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.