65 votes

Les noms d'hôtes - De quoi s'agit-il ?

J'ai récemment été "forcé" d'effectuer un travail d'administrateur système. Bien que ce ne soit pas quelque chose que j'aime absolument faire, j'ai lu, expérimenté et appris beaucoup.

Il y a un aspect fondamental de la configuration des serveurs que je n'ai pas réussi à saisir - noms d'hôtes .

Dans Ubuntu par exemple, il faut définir le nom d'hôte de la manière suivante (en fonction de l'adresse de l'utilisateur) Bibliothèque Linode ):

echo "plato" > /etc/hostname
hostname -F /etc/hostname

Dossier : /etc/hosts

127.0.0.1        localhost.localdomain        localhost
12.34.56.78      plato.example.com            plato

Je suppose que plato est un nom arbitraire et que plato.example.com est le FQDN.

Maintenant mes questions sont :

  • Est-il obligatoire ?
  • Dans quel but ?
  • Où est-il nécessaire / utilisé ?
  • Pourquoi ne puis-je pas définir "localhost" comme nom d'hôte pour chaque machine ?
  • Dois-je configurer une entrée DNS pour l'adresse de l'entreprise ? plato.example.com FQDN ?
  • Devrait plato.example.com sera utilisé comme entrée DNS inverse pour mon IP ?

Par ailleurs, existe-t-il des "meilleures pratiques" pour choisir les noms d'hôtes ? J'ai vu des gens utiliser des lettres grecques, des noms de planète et même des figures mythologiques... Que se passe-t-il lorsque nous sommes à court de lettres ou de planètes ?

Je suis désolé si c'est une question stupide mais je n'ai jamais été très enthousiaste avec les configurations de réseau.

31voto

Eric Noob Points 531

De nos jours, un système peut avoir plusieurs interfaces, chacune avec plusieurs adresses, et chaque adresse peut même avoir plusieurs entrées DNS associées. Que signifie donc un "nom d'hôte système" ?

De nombreuses applications utiliseront le nom d'hôte du système comme identifiant par défaut lorsqu'elles communiqueront ailleurs. Par exemple, si vous collectez des messages syslog sur un serveur central, les messages seront tous étiquetés avec le nom d'hôte du système d'origine. Dans un monde idéal, vous devriez probablement ignorer cela (parce que vous ne voulez pas nécessairement faire confiance au client), mais le comportement par défaut -- si vous nommiez tous vos systèmes "localhost" -- résulterait en un tas de messages de journal que vous ne seriez pas en mesure d'associer à un système spécifique.

Comme d'autres personnes l'ont souligné, le nom d'hôte du système est également un identifiant utile si vous accédez à distance à un certain nombre de systèmes. Si vous avez cinq Windows attachés à un système nommé "localhost", vous allez avoir du mal à les distinguer.

Dans le même ordre d'idées, nous essayons de faire en sorte que le nom d'hôte du système corresponde au nom d'hôte que nous utilisons pour l'accès administratif à un système. Cela permet d'éviter toute confusion lorsque l'on se réfère au système (dans les courriers électroniques, les conversations, la documentation, etc.)

Concernant le DNS :

Vous souhaitez disposer d'entrées DNS forward et reverse appropriées pour vos applications afin d'éviter toute confusion. Vous avez besoin de un peu de une entrée de transfert (nom -> adresse IP) pour que les gens puissent accéder facilement à votre application. La correspondance de l'entrée inverse est utile pour un certain nombre de raisons - par exemple, elle vous aide à identifier correctement l'application si vous trouvez l'adresse IP correspondante dans un journal.

Notez que je parle ici d'"applications" et non de "systèmes", car -- en particulier avec les serveurs web -- il est courant d'avoir plusieurs adresses IP sur un système, associées à différents noms d'hôtes et services.

Vous essayez de maintenir les correspondances entre le nom et l'adresse IP dans votre système. /etc/hosts devient rapidement difficile lorsque vous gérez un nombre croissant de systèmes. Il est très facile pour le fichier hosts local de se désynchroniser par rapport au DNS, ce qui peut entraîner une confusion et, dans certains cas, un dysfonctionnement (parce que quelque chose essaie de se lier à une adresse IP qui n'existe plus sur le système, par exemple).

11voto

Kenny Rasschaert Points 8737

Vous pourriez définir tous les noms d'hôtes à "localhost", mais il est très pratique de disposer de alix@plato ~ $ dans votre invite de commande lorsque vous gérez des machines via ssh. La gestion des serveurs à distance peut devenir très confuse si vous ne le faites pas.

Il est important d'avoir un FQDN correct lorsque vous hébergez un serveur web ou un serveur de messagerie. Ces types d'applications serveur aiment savoir "sur qui" elles tournent.

Pour choisir un bon système de dénomination, je vous renvoie à cette question très populaire .

Un FQDN ne devient utile que lorsqu'il est significatif pour un autre ordinateur. Il existe trois niveaux pour cela :

  • Un ordinateur de votre réseau local a une entrée dans son fichier hosts qui pointe vers cette machine.
  • Vous avez un serveur DNS qui fonctionne sur votre réseau local et chaque ordinateur local qui l'utilise comme serveur DNS connaît maintenant plato par son nom.
  • Vous enregistrez un nom de domaine et le monde entier sait maintenant vers quelle machine pointe le nom plato.alixaxel.com.

Pour l'envoi de courrier électronique ou la transmission de pages Web au monde extérieur, c'est le troisième qui est le plus approprié. Pour la plupart des autres cas, vous pouvez vous contenter d'un DNS local ou même de l'édition de fichiers hosts.

Dans ce cas, vous pouvez simplement créer un nom de domaine (plato.alixnetwork pourrait convenir comme FQDN) à utiliser au sein de votre réseau local. La seule valeur ajoutée de la partie "alixnetwork" (le nom de domaine) est la commodité lorsque vous avez un autre réseau local dont vous souhaitez le distinguer.

9voto

frameworkninja Points 628

Un aperçu de base. Les noms d'hôtes ne sont que des pointeurs ; vous pouvez en assigner un spécifique comme étant le nom d'hôte référencé par la machine, mais il peut en avoir plusieurs. Certains services, notamment le courrier électronique et HTTP, s'appuient sur les noms de domaine pour savoir où se trouvent les services et comment y accéder.

Il y a longtemps, tous ces noms (qui, une fois encore, ne sont que des pointeurs vers des adresses IP) étaient conservés dans un fichier appelé hosts . Au fur et à mesure que le système se développait, il était impossible de maintenir la synchronisation du fichier sur tous les ordinateurs concernés participant aux différents réseaux interconnectés. Le système DNS a donc été inventé. Lorsque vous recherchez un nom, il vérifie toujours d'abord le fichier hosts, puis le système DNS. Windows peut également vérifier d'autres systèmes comme WINS ou NetBIOS.

Lorsque vous mettez une entrée dans un hosts vous ne l'attribuez pas à l'ordinateur. L'attribution d'un nom d'hôte comme celui utilisé par l'ordinateur se fait dans les fichiers de configuration (sur les systèmes *nix) et dans les propriétés du système sur les systèmes Windows (les systèmes Windows peuvent également avoir des suffixes spécifiques aux cartes réseau).

Les entrées dans le hosts comme le système DNS, ne sont qu'une correspondance entre un nom d'hôte et une adresse IP. Pour utiliser le nom d'hôte 'localhost' (il n'a rien de spécial, c'est un nom d'hôte comme tous les autres), il doit être mappé sur l'interface loopback (afin qu'il pointe toujours vers l'ordinateur local). Pour s'assurer que cela fonctionne, tous les ordinateurs sont livrés avec ce mappage par défaut dans leur fichier hosts mais il peut être supprimé si vous ne souhaitez pas utiliser ce nom d'hôte.

En outre, comme d'autres l'ont fait remarquer, il est très utile d'attribuer un nom d'hôte à un ordinateur. Une fois connecté à l'ordinateur, vous pouvez faire en sorte qu'il affiche son nom d'hôte lorsque vous vous connectez, ou comme invite, ou à tout autre endroit. Cela permet d'identifier plus facilement l'ordinateur auquel vous êtes connecté. Si vous configurez ce nom d'hôte dans le DNS ou si vous le placez dans tous les serveurs de l'entreprise, vous pouvez l'utiliser. hosts vous pourrez vous connecter à l'ordinateur en faisant référence à son nom d'hôte au lieu de devoir connaître son adresse IP en permanence. (Encore plus utile si l'ordinateur utilise DHCP, car l'adresse peut changer. Si l'ordinateur met à jour le DNS, l'enregistrement DNS pointera vers la nouvelle adresse IP ; vous pourrez toujours vous connecter sans connaître la nouvelle adresse IP puisque vous connaissez le nom DNS).

Il y a beaucoup d'autres utilisations des deux hosts et DNS, mais je pense que vous avez plus de questions que de réponses si vous lisez tout ça.

5voto

Khaled Points 35208

Chaque hôte doit recevoir un nom significatif. Le nom d'hôte peut servir à plusieurs fins :

1- Il vous aide à reconnaître ce sur quoi vous travaillez actuellement.

2- Utiliser les noms configurés dans /etc/hosts et/ou des enregistrements DNS est plus facile que de mémoriser de nombreuses adresses IP.

3- Localhost est un nom réservé pour faire référence à la machine actuelle (adresse 127.0.0.1).

4- Les enregistrements DNS sont utiles pour rendre vos serveurs accessibles au public.

Le choix d'un nom approprié pour chaque serveur vous aide beaucoup dans votre administration. De plus, cela facilite l'accès de vos clients à vos serveurs.

3voto

Massimo Points 67633

Avertissement : la question principale concerne les systèmes Linux. N'hésitez donc pas à ignorer cette réponse si vous n'êtes pas intéressé par l'aspect Windows du problème.

Quoi qu'il en soit, dans les systèmes Windows, en dehors de tous les points mentionnés dans d'autres réponses, le nom d'hôte est en fait utilisé par le système d'exploitation lui-même, à des fins de mise en réseau et d'authentification, notamment :

  • Chaque système, qu'il soit ou non membre du domaine, doit avoir un nom unique. dans le même réseau (c'est-à-dire dans le même sous-réseau IP), sinon un conflit d'appellation se produira et divers services réseau (principalement le partage de fichiers et d'impressions) ne fonctionneront pas.
  • Tous les systèmes qui sont membres du même domaine Active Directory doivent avoir un nom unique, indépendamment des frontières du réseau.
  • Dans un environnement de domaine, le nom d'hôte d'un système fait office de principal de sécurité et peut être utilisé pour l'authentification à distance (pensez-y comme un compte d'utilisateur pour la machine) ; des permissions et des droits d'accès peuvent lui être attribués et il peut être placé dans des groupes à des fins de sécurité. Cela a un impact sur tous les processus exécutés sur le système à l'aide de la fonction intégrée LocalSystem y NetworkService qui peuvent s'authentifier auprès d'autres systèmes en utilisant les informations d'identification du système sur lequel ils s'exécutent ; cela permet, par exemple, à un processus s'exécutant en tant que NetworkService sur SystemA pour accéder à un dossier partagé sur SystemB en accordant des permissions sur le dossier au compte utilisateur de SystemA.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X