GNU/Linux >> Linux Esercitazione >  >> Linux

Comprensione del file /etc/hosts in Linux

Che cos'è /etc/hosts e perché viene utilizzato?

Per inviare il traffico di rete a un host, è necessario conoscere l'indirizzo IP (Internet Protocol) numerico di tale host. L'indirizzo IP è tradizionalmente scritto come xxx.xxx.xxx.xxx dove ogni xxx rappresenta un valore da 0 a 255, per un indirizzo di rete IPv4. I computer richiedono questi indirizzi, ma gli esseri umani trovano difficile ricordare i valori numerici. Il Domain Name Service (DNS) fornisce un meccanismo per associare uno o più nomi alfanumerici a un indirizzo IP numerico. Su un sistema Linux, questi nomi leggibili vengono convertiti nei loro IP numerici equivalenti dalla Libreria Resolver, contenuta nei file libresolve.so forniti come parte del pacchetto RPM di glibc. I programmi che devono cercare l'indirizzo IP numerico per un problema di nome chiamano questa libreria.

I nomi host e i relativi indirizzi IP possono essere trovati in una varietà di luoghi:file locali, server DNS remoti o server NIS+, solo per citarne alcuni. L'ordine di ricerca di queste risorse dipende dagli host:voce in /etc/nsswitch.conf file. Questa riga in genere è simile a questa:

# vi /etc/nsswitch.conf
hosts: files dns

Questo fa sì che la libreria del risolutore consulti prima il file /etc/hosts locale; se il nome host non si trova lì, consulta i server dei nomi DNS remoti identificati da /etc/resolv.conf file.

Linux fornisce il vincolo Pacchetto RPM per consentire a un dominio amministrativo di configurare e mantenere il proprio servizio DNS, ma spesso la dimensione della rete locale è di pochi host e rende ingiustificato giustificare lo sforzo di mantenere un servizio DNS.

Formato del file /etc/hosts

Il file /etc/hosts è un normale file di testo. Sono consentiti due tipi di linee:

  1. Righe vuote
  2. Definizioni dei nomi host

Le righe possono essere mescolate secondo necessità. I commenti iniziano con un cancelletto (# ) e continua fino alla fine della riga.

Associazione di nomi host e indirizzi IP

Per ogni host dovrebbe essere presente una singola riga con le seguenti informazioni:

IP_address canonical_hostname [aliases ...]

I campi della voce sono separati da eventuali spazi bianchi (spazi o tabulazioni). Il primo campo è l'indirizzo IP numerico da utilizzare per tutti i nomi host su questa voce. È possibile utilizzare un indirizzo IPv4 (10.1.2.3), un indirizzo IPv6 (2001:0db8:0000:0000:0000:0000:1428:57ab) o un'abbreviazione IPv6 (::1), a seconda dei requisiti.

Dopo l'indirizzo IP, i token rimanenti specificano i nomi host conosciuti localmente associati a quell'indirizzo IP. Per convenzione, il nome dopo l'indirizzo IP è il nome di dominio canonico o completo. Un esempio di nome canonico sarebbe server.example.com; questo è il nome ufficiale dell'host.

Eventuali nomi rimanenti definiti per l'indirizzo IP sono alias o nomi alternativi per il nome host ufficiale. Ad esempio, supponiamo che uno dei compiti assegnati a server.example.com sia il sito FTP aziendale. Un alias adatto potrebbe quindi essere myftp.example.com e questo nome potrebbe essere aggiunto alla voce /etc/hosts dopo il nome canonico. Molte volte, un alias è semplicemente il nome host, senza alcun suffisso di dominio. Ad esempio:

192.168.10.12 server.example.com myftp.example.com myhost myftp

Il vantaggio di elencare il nome host canonico come prima definizione sulla riga è che la conversione da IP a nome host (simile alle ricerche DNS inverse) di solito visualizza solo il nome trovato; convenzione usa il nome canonico per questo. Nel nostro esempio, il comando:

$ ping myftp
PING myhost.example.com (192.168.10.12) 56(84) bytes of data.
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=2 ttl=64 time=0.028 ms
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=3 ttl=64 time=0.028 ms

Nota che abbiamo eseguito il ping di myftp ma i risultati provengono da host myhost:questo è un indizio affidabile che stai indirizzando un alias, non l'host reale.


Linux
  1. Un'introduzione al file Linux /etc/fstab

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

  3. Comprendere il file /etc/inittab in Linux

  4. Comprensione del file /etc/login.defs

  5. Esempio di file /etc/services in Linux

Configurazione Linux:comprensione delle directory *.d in /etc

Che cos'è il file /etc/passwd in Linux?

Comprensione del file /etc/group

Comprendere il file /etc/fstab in Linux

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

Ospita lo switcher di file su Linux