Maintenance et dépannage : DNS

Active Directory et DNS

Présentation des zones DNS

Les services de domaine Active Directory sont dépendants de la résolution des noms DNS. Les services DNS permettent aux postes et aux serveurs clients de localiser des services comme le service d’annuaire LDAP, l’authentification Kerberos, le catalogue global. Pour cela le client envoie des demandes de résolutions DNS spécifiques aux services demandés.  

Sur l’image ci-dessous nous pouvons identifier la zone DNS du domaine « htrab.lan » et la zone de la forêt « _mscdsc.htrab.lan ». Nous retrouvons la notion de site comme « Bordeaux » par exemple.  

Je ne détaillerai pas l’ensemble des enregistrements DNS mais il est important de retenir les plus fréquents. Vous trouverez donc entre autres les enregistrements : 

« A » : permet de résoudre un nom DNS vers une adresse IPv4 ;

« AAAA » : permet de résoudre un nom DNS vers une adresse IPv6 ;

« NS » : indique le nom d’un serveur DNS pour cette zone ;

« SRV » : permet de lier un service réseau avec un nom DNS et un port d’écoute ;

« PTR » : contenu dans la zone de recherche inversé, il permet de retrouver un nom à partir de l’adresse IP ;

« MX » permet de trouver le serveur de messagerie pour un domaine.

Les postes clients enregistrent dans le registre le site auquel il appartient par l’intermédiaire de leur sous-réseau. Pour cela il interroge une première fois n’importe quel DC afin d’établir leur site de rattachement en fonction des sousréseaux. Une fois le site identifié le poste client enverra ses demandes en priorité vers les serveurs de ce site. L’organisation des sites et les services qui existent sur chacun d’eux se retrouvent entre autres dans la zone DNS de la forêt « _msdsc », sous « dc\_sites », comme par exemple dans l’image précédente.

 Si vous souhaitez plus d’informations sur la méthode utilisée par les postes clients pour déterminer le contrôleur de domaine du site, vous pouvez consulter l’article :

https://learn.microsoft.com/fr-fr/troubleshoot/windows-server/windows-security/troubleshoot-domain-controller-location-issues

Enregistrements des contrôleurs de domaine

Les principaux enregistrements utiles à Active Directory sont les enregistrements « A » ou « AAAA » et « SRV ». Les contrôleurs de domaines comme les autres postes enregistrent leur nom et leur adresse IP automatiquement si les mises à jour sont autorisées sur la zone du domaine. Cet enregistrement est très important car les enregistrements de service y font référence. 

Pour recréer un enregistrement « A » manquant dans la zone DNS, par exemple après une suppression accidentelle, il suffit d’exécuter la commande « IPConfig /RegisterDns » sur le poste en question et d’attendre quelques instants.

Les contrôleurs de domaine créent également des enregistrements de service pour les différents services qu’il propose, comme par exemple « _kerberos » pour l’authentification, « _ldap » pour interroger l’annuaire. Ces enregistrements sont gérés par le service « Netlogon » et son redémarrage permet de les recréer.

Présentation de NsLookup

« NsLookup » est un utilitaire en ligne de commande permettant d’interroger un serveur DNS. Par défaut celui-ci se connectera au serveur DNS configuré comme DNS primaire sur la première carte réseau active. Il est possible de préciser un serveur DNS particulier avec « nslookup – ipduserveur ».

Par défaut « Nslookup » interroge les enregistrements « A », mais il est possible de changer de mode à l’aide de « set type = … ». Par exemple « set type = SRV », permet d’interroger les enregistrements de service.  Dans l’exemple ci-dessous nous recherchons un service « Kerberos » pour l’authentification d’un utilisateur sur le site Active Directory de Bordeaux. La réponse nous renvoie vers le serveur « 2016DC1.htrab.lan » et « 2016DC1.htrab.lan ». Le service Kerberos utilise le port TCP 88.

Effacer le cache du client et du serveur DNS.

Lorsque vous avez créé une nouvelle entrée dans les DNS elle n’est pas forcément visible de suite. Ceci est dû au cache du client DNS ou cache du serveur DNS.

Si vous souhaitez vider le cache du client il suffit d’exécuter la commande « IPConfig /FlushDns » dans une invite de commande en mode administrateur sur le poste en question. 

Néanmoins cela ne suffit pas toujours car le serveur dispose lui-même d’un cache DNS ayant une durée de vie, ce qui implique qu’il y a un délai d’attente avant que votre modification soit visible par les postes clients.

Vous pouvez manuellement vider le cache du serveur DNS depuis la console d’administration de DNS en effectuant un clic droit puis « effacer le cache ».

Configurer le nettoyage DNS

Le nettoyage des zones DNS permet d’éliminer les enregistrements obsolètes. Afin de mettre en œuvre le nettoyage des zones DNS, il faut dans un premier temps configurer les paramètres de nettoyage de zone. Il existe deux possibilités. La première consiste à définir les paramètres au niveau du serveur pour l’ensemble des zones DNS. La 2ème consiste à configurer les paramètres au niveau de la zone. Si des paramètres sont définis au niveau de la zone il remplace les paramètres définis pour le serveur. 

Quelle que soit l’option que vous retenez vous devez définir 2 valeurs :

  • La période de non-actualisation. Après qu’un enregistrement a été créé ou actualisé, celui-ci ne peut être modifié pendant la période de nonactualisation.
  • La période d’actualisation ou le poste client est en mesure de mettre à jour la valeur. 

Un enregistrement peut être supprimé lorsque son horodate est plus ancien que la durée correspondant à la somme de la période de non-actualisation et d’actualisation. Par défaut ces périodes sont définies à 7 jours, ce qui signifie que si vous activer le nettoyage, les enregistrements qui n’ont pas été renouvelés entre le 8ème et le 14ème jour seront supprimés. Par défaut le processus de nettoyage des zones n’est pas activé.

Pour définir des paramètres de vieillissement pour toutes vos zones sur le serveur :

  • Ouvrez la console DNS,
  • Cliquez avec le bouton droit sur le nom du serveur DNS, puis cliquez sur « Définir le vieillissement/nettoyage pour toutes les zones ». 
  • Activez la case à cocher « Nettoyer les enregistrements de ressources obsolètes ».
  • Modifiez les autres propriétés de vieillissement et de nettoyage selon vos besoins.

Pour définir les propriétés de vieillissement et de nettoyage d’une zone Dans l’arborescence de la console DNS : 

  • Cliquez avec le bouton droit sur la zone applicable, puis cliquez sur Propriétés.
  • Sous l’onglet Général, cliquez sur « vieillissement », puis activez la case à cocher « nettoyer les enregistrements de ressources obsolètes ».

Pour activer le nettoyage des zones Dans la console DNS :

  • Cliquez avec le bouton droit sur le nom du serveur DNS applicable, puis cliquez sur Propriétés.
  • Cliquez sur l’onglet Avancé.
  • Activez la case à cocher « Activer le nettoyage automatique des enregistrements obsolètes ».
  • Vous pouvez spécifier l’intervalle de temps entre 2 nettoyages automatiques. Dans la liste déroulante, sélectionnez un intervalle en heures ou en jours, puis tapez un nombre dans la zone. La période de nettoyage par défaut est de 1 jour et la période minimale autorisée est de 1 heure.

Pour exécuter manuellement le nettoyage 

Il est possible de lancer manuellement le nettoyage des zones DNS depuis la console DNS, en faisant un clic droit puis « nettoyer les enregistrements de ressources obsolètes.

Il suffit de confirmer le nettoyage par « oui ».

Comment vérifier si le nettoyage des zones a été exécuté ?

Que le nettoyage des zones soit exécuté automatiquement ou manuellement, vous pouvez consulter le résultat dans le journal d’application avec comme source « DNS » et numéro d’événement « 2501 ».

Modifié la portée d’une zone DNS intégrés Active Directory

Les zones DNS peuvent être intégrées ou non à Active Directory. Les zones qui ne le sont pas stockent leur information dans un fichier sous

« c:\windows\system32\dns ». Les zones intégrées enregistrent les informations directement dans l’annuaire. Il est possible de modifier l’emplacement de stockage de la zone DNS à tout moment. Pour vérifier l’emplacement de stockage des informations de la zone DNS, ouvrez la console DNS et sélectionnez la zone en question. Avec un clic droit, sélectionnez « propriétés » dans le menu contextuel.

Sous l’onglet « général » dans type de zone vous verrez l’indication « intégré à Active Directory » si la zone est stockée dans l’annuaire.

Si vous voulez changer d’emplacement de stockage, cliquez sur modifier et vous pouvez cocher ou décocher l’option « enregistrer la zone dans Active directory ».

Un autre paramètre important permet de sélectionner la partition dans laquelle les informations sont stockées. Selon l’option choisie vous allez définir vers quel contrôleur de domaine la zone sera répliquée. Pour modifier la réplication de la zone cliquez sur « modifier » à droite de réplication.

Il existe 4 possibilités pour la réplication de la zone DNS. La 3ème enregistre la zone DNS dans la partition du domaine et permet la compatibilité avec des contrôleurs de domaine Windows 2000. Les autres options ne sont disponibles qu’à partir de Windows 2003. La première option enregistre les informations dans une partition particulière appelée « ForestDnsZones » qui est répliquée entre tous les serveurs contrôleur de domaine de la forêt. La zone DNS de la forêt « _msdsc» est depuis 2003 enregistrée par défaut dans la partition « ForestDnsZones ». La 2ème option est une autre partition apparue avec 2003 : « DomainDNSZones », répliquée entre tous les contrôleurs de domaine du même domaine. La zone DNS du domaine est depuis 2003 stocké dans cette zone. Pour finir la 4ème option permet de stocker la zone DNS dans une partition d’application personnalisée.

Interdire les mises à jour non sécurisées sur les zones DNS

Lorsque vous connectez un poste client, soit il utilise une adresse IP fixe, soit il en obtient une depuis un serveur DHCP. Dans les paramètres réseaux il dispose d’une adresse de serveur DNS afin de résoudre les noms complets. Si l’option « enregistrer les adresses de cette connexion dans les systèmes DNS » est activée dans les propriétés TCP/IP de la carte réseau, il va essayer d’enregistrer son nom et son adresse sur le serveur DNS. 

Pour cela il faut que le poste utilise en premier un serveur DNS qui a les droits d’écriture dans les zones. C’est le cas pour les zones intégrées Active Directory et pour une zone primaire. Néanmoins si n’importe quel poste peut s’enregistrer sans contrôle la zone DNS risque de vite contenir des informations erronées. Il est donc possible de validité l’identité du demandeur avant l’enregistrement en acceptant que des mises à jour dynamiques sécurisées.

Pour configurer les mises à jour sécurisées sur une zone DNS intégrée Active Directory procédez dans l’ordre :

  • Ouvrez la console DNS
  • Faites un clic droit sur le nom de la zone DNS et sélectionner « propriétés » dans le menu contextuel.
  • Sous « général », dans « mises à jour dynamiques » sélectionner « sécurisé uniquement » puis valider par « OK ».

Interdire ou autoriser les transferts de zone 

Le transfert de zone permet de copier une zone et ses enregistrements d’un serveur DNS en lecture-écriture (zone intégrée AD ou zone primaire non intégré) en tant que zone secondaire en lecture uniquement sur un serveur DNS tierce. Par défaut, il est recommandé de ne pas autoriser le transfert de zone vers des serveurs tierce, mais en cas de besoin il est préférable de limiter le nombre de serveurs soit par l’adresse IP, soit en ajoutant le nom comme serveur de nom pour la zone (enregistrement NS). Pour configurer le transfert de zone :

  • Ouvrez la console DNS
  • Clic droit sur le nom de la zone puis sélectionnez « propriétés »
  • Dans transfert de zone cocher ou décocher « autoriser les transferts de zone ».
  • Utilisez de préférence l’option « uniquement vers les serveurs listés dans l’onglet serveur de nom » (dans ce cas il faudra ajouter vers serveur DNS dans la partie serveurs de noms) ou « uniquement vers les serveurs suivants » et indiquer les adresses IP des serveurs.

Utilisation des zones de recherches inversées

Les zones de recherches inversées permettent de résoudre une adresse IP vers un nom DNS. Elles ne sont pas indispensables à Active Directory et par défaut il n’existe pas de zone inversée.

Pour créer une zone de recherche inversée, ouvrez la console de gestion des services DNS « dnsmgmt.msc », puis dans le volet de navigation, faites un clic droit sur « zones de recherches inversées » et sélectionnez « nouvelle zone ».

Dans l’« assistant nouvelle zone », sur la page « type de zone » sélectionnez « zone principale ».

Dans « étendue de la zone de réplication de Active Directory », vous pouvez déterminer si vous souhaitez répliquer la zone vers tous les contrôleurs de domaine du domaine ou de la forêt. 

Sélectionnez le type d’adressage pour la zone entre IPv4 ou IPv6.

Dans la partie identifiant réseau (« ID réseau »), indiquez la plage d’adresses correspondant à votre zone de recherche. Par exemple si vous utilisez la plage 172.21.x.x avec un masque de sous réseau sur 16 bits, vous n’indiquez que « 172.21 » et vous laisserez vides les cases suivantes. Si vous utilisez le sousréseau « 192.168.1.0 » avec un masque sur 24 bits vous indiquerez « 192.168.1 ».

Sur la page « mise à jour dynamique », sélectionner si vous autorisez les mises à jour sécurisées pour les zones intégrées Active Directory uniquement, ou toutes les mises à jour ou aucune.

Sur la page « fin de l’assistant nouvelle zone » cliquez sur terminer.

Configurer des redirecteurs DNS

Les redirecteurs DNS permettent au serveur DNS de résoudre des noms de domaines qui ne proviennent pas de votre environnement. Pour que les redirecteurs fonctionnent il est nécessaire d’ouvrir le port 53 vers le serveur sur lequel vous allez envoyer des demandes de résolutions de noms. Il y a deux types de redirecteur que vous pouvez implémenter :

  • Les redirecteurs génériques au niveau du serveur DNS qui redirige les requêtes pour des noms qui n’appartiennent pas à votre domaine et pour lequel vous n’avez pas défini de redirecteur spécifique. Ce type de redirecteur permet entre autres de faciliter la résolution des noms sur internet.
  • Les redirecteurs conditionnels qui permettent de définir un serveur DNS spécifique pour un nom de de domaine précis. Ce type de redirecteur peut être utilisé pour mettre en œuvre une relation d’approbation entre les 2 environnements. Les redirecteurs conditionnels peuvent être automatiquement répliqués sur l’ensemble des contrôleurs de domaine de la forêt ou du même domaine.

Pour créer un redirecteur afin de faciliter la résolution sur internet, ouvrez la console DNS, faites un clic droit sur le nom du serveur dans la zone à gauche et sélectionnez « propriétés ». Sur la page « redirecteurs », cliquez sur modifier :

Dans la page « modifier les redirecteurs », renseignez l’adresse IP du serveur DNS puis validez par « OK ».

Pour créer un redirecteur conditionnel, allez dans « redirecteurs conditionnels » dans la partie gauche de la console DNS, puis clic droit et sélectionnez « Nouveau redirecteur conditionnel » :

Indiquez le nom de domaine DNS pour lequel vous souhaitez rediriger les requêtes, puis indiquez les adresses IP des serveurs qui gèrent ces zones :

Depuis la version Windows Serveur 2008, il est possible d’enregistrer les redirecteurs conditionnels dans une des partitions Active Directory comme pour les zones DNS, ce qui permet de les répliquer sur les autres contrôleurs de domaine. Il n’est donc pas nécessaire de les configurer sur tous les serveurs contrairement à Windows Serveur 2000 ou 2003.

Vous pouvez tester vos redirecteurs avec la commande « Ping » ou « nslookup » :

Les « zones de stub » sont une autre alternative aux redirecteurs conditionnels. Ils sont comparables à un redirecteur conditionnel dynamique, la liste des serveurs DNS qui gère la zone et enregistré dans cette zone.

Gestion des suffixes DNS

Les services DNS permettent la résolution des noms longs (FQDN) utilisés par les services Active Directory. Dans les domaines NT avant l’arrivée de Windows 2000 la résolution de nom utilisé les noms courts NetBIOS et le service en charge de cette fonction était WINS utile lorsque le domaine s’étend sur plusieurs sousréseaux. La résolution de nom par broadcast n’est pas suffisante pour résoudre des noms courts dans un même sous réseau. 

Même dans Windows 2016 il est toujours possible de mettre en œuvre la résolution de nom court par les services WINS. Néanmoins ces services sont de nettement moins utilisés et il est possible de s’appuyer sur la résolution de nom DNS pour résoudre des noms courts en respectant certaines conditions. Le principe n’est pas très complexe, pour résoudre le nom court « monordinateur » présent dans le domaine « mondomaine.lan », l’ordinateur va ajouter au nom de la machine le suffixe DNS et effectuer une recherche sur le nom

« monordinateur.mondomaine.lan ». Un poste client membre du domaine, utilise par défaut le nom du domaine auquel il appartient mais il est possible d’ajouter des suffixes supplémentaires.

  Les noms DNS ne peuvent excéder 256 caractères au total et chaque partie délimitée par «. ». Une partie limitée par un « . » ne peut excéder 64 caractères. Pour les noms NetBIOS la limite est de 15 caractères. Si vous souhaitez faciliter la résolution de nom court par les services DNS la première règle à respecter et de ne pas utiliser de nom DNS dont la première partie dépasse 15 caractères.

Si vous souhaitez mettre en place de la résolution de nom court sur plusieurs domaines il est impératif d’établir une convention de nom afin que chaque nom court soit unique dans votre environnement. Si vous utilisez les mêmes noms dans plusieurs domaines la première occurrence trouvée sera prise en compte et l’ordre des suffixes DNS aura une importance sur le résultat.

Par défaut les paramètres des cartes réseaux gèrent automatiquement le suffixe DNS du domaine auquel le poste appartient et des domaines parents. Il est possible de modifier les options de suffixes DNS pour mettre en place une liste personnalisée de suffixes.

Le suffixe DNS d’un poste et définit dans les propriétés systèmes, que l’ordinateur soit membre ou non d’un domaine. Néanmoins dans un domaine le suffixe DNS est identique au nom complet du domaine. Même s’il est possible de le modifier il n’est pas recommandé de modifier cette valeur pour un ordinateur membre d’un domaine.

Par exemple si vous avez un poste « Client10 » dans votre domaine et que vous faites un « Ping » du nom court, le système résoudra en réalité le nom « client10.htrab.lan » ou htrab.lan est le suffixe DNS du domaine.

Si vous souhaitez mettre en place une liste personnalisée de suffixe DNS, vous pouvez utiliser le paramètre suivant dans les stratégies de groupe :

 « Configuration ordinateur \ Stratégies \ Modèles d’administration \ Réseau \ Client DNS ».

La valeur à modifier est « Liste de recherche de suffixe DNS ».

Le paramètre est défini dans la partie configuration d’ordinateur et doit donc être appliqué à des unités d’organisations contenant des ordinateurs.

Recommandation sur les zones DNS

Il est recommandé de tenir compte des éléments suivants :

  • Utiliser les services DNS sur vos contrôleurs de domaine plutôt que des serveurs DNS tiers
  • Utiliser des zones intégrées Active Directory 
  • Éviter de créer des entrées locales dans les fichiers host sur les serveurs
  • Créer des redirecteurs DNS pour la résolution des noms vers internet ou vers d’autres domaines
  • N’autoriser que les mises à jour sécurisées 
  • Interdire ou limiter le transfert de zone par défaut pour l’ensemble de vos zones. Si vous devez mettre en place un transfert de zone vers un DNS secondaire limiter le transfert au serveur en question
  • Configurer le nettoyage automatique des enregistrements DNS
  • Ne pas désactiver la protection contre l’empoisonnement du cache.
Retour en haut