web-dev-qa-db-fra.com

Dois-je créer un serveur DNS lors de la configuration d'un réseau?

J'ai étudié un peu le réseautage dans ma classe il y a quelques années. Mais j'ai toujours eu des doutes à ce sujet et je ne l'ai jamais bien compris. Nous configurons des serveurs HTTP Windows Server et Ubuntu, des serveurs DNS utilisant Apache et divers paramètres. J'espère que cette question n'est pas trop ouverte.

Ma question est la suivante: pourquoi devrais-je configurer un serveur DNS dans un réseau, dans quelle situation? Si je configurais un serveur d'hébergement pour des sites Web, des serveurs DNS seraient-ils nécessaires pour créer plusieurs hôtes virtuels publics, par exemple?

D'après mon expérience, en utilisant Apache par exemple, la configuration des hôtes virtuels n'a pas besoin de configurer les serveurs DNS au moins pour l'environnement local. Désolé pour la question, mais je ne comprends pas trop pourquoi configurer des serveurs DNS dans telle ou telle situation. Nous avons configuré DNS en classe à l'aide de la machine hôte, puis de Windows Server dans une machine virtuelle, mais nous ne comprenions toujours pas la convivialité de ce processus.

Quelqu'un pourrait-il expliquer dans quelles circonstances dois-je configurer un serveur DNS lors de la configuration d'un réseau? La création de plusieurs domaines pour les sites d’hébergement est-elle?

2
Lorthas

En fait, vous mélangez beaucoup de choses, probablement parce que le rôle d'un serveur DNS n'est pas clair.

Alors, laissez-moi simplement revenir en arrière et essayer d’expliquer un peu plus les choses. Tout d’abord en veillant à bien comprendre que tout ce qui est présenté ci-dessous s’applique bien aux sites Web et au protocole HTTP (S), mais n’y est certainement pas spécifique et s’applique en fait à n’importe quel service sur Internet.

Les ordinateurs fonctionnent avec des nombres. Sur Internet, pour être joignables, nous leur donnons des adresses IP (elles existent en 2 versions: IPv4 et IPv6), qui sont essentiellement de gros chiffres.

Mais comme cela n’est pas très pratique à gérer pour les humains, nous avons défini un protocole et une infrastructure capable de mapper des noms arbitraires (tels que le nom d’hôte dans une URL ou la partie droite d’une adresse électronique) avec ces adresses IP. , afin que les humains puissent juste se souvenir des noms, pas des chiffres.

C'est, très simplifié, le rôle du DNS. Et pour que son service fonctionne, vous avez besoin de serveurs DNS qui se divisent en deux catégories:

  • serveurs de noms faisant autorité
  • serveurs de noms récursifs

Lorsque vous activez un nouveau nom de domaine sur Internet auquel sont associés des services, tels qu'un site Web, des adresses électroniques, etc., pour pouvoir le résoudre, assurez-vous que les utilisateurs puissent traduire son nom de manière appropriée. Pour les adresses IP d’un service donné sur ce nom de domaine, ce domaine nécessitera quelques serveurs de noms faisant autorité et la configuration appropriée dans la zone parente (en résumé, un niveau supérieur), c’est-à-dire au registre. côté du TLD dans lequel se trouve le domaine.

Il y a généralement 2 serveurs de noms faisant autorité par domaine. Ils sont configurés une fois et mis à jour si les noms/adresses IP sont modifiés. Ils peuvent être gérés par le propriétaire du nom de domaine lui-même ou par tout tiers mandaté à cet effet, qu'il s'agisse du registraire du nom de domaine ou des fournisseurs DNS externes.

Ils vivent généralement dans des centres de données, et certainement pas sur les réseaux des utilisateurs (encore une fois, généralement).

Par conséquent, avant que votre site Web soit accessible, vous devez vous assurer que son nom d'hôte est correctement configuré dans le fichier de zone utilisé par les serveurs de noms faisant autorité. Ce qui signifie une sorte de configuration DNS correcte ici.

Ensuite, vous avez besoin de serveurs de noms récursifs. Pourquoi? Parce que ce sont eux qui feront le mappage entre le nom et l'adresse IP. Ils savent, à l'aide du protocole DNS, trouver les serveurs de noms faisant autorité appropriés pour tout type de nom de domaine. Chaque ordinateur est configuré avec un ou plusieurs (pour la résilience) de ces serveurs de noms en mettant l'adresse IP (autrement évident problème de poulet et d'oeuf) de ces serveurs de noms récursifs quelque part dans le système d'exploitation (dépend du système d'exploitation). La configuration peut être statique ou être découverte au démarrage de l'ordinateur (en interrogeant d'autres serveurs ayant pour rôle de fournir ce type d'éléments de configuration).

Lorsqu'une application, telle qu'un navigateur, doit résoudre un nom, elle demande généralement au système d'exploitation (ou effectue elle-même les requêtes DNS) de le faire pour son compte, et le système d'exploitation utilisera le ou les serveurs de noms récursifs configurés pour effectuer la tâche. travail et récupère la réponse à l’appel d’appel.

Ces serveurs de noms récursifs peuvent être installés:

  • sur l'ordinateur lui-même, généralement uniquement pour l'utilisation de tous les processus locaux
  • sur un ordinateur du même réseau, par exemple en tant que client d'un fournisseur de services Internet, vous pouvez utiliser les serveurs de noms récursifs de fournisseurs de services Internet. Ils sont ensuite partagés par tous les clients du fournisseur de services Internet. Cela peut avoir à la fois des avantages et des inconvénients: en tant qu’avantages, vous avez le fait que le cache (chaque réponse est donné à un serveur de noms récursif avec un "temps de vie" et que le serveur peut mettre en cache ces informations pendant un certain temps, ce qui les rend plus rapides la prochaine fois besoin d'interroger à nouveau) est partagé entre les clients est donc plus "riche", mais comme votre inconvénient peut-être que votre fournisseur de services Internet change les réponses que vous recevez, par exemple pour détourner le trafic ou pour censurer certaines pages
  • sur un ordinateur disponible publiquement, pour tout le monde, géré par des organisations grandes ou moins grandes (avoir un serveur de noms public récursif vous expose à une DDOS et peut être utilisé comme une DDOS Origin, il ne devrait donc pas être fait sans expertise dans ce domaine) , comme Google avec 8.8.8.8 ou CloudFlare avec 1.1.1.1 ou Quad9 avec 9.9.9.9.

Tout le monde peut choisir le serveur de noms récursif qu'il veut utiliser.

Apache, en tant que serveur Web, comme toute autre application, peut également avoir besoin d'accéder à un serveur de noms récursif pour au moins ces raisons:

  • si vous mettez le nom dans des blocs VirtualHost, au lieu d'adresses IP, Apache peut avoir besoin de les résoudre au démarrage (il est donc déconseillé d'y mettre des noms).
  • en fonction de leur configuration, vous voudrez peut-être consigner non seulement l'adresse IP du client venant de votre site Web, mais également son nom (le nom du mappage -> IP peut être inversé, à nouveau en utilisant le DNS dans certains cas spécifiques). vous avez donc besoin du serveur de noms récursif <

Ainsi, Apache, comme tout processus sur le même ordinateur, aura accès à certains serveurs de noms "locaux" récursifs car il a besoin, comme indiqué ci-dessus, qu'il puisse s'exécuter sur la même boîte, dans une autre boîte du même réseau, ou être public (voir liste ci-dessus). au dessus de.

Mais à part cela, quelque part et généralement pas sur le même réseau que le serveur Web Apache, vous aurez 2 serveurs de noms faisant autorité qui devront être correctement configurés afin que les personnes désirant accéder à vos sites Web aient le nom d'hôte contenu dans l'URL correctement résolu. les adresses IP présentes sur le serveur sur lequel Apache est exécuté.

1
Patrick Mevzek