Soluzione 1:
Non c'è molta differenza tra i due; 127/8
(es:127.0.0.0
=> 127.255.255.255
) sono tutti legati all'interfaccia di loopback.
Il motivo è documentato nel manuale Debian nel cap. 5 Configurazione della rete - 5.1.1. La risoluzione del nome host.
In definitiva, è una soluzione per bug; il rapporto originale è 316099.
Soluzione 2:
Per riassumere le informazioni collegate a:
- È (discutibilmente) utile avere una voce nel tuo
/etc/hosts
traducendo il nome di dominio completo della macchina nel suo indirizzo IP permanente. debian-installer
, e più specificamente, il suonetcfg
componente, attualmente (almeno fino a marzo 2013) crea questa voce.- Se non si sa che la macchina ha un indirizzo IP permanente, l'installatore Debian vuole comunque che abbia quel tipo di voce.
- L'indirizzo
127.0.1.1
utilizza l'interfaccia di loopback, a cui risponde la tua macchina, proprio come127.0.0.1
ma è una voce distinta in/etc/hosts
che può essere considerato separatamente da127.0.0.1
se/quando necessario.
Thomas Hood spiega l'aggiunta di questa voce come segue:
[Questo] assicurerà che se il nome host UNIX è risolto, sarà sempre il proprio nome host canonico
ma:
Alla lunga il nome host UNIX non dovrebbe essere messo in /etc/hosts.
Soluzione 3:
Anch'io ero curioso e non mi piaceva nessuna delle altre risposte perché almeno non sembravano rispondere a quello che stavo cercando.
La risposta: Guardando indietro a questo documento sembra quasi che Thomas affermasse che gli sta dando un altro IP dedicato sul loopback che gli consente di essere canonico.
Entrambi puntano al tuo loopback. L'utilizzo del seguente 127.0.1.1 è un IP effettivo, sul loopback, mentre 127.0.0.1 è il dispositivo stesso o un altro IP sul loopback. Entrambi finiscono sulla stessa sottorete, che rappresenta il loopback, ma sono separati da ip. Sono equivalenti in termini di dns, ma separati perché hanno un ip dedicato.
Il punto è che puoi avere tutte le tue voci su una riga come questa
127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com
Se il tuo nome host è locale, il che significa che non ha una voce DNS Internet globale mappata su un IP Internet effettivo, allora in questo caso Thomas stava dicendo che DEVI avere la seconda riga di entrata, così per dedicarla lì (al canonico).
127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname
Soluzione 4:
Ho letto diverse risposte in giro, e francamente sono un po' confuso.
Per prima cosa ho cercato di capire qual è il nome host canonico qui.
Quello che posso dire è che @cmroanirgo ha ragione nel dirlo sul mio laptop Ubuntu, invocando
hostname --fqdn
con /etc/hosts
configurato in questo modo
127.0.0.1 localhost
127.0.1.1 laptop
restituisce laptop
, mentre cambiando il file come segue
127.0.0.1 localhost laptop
restituisce localhost
.
Che impatto possa avere questo, non ne ho idea, tranne il fatto che se hai un software che si lega al nome host e devi parlarci internamente alla tua macchina, non aspettarti di poter usare il nome host "localhost" per fare il lavoro, in questa configurazione, poiché finiscono per risolvere due distinti indirizzi separati.