Sì e no. Sono due cose distinte chiamate nomi host.
Il nome host "interno" è fondamentalmente una stringa mantenuta dal kernel. Questo è quello restituito dal hostname
comando (o dalla gethostname()
chiamata) ed è unico all'interno di un sistema (*) .
Viene utilizzato principalmente quando un programma desidera generare un identificatore per il sistema su cui è in esecuzione. Ad esempio \h
in Bash si PS1
espande al nome host. Allo stesso modo, i file di registro in stile syslog includono anche il nome host nelle voci di registro.
(* Anche se come commenta Stephen Kitt, gli spazi dei nomi possono essere usati per mostrare nomi host diversi ai processi sullo stesso sistema. È usato principalmente per i contenitori, che cercano di agire come se fossero sistemi distinti.)
Quindi ci sono anche nomi DNS che vengono utilizzati da altri sistemi per cercare l'indirizzo IP di un altro. Potrebbe esserci più di un nome DNS che punta allo stesso indirizzo IP e quindi allo stesso host.
Il nome host interno e i nomi DNS non devono necessariamente essere gli stessi. Supponiamo che qualcuno abbia un server web che abbia deciso di chiamare orange
(*) , con l'indirizzo IP 192.0.2.9
. Potrebbe servire due domini diversi e il DNS verrebbe impostato per avere www.example.org
ed www.example.com
entrambi farebbero riferimento a 192.0.2.9
, mentre il nome host interno del sistema potrebbe essere orange.example.org
o solo orange
. In tal caso, la configurazione DNS di solito avrebbe anche una ricerca inversa sul 192.0.2.9
punto di ritorno al nome orange.example.org
, ma non c'è nulla che lo costringa.
(* perché a loro piace nominare i loro server come frutto. Qualcuno potrebbe usare webserver1
o simili, ma il punto è che non ha bisogno di essere nominato dopo uno dei domini reali.)
Inoltre, l'hosting virtuale richiede che il browser indichi al server Web il nome del sito a cui ha tentato di accedere. Altrimenti il server non saprebbe quale sito virtuale il client ha tentato di raggiungere. HTTP ha l' Host
intestazione per quello.
Ciò che confonde la distinzione tra un nome DNS e il nome host interno è il protocollo mDNS
(implementato ad esempio dal demone avahi ) e altri protocolli di rilevamento. mDNS consente agli host di interrogare tutti gli altri host sulla stessa rete per informazioni sui nomi e di rendere visibili i loro nomi host su altri host senza configurarli esplicitamente in DNS.