Quelle étape un client DNS Doit

https://vimeo.com/569437002

Dans ce nouveau chapitre, je vous propose d’installer le rôle de Serveur DNS sur un serveur. Ce rôle est primordial pour de nombreux autres rôles (Active Directory, pour ne citer que le plus utilisé). Il permet d’associer un nom qualifié à une adresse IP. D’ailleurs, c’est sur ce protocole que se base le Web tel que nous le connaissons aujourd’hui.

Rappelez-vous les fondamentaux de DNS

Un client (souvent le navigateur web) envoie une demande pour connaître l’adresse IP du serveur web correspondant à l’adresse que vous avez entrée.

Par exemple, si vous allez sur www.exemple.com, votre navigateur doit demander quelle est l’adresse IP du serveur nommé www dans la zone DNS exemple.com.

Pour cela, il va envoyer une requête au serveur DNS configuré sur votre poste, et faire une demande de type A concernant www.exemple.com. Si votre serveur DNS ne connaît pas la réponse, il va alors se tourner vers un autre serveur DNS (souvent ce sera l’un des serveurs racines (Root Servers) gérant les enregistrements de la zone “.”.

Dans cette zone particulière sont référencés les serveurs des zones “.com”, “.fr”, et d’une manière plus générale, ".extension du nom de domaine”.

Alors votre serveur interrogera en retour le serveur de nom de la zone ".com" à la recherche du serveur DNS de la zone ".com", et la mécanique recommencera à la recherche de la zone exemple.com qui renverra, à ce moment-là, l'enregistrement A correspondant au champ www de sa zone : vous devriez avoir l’IP 107.180.40.145.

Quelle étape un client DNS Doit
Schéma de fonctionnement du DNS

Installez le rôle Serveur DNS

https://vimeo.com/622199561

Maintenant, je vous propose d’installer le rôle DNS sur un serveur Windows. Pour cela, comme vous le savez, rendez-vous sur le gestionnaire de serveur et ajoutez un rôle. À la sélection du rôle, Microsoft vous propose comme pour le DHCP, des fonctionnalités obligatoires :

Quelle étape un client DNS Doit
Fonctionnalités obligatoires du rôle Serveur DNS

Ensuite, vous avez des informations sur ce rôle, qui vous présentent le fonctionnement général (avec le lien au DHCP) et une configuration possible, préconisée par Microsoft, à savoir l’intégration à l’Active Directory. Cela permet de bénéficier du mécanisme de réplication de l’AD pour simplifier la réplication des zones sur les serveurs AD (qui se doivent d’avoir le rôle Serveur DNS pour fonctionner) :

Quelle étape un client DNS Doit
Informations sur le rôle Serveur DNS de l’assistant d’installation

Validez les informations finales et lancez l’installation en cliquant sur “Installer”. Vous maîtrisez l’assistant maintenant, non ? 

Quelle étape un client DNS Doit
Tableau de bord après installation du rôle Serveur DNS

Si vous allez sur le tableau de bord de votre serveur, vous pourrez noter à quel point le nommage est primordial ! J’ai volontairement laissé le nom que j’ai positionné sur le serveur lors de l’installation du rôle DHCP, voyez la confusion possible pour l’administrateur :

Quelle étape un client DNS Doit
Rôle DNS installé sur SRVDHCPPAR01

Maintenant que vous avez installé ce rôle, je vous propose de travailler sur sa gestion !

Gérez le service DNS

Tout comme le gestionnaire DHCP, il existe le gestionnaire DNS. Cette console dédiée à l’administration du rôle DNS permet de créer les différentes zones nécessaires au fonctionnement du DNS.

Quelle étape un client DNS Doit
Gestionnaire DNS

Avant de créer votre première zone directe, il faut savoir comment un serveur DNS fonctionne : à chaque requête d’un client, la réponse va être mise en cache localement. Ce cache permettra à votre serveur, après avoir récupéré l’adresse IP du serveur www.exemple.com, de répondre plus rapidement sans avoir à relancer une requête récursive aux serveurs “root”, ainsi qu'au serveur de la zone “exemple.com”. Ce cache doit être géré.

Pourquoi ce cache doit-il être géré ?

Eh bien, tout simplement pour éviter de garder en mémoire l’association www.exemple.com vers l’IP 107.180.40.145.

Eh oui, si l’administrateur de ce serveur décide de changer d’adresse IP, il serait dommage de ne plus pouvoir accéder à www.exemple.com.

Par défaut, cette valeur est d’une journée (24 h) pour les réponses positives (une adresse IP au moins existe pour un nom qualifié) et de 15 minutes pour les réponses négatives. Pour afficher ces informations, ouvrez PowerShell et tapez la commande  Get-DnsServerCache  :

Quelle étape un client DNS Doit
Configuration de cache du serveur DNS

Nous reviendrons dans la dernière partie de ce cours sur l’utilisation de PowerShell. Utilisez l’aide en ligne de Microsoft pour modifier ces valeurs.

Enfin, vous allez vous assurer que le rôle DNS est correctement configuré. Dans le gestionnaire DNS, avec un clic droit sur le nom du serveur, choisissez “propriétés” :

Quelle étape un client DNS Doit
Propriétés du serveur DNS

C’est exactement ce point qu’il faut vérifier.

Sur quelle interface écoute le service DNS ?

Par défaut, il écoutera les requêtes DNS sur toutes les interfaces. Si vous avez un réseau d’administration, il peut être intéressant de ne pas écouter les requêtes sur ce réseau. Je vous propose donc de sélectionner uniquement l’IP fixe que vous avez configurée dans le premier chapitre.

Dirigez-vous sur l’onglet Indication de racine. Allez vérifier que votre serveur connaît les serveurs racines. Ce seront les serveurs qui seront contactés pour identifier une réponse à www.exemple.com, par exemple.

Quelle étape un client DNS Doit
Serveurs racines connus de votre serveur DNS

Vous allez me dire, comment faire pour tester votre serveur DNS ? Il devrait être en mesure de répondre à n’importe quelle demande avec ces serveurs ?

Ouvrez, sur votre serveur, une invite de commande (un Shell). Tapez la commande  nslookup - 10.0.2.15  (où 10.0.2.15 est l’adresse IP de l’interface réseau de votre serveur). Vous entrez alors dans un client DNS interactif, en lien avec votre serveur ! Testez www.exemple.com :

nslookup - 10.0.2.15

Serveur par défaut : UnKnown
> www.exemple.com

Serveur : UnKnown
Réponse ne faisant pas autorité :
Nom : www.exemple.com
Addresses : 2606:2800:220:1:248:1893:25c8:1946
            107.180.40.145

Comme votre serveur n’est pas le gestionnaire de la zone exemple.com, il interroge récursivement les serveurs racines, puis le serveur DNS de la zone exemple.com. La réponse que votre serveur vous fournit ne fait pas autorité, car votre serveur la tient d’un autre serveur. 😅

Comment avoir des réponses faisant autorité ?

En disposant d’une zone DNS ; ça tombe bien, c’est ce que vous allez mettre en place !

Mettez en place votre première zone directe

https://vimeo.com/622199815

La première étape consiste à choisir un nom de domaine. Je vous propose de prendre une zone privée.

Prenez le cas suivant : suite à la configuration du DHCP, la direction de Gift S.A. vous demande de trouver un moyen de nommer les différents équipements et services sur le réseau. Le directeur en a marre de devoir taper l’adresse IP 10.0.2.10 pour accéder à l’intranet. Vous allez donc créer une zone directe pour le domaine “gift.sa” et y placer un enregistrement A faisant pointer  intranet.gift.sa  vers 10.0.2.10. Ainsi votre directeur pourra tranquillement taperhttps://intranet.gift.sa au lieu de l’adresse IP, mission réussie !

Pour cela, vous disposez (encore) d’un assistant. Cliquez sur Action en haut de votre écran puis sélectionnez  “Nouvelle zone...”. 

Après l’écran de bienvenue, vous devriez avoir l’écran suivant :

Quelle étape un client DNS Doit
Assistant de configuration d’un serveur DNS

Le premier choix est parfait, c’est ce que vous voulez faire. Validez ce choix par “Suivant”, jusqu’à arriver sur la page du nom de la zone : il s’agit de “gift.sa”, dans le cas présent. Puis la création du fichier de zone (et son emplacement sur votre serveur). Arrive ensuite la question des mises à jour dynamiques.

Quelle étape un client DNS Doit
Gestion de la mise à jour dynamique des enregistrements DNS

Votre zone est créée, allez voir maintenant son contenu, en cliquant sur “Terminer” puis en dépliant “Zones de recherche directes” :

Quelle étape un client DNS Doit
Zone de recherche directe “gift.sa”

Votre zone ne contient que deux enregistrements qui permettent d’identifier le serveur faisant autorité (SOA), et le serveur de noms (NS). Il serait intéressant de créer votre enregistrement intranet demandé par la direction. Pour cela, un clic droit dans la fenêtre de droite (ou sur le nom de la zone) et sélectionnez “nouvel hôte A ou AAAA”. Les enregistrements A sont pour les IPv4 et les AAAA pour les IPv6. Entrez le nom de l’hôte au sein de la zone (“intranet” donc) et l’adresse IP associée :

Quelle étape un client DNS Doit
Créer un enregistrement A

Vous avez ici la possibilité de créer un PTR, vous verrez cela dans la section suivante, d’ici quelques minutes ; ne cochez pas cette case et validez via “Ajouter un hôte”. Vous remarquerez le champ (non modifiable) du nom de domaine pleinement qualifié (fully qualified domain name – FQDN), il comporte un “point” à la fin qui représente la zone racine (root), suivi de l’extension “sa” puis du domaine “gift”. Le nom qualifié de l’intranet est donc “intranet.gift.sa.”

Pour vérifier que votre enregistrement est correctement créé, relancez une invite de commande et tapez la commande  nslookup intranet.gift.sa 10.0.2.15  pour demander de quelle adresse IP dispose l’hôte “intranet.gift.sa” au serveur 10.0.2.15 :

>nslookup intranet.gift.sa 10.0.2.15
Server : UnKnown
Address: 10.0.2.15

Nom : intranet.gift.sa
Address : 10.0.2.10

Voilà, vous savez créer des enregistrements A sur une zone directe ! Vous allez pouvoir nommer tous vos équipements ou serveurs avec des noms et arrêter d’utiliser les adresses IP.

Découvrez les autres types d’enregistrements

Avant de passer à la zone inversée, je vous propose de voir quelques éléments supplémentaires. Le DNS permet de répondre à une requête d’un client, le type A permet de demander une adresse IP à partir d’un nom, mais de nombreux autres types sont disponible, comme NS qui permet de connaître le serveur de noms. Sous Windows, vous pouvez effectuer des requêtes sur différents types avec l’option  set type=XXX , où XXX est le type demandé.

Un autre type est le SOA (Start Of Autority), permettant de savoir quel serveur fait autorité sur une zone.

>nslookup - 10.0.2.15
Serveur par défaut : UnKnown
Address: 10.0.2.15

>set type=SOA
>gift.sa
Serveur : UnKnown
Address: 10.0.2.15

gift.sa
 primary name server = srvdhcppar01
 responsible mail addr = hostmaster
 serial = 2
 refresh = 900 (15 mins)
 retry = 600 (10 mins)
 expire = 86400 (1 day)
 default TTL = 3600 (1 hour)

>set type=NS
>gift.sa
Serveur : UnKnown
Address: 10.0.2.15

gift.sa nameserver = srvdhcppar01

Un autre type est le CNAME qui permet d’associer un nom à un nom.

Cela peut être pratique pour donner un nom à un serveur en pointant sur le nom du service. Par exemple, cela peut être intéressant d’avoir un nom différent pour administrer l’intranet, mais il peut être long de taper “intranet.gift.sa” lorsque l’on administre ce service. Alors un CNAME “int.gift.sa” pointant sur intranet.gift.sa permet de résoudre ce problème :

>set type=CNAME
>int.gift.sa
Serveur : UnKnown
Address: 10.0.2.15

int.gift.sa canonical name = intranet

Il existe de nombreux types, les plus connus étant NS, SOA, A, AAAA, CNAME, TXT, MX (Mail eXchange pour les serveurs de messagerie). La méthode à mettre en œuvre est la même, quel que soit le type.

Mettez en œuvre votre première zone inversée

https://vimeo.com/622200362

Maintenant que vous disposez d’une zone directe, ne serait-ce pas intéressant de créer une zone inversée ? C’est une association d’une adresse IP à un nom, en somme l’inverse de la zone directe. Cela permet de confirmer que le nom choisi dans une zone directe est bien associé à l’adresse IP, et donc d’interroger un DNS sur une adresse IP, si vous changez l’adresse du serveur DNS configuré sur votre serveur DNS, ici, dans la zone Serveur DNS préféré :

Quelle étape un client DNS Doit
Configuration de votre serveur DNS comme serveur DNS de votre serveur

Toutes les requêtes de nom seront alors envoyées à votre serveur. Ouvrez alors une invite de commande et tapez  ping intranet.gift.sa  :

C:\Users\Administrateur>ping intranet.gift.sa

Envoi d'une requête 'ping' sur intranet.gift.sa [10.0.2.10] avec 32 octets de données :
Ctrl+C
^C
C:\Users\Administrateur>ping 10.0.2.10
Envoi d'une requête 'ping' 10.0.2.10 avec 32 octets de données :
Ctrl+C
^C

Le nom intranet.gift.sa est bien résolu (par la zone directe) en 10.0.2.10, mais l’inverse ne se fait pas ! Il vous faut créer une zone inversée.

Pour cela, rendez-vous sur le Gestionnaire DNS et avec un clic droit sur la partie “zone inversée”, sélectionnez “Nouvelle zone” ; après l’écran d’accueil, vous devriez arriver sur l’écran suivant :

Quelle étape un client DNS Doit
Création d’une zone inversée

Là encore, vous disposez de différents types de zones en fonction du niveau de maîtrise que vous souhaitez. Nous n’aborderons ici que le type principal. L’écran suivant vous propose de choisir entre IPv4 et v6.

Idem, ici restez sur IPv4. Ensuite, vous n’avez plus qu’à entrer l’ID de votre réseau. Il s’agit des octets de l’adresse IP représentant votre réseau et enfin, le nom du fichier de zone vous sera proposé et à nouveau la mise à jour dynamique (idem, on refusera les mises à jour dynamiques) :

Quelle étape un client DNS Doit
Id de réseau
Quelle étape un client DNS Doit
Finalisation de la création de la zone inversée

De la même façon que pour une zone directe, vous n’avez que deux enregistrements par défaut :

Quelle étape un client DNS Doit
Zone inversée

Ajoutez un enregistrement de type PTR pour intranet.gift.sa (vous pouvez parcourir votre zone directe avec l’assistant de création d’enregistrement PTR pour être certain de pointer vers le bon nom !). Entrez l'adresse IP (enfin, juste le dernier octet), et vous obtenez votre premier enregistrement :

Quelle étape un client DNS Doit
Enregistrement PTR

Pour tester la résolution de ce type avec un  ping  , ajoutez  -a  à votre ligne de commande.

C:\Users\Administrateur>ping -a 10.0.2.10

Envoi d'une requête 'ping' sur intranet.gift.sa [10.0.2.10] avec 32 octets de données :
Ctrl+C
^C

Voilà, vous avez maintenant un serveur DNS configuré pour simplifier la gestion du réseau de votre entreprise Gift S.A. Si vous souhaitez diagnostiquer le fonctionnement de votre serveur DNS, reprenez les méthodes et outils énoncés dans le chapitre précédent, ils restent valables pour tous les rôles et fonctionnalités !

Une dernière chose

Avant de vous laisser configurer d’autres rôles, il reste quelques configurations à mettre en œuvre. La première est le transfert de zone. Cette fonctionnalité est intéressante dans le cas où vous avez plusieurs serveurs pour une même zone (ce qui est une bonne chose), mais peut se montrer dangereuse si vous exposez votre serveur DNS publiquement.

Pour cela, faites un clic droit sur le nom de votre zone, allez dans l’onglet “Transfert de zone” et refusez les transferts, ou listez les serveurs de confiance que vous allez autoriser à récupérer vos enregistrements ! Une bonne pratique consiste également à journaliser toutes les transactions DNS, mais cela vous le verrez en détail dans les cours concernant la surveillance d’un système :

Quelle étape un client DNS Doit
Paramétrage des transferts de zone

Enfin, vous pouvez lancer le BPA de Microsoft sur ce rôle, pour vous assurer que votre configuration respecte les bonnes pratiques de Microsoft.

N’oubliez pas d’autoriser le port UDP 53 sur votre pare-feu, sinon votre serveur DNS ne sera pas accessible sur le réseau ; rappelez-vous, vous avez activé le pare-feu pour bloquer tous les flux n’étant pas couverts par une règle de flux entrant !

Allez plus loin

  • RFC régissant le fonctionnement du DNS.

  • Cours sur TCP/IP abordant le DNS.

  • Liste des différents types d’enregistrements DNS.

  • Gestion du cache DNS Microsoft.

En résumé

  • Le rôle DNS de Windows Server permet de créer des zones directes et inversées.

  • Le serveur DNS permet de résoudre des noms en adresses IP et des adresses IP en noms.

  • Le transfert de zone doit être restreint aux serveurs de confiance uniquement.

  • Un serveur DNS s’interroge à l’aide de la commande nslookup  ou via les navigateurs web (entre autres).

Poursuivez votre apprentissage avec la mise en place d’un serveur de fichiers sous Windows Server, que nous allons voir dans le prochain chapitre !

Quelle étape un client DNS Doit

La résolution de noms d'hôtes utilise généralement la séquence suivante : Le client vérifie si le nom demandé est son propre nom. Le client recherche ensuite un fichier Hosts local, une liste d'adresses IP et de noms stockée sur l'ordinateur local.

Comment un client interroge son serveur DNS ?

nslookup est un outil en ligne de commande simple mais très pratique qui est principalement utilisé pour trouver l'adresse IP d'un hôte spécifique ou le nom de domaine d'une adresse IP spécifique (recherche DNS inverse). nslookup peut être exécuté dans l'interface en ligne de commande du système d'exploitation utilisé.

Comment configurer un client DNS ?

Sur le serveur DNS :.
Dans le tableau de bord du Gestionnaire de serveur, cliquez sur le menu Outils > DNS..
Développez l'arborescence Zones de recherche directes..
Faites un clic droit sur le nom de votre domaine..
Sélectionnez Nouvel hôte (A ou AAAA)..
Dans le champ Nom, renseignez le numéro de série du firewall..

Quel protocole utilisé DNS ?

DNS utilise en général UDP et le port 53.