Risposta rivista:
L'host stesso non gestisce l'FQDN effettivo. Questo è gestito dal DNS . Il nome di dominio completo (nome di dominio completo) è gestito da DNS che traduce i nomi in indirizzi IP. Utilizzando il /etc/hosts
file, si sta essenzialmente scavalcando il server DNS. Il computer cerca /etc/hosts
prima il file per vedere se è stata definita una voce per un nome host all'indirizzo IP. Le voci in sono /etc/hosts
simili alle seguenti:
127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu
Queste voci non sono specifiche della distro. Tutti i sistemi operativi utilizzano lo stesso formato per queste righe. hosts
Cambia solo la posizione del file. Linux, in genere si trova nella /etc/
cartella, dove in Windows si trova in genere nella C:\Windows\System32\drivers\etc\
cartella.
Rompendo quella linea, puoi vedere che sto assegnando entrambi terrance-ubuntu.local
, che è il mio FQDN stesso per sovrascrivere DNS in modo che le applicazioni sappiano di non lasciare il mio computer e terrance-ubuntu
, che è il nome host, di nuovo in modo che le applicazioni sappiano di non lasciare il mio computer o 127.0.0.1 ( localhost ). L'assegnazione del mio nome host del mio sistema 127.0.1.1
non ha alcun effetto sul resto dei computer che trovano il mio host sulla rete. Se il DNS funziona correttamente, vedranno il mio nome host come 10.0.0.100
. Il motivo dell'utilizzo 127.0.1.1
è che le mie applicazioni trovano il mio sistema più veloce poiché sapranno che il mio sistema non è disponibile altrove sulla mia rete. Il mio vero nome host con l' .local
essere il mio nome di dominio completo, il.local
è in realtà il mio dominio che ho impostato tramite il mio router che è anche un altro server DNS sulla mia rete.
Supponiamo ora che i servizi DNS sulla rete locale non stiano assegnando nomi host o nomi di dominio completi agli indirizzi IP, ma sapete qual è l'indirizzo IP dell'host sulla rete locale. Dovresti quindi assegnare quell'host nel tuo /etc/hosts
file in modo da non dover digitare l'indirizzo IP dell'host ogni volta che vuoi accedervi. L'host potrebbe essere un server di strumenti, una stampante o qualche altro sistema connesso in rete. Aggiungi la voce come faresti normalmente al /etc/hosts
file.
Utilizzerò la mia stampante connessa in rete, ad esempio. Ha un IP statico di 10.0.0.253. Non ne conosco il nome però. Per questo, voglio chiamarlo hp_printer
. Farò il ping dell'IP e il nome host per esso, quindi aggiungerò a /etc/hosts
.
terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer
terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms
Ora, posso anche accedere alla pagina web per la mia configurazione della stampante con il nome che ho dato al posto dell'indirizzo IP che potrebbe essere più facile da ricordare:
Il tuo file /etc/resolv.conf viene anche utilizzato da DNS per trovare i nomi host. È il file di configurazione per il resolver. Fornisce il dominio di ricerca in modo da non dover specificare il tuo nome di dominio completo in qualsiasi momento quando cerchi un host. Fornisce inoltre l'indirizzo IP per il DNS o il nameserver della rete locale. La search
riga sotto mostra il nome local
che è il mio nome di dominio.
terrance@terrance-ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local
Speriamo che questo aiuti a comprendere meglio come funzionano DNS e FQDN.