GNU/Linux >> Linux Esercitazione >  >> Linux

Perché il mio nome host appare con l'indirizzo 127.0.1.1 anziché 127.0.0.1 in /etc/hosts?

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 suo netcfg 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 come 127.0.0.1 ma è una voce distinta in /etc/hosts che può essere considerato separatamente da 127.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.


Linux
  1. Creare un file host specifico per l'utente per completare /etc/hosts?

  2. Linux:qual è il file predefinito per `hostname`?

  3. comando grpck – Rimuove le voci danneggiate o duplicate nei file /etc/group e /etc/gshadow.

  4. /etc/passwd mostra l'utente in un gruppo, ma /etc/group no

  5. Perché mettere cose diverse da /home in una partizione separata?

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Qual è la connessione tra le directory /etc/init.d e /etc/rcX.d in Linux?

Perché le directory /home, /usr, /var, ecc. hanno tutte lo stesso numero di inode (2)?

Perché /etc/resolv.conf punta a 127.0.0.53?

Differenza tra /etc/hosts e /etc/resolv.conf