21/10/2024

Système

Windows Server : comment restaurer une zone DNS ?

I. Présentation

Dans cet article, nous allons découvrir comment restaurer une zone DNS sur une machine Windows Server ou un contrôleur de domaine Active Directory.

Dans un précédent article, intitulé "Active Directory : comment automatiser la sauvegarde des zones DNS ?", nous avons discuté de l'importance du rôle DNS dans un environnement Windows sous Active Directory, ainsi que des avantages de la sauvegarde DNS. En effet, la sauvegarde régulière des zones DNS à l'aide d'une tâche planifiée et d'un script PowerShell permet de pouvoir réagir rapidement en cas de panne. Ceci permet aussi d'assurer une continuité de service en récupérant les données les plus récentes.

La restauration d'une zone DNS sur Windows Server peut être effectuée à partir d'un fichier de sauvegarde au format texte ou à partir des informations stockées dans l'Active Directory. Pour ce second cas, la zone DNS doit impérativement être stockée dans l'Active Directory pour que ce soit possible. Ici, nous partons du principe que ce n'est pas le cas (tout dépend de la configuration de la zone DNS).

Cet article évoque la première méthode basée sur un fichier de sauvegarde, tandis qu'un autre article évoquera la seconde méthode.

II. Restaurer une zone DNS : quels avantages ?

La restauration d'une zone DNS offre plusieurs avantages significatifs :

  • Gain de temps : elle permet de retrouver un service fonctionnel rapidement, évitant de passer des heures à recréer la zone et à attendre l'enregistrement des nouvelles entrées, notamment les entrées statiques ou les alias, ainsi que les enregistrements de transfert de zones, TXT ou MX.
  • Précision : il est possible de consulter les derniers enregistrements pour vérifier une information spécifique ou restaurer uniquement celle-ci.
  • Disponibilité : les zones intégrées à l'AD restent disponibles dans la partition logique DNS et peuvent être restaurées à l'aide des commandes PowerShell.

Rappel : la restauration des zones DNS à partir d'Active Directory sera traitée dans un prochain article. Toutefois, cette méthode peut ne pas être applicable en cas de conflit, par exemple, pour récupérer une ancienne adresse d'un serveur. Les enregistrements et zones récupérés à partir de la corbeille contiendront les dernières informations connues. Si une adresse a été mal renseignée, elle sera restaurée telle quelle, ce qui diffère de la méthode de restauration à une date précise.

La restauration peut se faire à l'aide des commandes PowerShell ou de l'interface graphique. Il est également possible de consulter les sauvegardes pour vérifier une information sans modifier la zone, ce que nous allons explorer ensemble.

Un dernier avantage avec cette méthode basée sur un fichier de sauvegarde : vous pouvez restaurer la zone à la date de votre choix, en fonction des sauvegardes disponibles. Cela apporte plus de souplesse.

III. Explorer les sauvegardes de zone DNS

Grâce à un éditeur de texte comme Notepad++, il est simple de parcourir les anciennes zones DNS enregistrées.

Rendez-vous dans le dossier de vos sauvegardes de zone DNS. Par défaut, il s’agit de ce répertoire :

C:\Windows\System32\dns\backup

Choisissez la sauvegarde correspondant à votre choix (par exemple, par date), puis ouvrez le fichier à l'aide de bloc-notes ou un éditeur de texte.

Une fois ouvert, vous pouvez retrouver l'information souhaitée. Par exemple, pour notre cas, nous désirons retrouver le type d'enregistrement ainsi que l'adresse de notre serveur Nagios à une date précise.

Une fois terminé, fermez le fichier. Aucune modification ne sera appliquée sur le DNS en cours. Notez que vous devez modifier les informations manuellement ou à l'aide de PowerShell. Comme dans notre cas à partir de l'interface graphique.

Note : Si plusieurs opérations sont nécessaires, par exemple, recréer uniquement les enregistrements des serveurs commençant par "srv-cluster-iisXX", vous devriez créer un script capable de lire le fichier « .txt » et d'enregistrer ces informations. Bien que cela ne rentre pas dans le cadre de cet article, car il s'agit d'une restauration partielle spécifique à chaque entreprise, il est recommandé d'exécuter ce script sur le DC ayant le rôle PDC si vos DNS sont hébergés sur les contrôleurs de domaine.

IV. Restauration d'une zone DNS

Nous allons maintenant aborder la méthode de restauration d'une zone DNS entière. Malheureusement, il n'est pas possible de restaurer uniquement une partie du fichier, à moins de créer votre propre script comme évoqué précédemment.

Notez bien que la restauration n'inclura pas les informations récentes, qui seront perdues. Il n'est pas possible de fusionner ces dernières, car la zone devra être supprimée puis recréée à partir du fichier de sauvegarde à la date souhaitée. Par exemple, si des enregistrements ont été effectués manuellement le matin et que vous revenez à une sauvegarde datant de deux jours, cela pourrait entraîner des problèmes de communication avec les serveurs concernés jusqu'à ce qu'ils soient enregistrés de nouveau.

Avertissement : certaines entreprises restaurent la zone sur un serveur non-PDC puis forcent la réplication à partir d'un serveur PDC pour tenter de fusionner les enregistrements récents avec les anciens. Cependant, cette méthode n'est ni officielle ni recommandée, car un conflit d'horodatage sur des enregistrements clés pourrait empêcher le bon fonctionnement du DNS, surtout s'il s'agit d'une zone principale du domaine.

A. Supprimer la zone DNS à restaurer

Pour commencer, vous devez supprimer votre zone DNS. Assurez-vous qu'une sauvegarde a été faite auparavant.

Faites un clic droit sur la zone puis choisissez « Supprimer ». Dans notre cas, la zone principale « info.lab ».

Acceptez ensuite le message d'avertissement à deux reprises. Une première fois :

Puis, une seconde fois :

Retournez à la console DNS puis actualisez, vous remarquez que la zone n'existe plus.

Si vous avez plusieurs contrôleurs de domaine, il faudra forcer la synchronisation pour prendre en compte ce changement. Entrez la commande suivante dans un terminal en mode administrateur.

repadmin /syncall /A /e /P

B. Préparer le fichier de zone à restaurer

Nous devons maintenant préparer le fichier de restauration. Rendez-vous dans le dossier contenant la sauvegarde de votre zone, puis copiez ce fichier dans le répertoire par défaut du serveur DNS.

C'est ce répertoire qui est utilisé pour localiser le fichier de sauvegarde.

Une fois la copie effectuée, renommer l'ancien fichier de zone en « .old » s'il est toujours présent.

Renommez le fichier copié en indiquant le nom de la zone à restaurer en ajoutant l'extension « .dns » à la fin, comme illustré dans la capture suivante.

Une fois cette étape terminée, nous allons créer une nouvelle zone et y intégrer notre fichier de sauvegarde.

C. Créer une nouvelle zone à partir de la sauvegarde

Rendez-vous sur votre serveur DNS et créez une nouvelle zone.

Faites un clic droit sur la section correspondant au type de zone que vous souhaitez restaurer, comme "Zones de recherche directes" dans notre cas, et cliquez sur « Nouvelle zone… ».

Cliquez sur « Suivant » :

Choisissez le type de zone que vous souhaitez restaurer. Dans notre cas, c'est une "Zone principale", assurez-vous de décocher la case "Enregistrer la zone dans Active Directory" pour le moment, puis cliquez sur « Suivant ».

Entrez le nom de votre zone à restaurer, puis cliquez sur « Suivant ».

Cochez l'option « Utiliser un fichier existant », et entrez le nom du fichier de sauvegarde précédemment créé. Par défaut, le DNS recherchera le fichier correspondant dans le chemin :

%systemroot%\system32\dns

Clique ensuite sur « Suivant » :

Il est possible d'indiquer un autre chemin ou un sous-dossier pour le fichier de sauvegarde. Toutefois, ce dernier sera utilisé pour toutes les modifications futures, ce qui équivaut à déplacer le fichier DNS du chemin par défaut.

Cela pourrait créer des problèmes en cas d'indisponibilité de ce chemin. Les administrateurs avertis sont libres de choisir leur méthode, certains utilisent même un partage, bien que cela ne soit ni recommandé ni officiel. Je ne conseille pas aux lecteurs d'IT-Connect de procéder ainsi.

Choisissez l'option "Ne pas autoriser les mises à jour". Nous activerons cette option une fois la zone restaurée, afin d'empêcher tout enregistrement pendant la restauration, surtout pour les zones comportant de nombreux éléments.

Cliquez ensuite sur « Terminer ».

Retournez sur votre serveur DNS, puis redémarrez le service. Cela garantira une bonne intégration de la zone.

Vous remarquerez que notre zone a bien été restaurée et que tous les enregistrements sont présents.

Rendez-vous dans les « Propriétés » de la zone.

Dans l'onglet « Général », cliquez sur « Modifier » au niveau du « Type de zone ». Puis cochez la case nommée « Enregistrer la zone dans Active Directory ».

Faites ceci si votre zone était précédemment enregistrée dans AD. Si ce n'est pas le cas, passez cette étape.

Pour rappel, une zone intégrée dans Active Directory est une zone répliquée entre les différents contrôleurs de domaine.

Validez par « OK » le message d'avertissement.

N'oubliez pas de remettre le type de mises à jour correspondant à votre stratégie d'entreprise. Par défaut, autorisez les « Mises à jour dynamiques » en mode « Sécurisé uniquement ».

Appuyez ensuite sur "Appliquer" puis "OK".

Après avoir terminé la restauration de la zone DNS, nous devrions synchroniser les modifications sur tous les contrôleurs de domaine. Cela garantit que les données DNS sont cohérentes dans tout l'environnement.

Pour ce faire, exécutez la commande "repadmin" suivante dans un terminal en mode administrateur :

repadmin /syncall /AdeP

D. Vérification du bon fonctionnement

Vous pouvez utiliser la commande « nslookup » en interrogeant un serveur pour valider le bon fonctionnement. Par exemple :

nslookup nom_du_serveur

Si vous souhaitez en savoir plus sur l'outil nslookup, consultez cet article :

Vérifier l'intégration de la zone à l'aide de la commande PowerShell suivante :

Get-DnsServerZone -Name "nom_de_la_zone"

Utilisez aussi la commande DCdiag suivante pour effectuer un test DNS et valider la cohérence.

dcdiag /test:DNS

V. Conclusion

Dans cet article, nous avons vu comment restaurer une zone DNS à l’aide d’un fichier de sauvegarde. Bien que cette étape soit moins courante dans les entreprises, elle doit être intégrée dans le plan de reprise d'activité (PRA) du contrôleur de domaine, surtout si la zone est intégrée dans AD.

Il est important de tester régulièrement cette procédure et de la documenter. N'oubliez pas d'effectuer fréquemment des sauvegardes de toutes les zones à l'aide du script expliqué dans l'article précédent.

Dans un prochain article, nous verrons comment restaurer une zone intégrée dans Active Directory à l'aide de la corbeille.

author avatar
Mehdi DAKHAMA Consultant et formateur
Consultant et formateur expert Windows Server et Cloud Azure. Chercheur en Cybersécurité.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.