Nous avons déjà parlé en théorie sur Neptunet du service DNS, maintenant, il faut passer à la pratique !

Dans ce tutoriel, nous allons installer le rĂŽle DNS sur un serveur Windows et 
 et rien d’autre en fait
 Mais ça va fonctionner, mĂȘme sans configurer le service vous verrez !

Laissez simplement la magie de l’informatique opĂ©rer. angel


Installer un DNS cache sur un serveur Windows 2019

Je vous propose aujourd’hui un petit tuto pour prendre en main le service DNS sous Windows.

Au menu dans cet article, l’installation du rĂŽle DNS en mode dit « cache », c’est-Ă -dire qu’il ne va pas gĂ©rer de nom de domaine (donc pas de zone), mais seulement rĂ©pondre et transmettre les requĂȘtes des clients DNS de mon rĂ©seau Ă  d’autres serveurs DNS, puis stocker temporairement les donnĂ©es afin d’éviter les multiples requĂȘtes mais aussi favoriser les rĂ©ponses rapides.

Info ++ : Pour bien comprendre les différentes notions qui seront évoquées ici, des connaissances de base en DNS sont préférables. Je vous conseille de parcourir les articles suivants pour vous familiariser avec ce service : Le principe des noms de domaine | Le fonctionnement du service DNS

Comme toujours, un schĂ©ma de l’infra que je vais utiliser dans ce tuto :

Les machines ont reçu manuellement une configuration IP. Le serveur qui deviendra le DNS de mon rĂ©seau a pour adresse de DNS, lui-mĂȘme, c’est-Ă -dire sa propre adresse IP (que l’on peut aussi Ă©crire 127.0.0.1).

Bien, commençons sans plus tarder ! Et on dĂ©marre par l’installation du rĂŽle « serveur DNS » sur la machine serveur. Pour cela, depuis le gestionnaire de serveur, cliquez sur « ajouter des rĂŽles et des fonctionnalitĂ©s ».

On passe la page « avant de commencer » en cliquant sur Suivant (vous pouvez cocher la case « ignorer cette page par dĂ©faut » aprĂšs l’avoir lu au moins une fois, c’est utile
).

On veut installer un rÎle donc on coche « Installation basée sur un rÎle ou une fonctionnalité » et on clique sur Suivant.

On sĂ©lectionne notre serveur de destination, c’est-Ă -dire le serveur sur lequel on veut installer le rĂŽle. Ici, c’est facile, je n’en ai qu’un.

A la page de sĂ©lection des rĂŽles serveur, il faut cocher 
.. « Serveur DNS » ! Merci Ă  ceux qui suivent
 Notez que sur la droite, vous avez une courte description concernant ce service.

En cochant un rĂŽle, une fenĂȘtre appelĂ©e « assistant » va s’ouvrir et vous proposer d’installer des fonctionnalitĂ©s nĂ©cessaires au bon fonctionnement du rĂŽle. Cliquez sur « Ajouter des fonctionnalitĂ©s » pour confirmer cette installation supplĂ©mentaire.

Vous pouvez passer la page d’ajout de fonctionnalitĂ© car nous avons dĂ©jĂ  ajoutĂ© tout ce dont notre rĂŽle aura besoin.

Ensuite, quelques informations utiles concernant le service que l’on va installer sur notre serveur.

On confirme l’installation en cliquant simplement sur le bouton « Installer ».

La progression de l’installation du rĂŽle et des fonctionnalitĂ©s requises est visible grĂące Ă  une barre bleue. TrĂšs rapidement, un message informant de la rĂ©ussite va s’afficher. Inutile de redĂ©marrer la machine, le service est directement fonctionnel.

Voyons maintenant comment on peut gérer ce nouveau service ! Pour cela, allez sur le gestionnaire de serveur, dans outils et cliquez sur DNS. Vous pouvez également exécuter « dnsmgmt.msc » qui ouvrira directement la console de gestion du service.

Voici un aperçu de la console de gestion de notre service DNS fraßchement installé.

A ce stade, mon serveur DNS est ce qu’on appelle un serveur DNS « cache ». Il ne gĂšre aucune zone, ni aucun domaine. On peut dire qu’il est simplement le relais des clients DNS.

Nous allons tester ce nouveau service sur un poste client. J’ai dans mon rĂ©seau un Windows 10 qui a une adresse IP dans le mĂȘme rĂ©seau que mon serveur Ă©videmment. Voici sa configuration rĂ©seau :

Comme vous pouvez le constater, mon PC Windows 10 a bien une adresse de passerelle par dĂ©faut, qui correspond donc Ă  un routeur me permettant d’accĂ©der Ă  Internet (sans accĂšs Ă  internet, la suite du tuto ne fonctionnera pas), et l’adresse d’un serveur DNS, l’adresse de MON serveur DNS.

Toutes les requĂȘtes DNS Ă©mises par ce poste client passeront donc pas le serveur DNS de mon rĂ©seau qui se chargera de traduire les noms de domaine que je veux joindre en adresse IP et inversement. Pour s’assurer du bon fonctionnement du service DNS, tentons un simple ping Ă  destination de google.fr :

Le domaine « google.fr » est bien traduit en adresse IP « 216.58.198.195 », mon serveur DNS est donc bien fonctionnel.

Pourtant nous n’avons rien touchĂ© dans la console de gestion du DNS sur le serveur
 comment est-ce que cela peut fonctionner ? wacko 

Si vous avez bien compris l’article sur le fonctionnement du DNS, vous devriez entrevoir la solution.

Souvenez-vous qu’un serveur DNS ne connait pas tous les noms de domaine existant au monde. Quand il ne peut pas rĂ©pondre lui-mĂȘme Ă  une requĂȘte, il interroge d’autres serveurs DNS situĂ©s sur internet : les serveurs racines, les serveurs de 1er niveau (TLD), les serveurs de 2nd niveau (SLD), etc


Quand il a enfin la rĂ©ponse, il la stocke dans son cache pour pouvoir rĂ©pondre plus rapidement aux requĂȘtes des clients et ne pas solliciter sans cesse d’autres serveurs DNS.

Voyons comment se constitue ce fameux « cache » en retournant sur le serveur de notre réseau, dans la console de gestion du DNS.

Si vous ĂȘtes curieux et avez dĂ©jĂ  fouinĂ© dans le console de gestion du DNS, vous avez dĂ» voir qu’Ă  ce stade, tout est vide.

Pour afficher le cache, il faut changer le mode d’affichage pour voir apparaĂźtre une nouvelle partie. Cliquez une fois sur le nom de votre serveur, cliquez ensuite sur « Affichage » puis sur « Affichage dĂ©taillĂ© ».

Vous verrez alors dans le gestionnaire une nouvelle partie appelée « Recherches mises en cache ».

Si vous dĂ©roulez cette nouvelle partie, vous verrez une arborescence se dessiner qui devrait vous rappeler le fonctionnement du service DNS lorsqu’il Ă©met des requĂȘtes.

On retrouve un dossier racine (le fameux point), contenant des TLD, contenant eux-mĂȘmes des SLD.

Comment notre serveur peut connaßtre les adresses des serveurs DNS racine ? Mais en voilà une bonne question ! blush 

Tous les serveurs DNS disposent de la liste des serveurs racine. Elle est facilement visible dans le gestionnaire de DNS en se plaçant sur le nom du serveur, en effectuant un clic droit et en allant fouiner dans les propriĂ©tĂ©s, plus prĂ©cisĂ©ment dans l’onglet « Indications de racine ».

Par dĂ©faut, mon serveur va Ă©mettre des requĂȘtes directement auprĂšs de ces serveurs. Je peux Ă©galement mettre en place un ou plusieurs redirecteurs, c’est-Ă -dire indiquer qu’il doit transmettre ses requĂȘtes, non pas aux serveurs root, mais Ă  un serveur DNS prĂ©cis.

Pour cela, il me suffit d’aller dans l’onglet « Redirecteur » et d’indiquer l’adresse IP du DNS oĂč seront renvoyĂ©es les requĂȘtes. Dans l’illustration suivante, j’ai ajoutĂ© l’adresse IP 1.1.1.1 qui correspond au DNS de CloudFlare.

Mais je ne souhaite pas actuellement mettre en place de redirecteur, je vais donc annuler cette derniĂšre manipulation qui n’Ă©tait lĂ  que pour la dĂ©mo ^^.

Bien reprenons !

PrĂ©cĂ©demment, j’ai fait un ping vers google.fr depuis un PC Windows. Mon serveur DNS a demandĂ© au serveur racine l’adresse d’un serveur DNS gĂ©rant le TLD « .fr », il a ensuite demandĂ© l’adresse d’un serveur DNS gĂ©rant le SLD « google » et obtenu des informations sur les serveurs DNS de google directement.

Relançons un ping à destination cette fois-ci de free.fr :

Actualisons le gestionnaire DNS avec l’icĂŽne reprĂ©sentant une flĂšche verte circulaire ou avec la touche F5 du clavier.

Dans mon arborescence, j’ai maintenant un conteneur « free » qui contient des informations sur les serveurs DNS de free (Serveur de noms NS), mais aussi sur ce qu’on appelle des hĂŽtes (reprĂ©sentĂ©s par la lettre A), des machines serveurs ou des ordinateurs par exemples.

Lors de mon ping, c’est l’adresse IP 212.27.48.10 qui me rĂ©pond. Je vois ici que c’est un enregistrement DNS dit « hĂŽte », je suppose donc que cet hĂŽte est l’un des serveurs web qui hĂ©berge le site de free.fr (d’ailleurs, si j’essaie d’aller sur http://212.27.48.10, je suis automatiquement redirigĂ© ici https://www.free.fr/freebox/ ).

Bien Ă©videmment, les enregistrements que l’on voit ici ne restent pas Ă  vie stockĂ©s sur le serveur. Ils ont une durĂ©e de vie limitĂ©e. Pour connaĂźtre leur « Time to live », il faut afficher le cache de rĂ©solution DNS avec la commande ipconfig /displaydns (je vous conseille de le faire sur un poste client car sur un serveur dns, ça risque d’ĂȘtre une sacrĂ©e liste
), et de chercher l’information.

Par exemple ici, la commande ipconfig /displaydns lancée sur le poste client me retourne ces infos :

Je vois donc que la durĂ©e de vie restante de l’enregistrement de google.fr est de 296 secondes (donc au total 300 secondes, soit 5 minutes car je venais de relancer un ping de google.fr pour refaire du trafic), et pour free.fr, celle-ci est de 84661 secondes restantes (on peut donc estimer que le total est de 86400 secondes soit 24 heures).

Cette durée de vie est trÚs utile car elle permet de réinitialiser automatiquement les données en cas de changement.

 

Voilà comment fonctionne un serveur DNS cache chez Windows !

Dans un futur article, nous verrons comment crĂ©er une zone DNS principale et gĂ©rer des enregistrements (et dans un futur lointain, peut ĂȘtre mĂȘme une zone secondaire 😉)

En attendant, je vous dis Ă  trĂšs vite ! good


[Tuto] Installation d’un serveur DNS cache sous Windows

Articles pouvant vous intéresser