Oui et non. Ce sont deux choses distinctes appelées noms d'hôtes.
Le nom d'hôte "interne" est essentiellement une chaîne conservée par le noyau. C'est celui renvoyé par la hostname
commande (ou l' gethostname()
appel) et il est unique au sein d'un système (*) .
Il est principalement utilisé lorsqu'un programme souhaite générer un identifiant pour le système sur lequel il s'exécute. Par exemple, \h
dans Bash PS1
s'étend au nom d'hôte. De même, les fichiers journaux de style syslog incluent également le nom d'hôte dans les entrées de journal.
(* Bien que Stephen Kitt commente, les espaces de noms peuvent être utilisés pour montrer différents noms d'hôtes aux processus sur le même système. Cela est principalement utilisé pour les conteneurs, qui essaient d'agir comme s'ils étaient des systèmes distincts.)
Ensuite, il y a aussi des noms DNS qui sont utilisés par d'autres systèmes pour rechercher l'adresse IP d'un autre. Il peut y avoir plusieurs noms DNS qui pointent vers la même adresse IP et donc le même hôte.
Le nom d'hôte interne et les noms DNS n'ont pas besoin d'être identiques. Supposons que quelqu'un ait un serveur Web qu'il a décidé d'appeler orange
(*) , avec l'adresse IP 192.0.2.9
. Il pourrait servir deux domaines différents et le DNS serait configuré pour avoir www.example.org
et www.example.com
pointer vers 192.0.2.9
, tandis que le nom d'hôte interne du système pourrait être orange.example.org
ou simplement orange
. Dans ce cas, la configuration DNS aurait généralement également une recherche inversée sur le 192.0.2.9
point de retour au nom orange.example.org
, mais il n'y a rien pour forcer cela.
(* parce qu'ils aiment nommer leurs serveurs d'après fruit. Quelqu'un pourrait utiliser webserver1
tel ou tel, mais le fait est qu'il n'a pas besoin d'être nommé d'après l'un des domaines réels.)
En plus de cela, l'hébergement virtuel nécessite que le navigateur indique au serveur Web le nom du site auquel il a tenté d'accéder. Sinon, le serveur ne saurait pas quel site virtuel le client a tenté d'atteindre. HTTP a l'en- Host
tête pour cela.
Ce qui brouille la distinction entre un nom DNS et le nom d'hôte interne est le protocole mDNS
(implémenté par exemple par le démon avahi ) et d'autres protocoles de découverte. mDNS permet aux hôtes d'interroger tous les autres hôtes du même réseau pour obtenir des informations sur le nom et de rendre leurs propres noms d'hôtes visibles sur d'autres hôtes sans les configurer explicitement dans DNS.