Mettre à jour les root hints DNS Active Directory : guide complet pour Windows Server

Dans Active Directory, la cohérence de la résolution DNS dépend en partie d’une liste de serveurs racine fiable. Découvrez ici comment identifier la source réelle des root hints, les mettre à jour correctement et maintenir un environnement Windows Server robuste et sécurisé.

Sommaire

Mise à jour des root hints sur un serveur DNS Windows intégré à Active Directory

1. Problématique rencontrée

Après une modification manuelle dans la console DNS Manager, l’administrateur observe :

  1. Le fichier %systemroot%\System32\Dns\cache.dns ne reflète aucune modification.
  2. La vue DNS Manager ▸ Root Hints affiche un contenu différent de celui du fichier.
  3. nslookup b.root-servers.net retourne encore d’autres adresses IP.

Le doute s’installe : où Windows stocke‑t‑il exactement ces informations, comment les modifie‑t‑on de façon pérenne, et pourquoi ces divergences existent‑elles ?

2. Où sont réellement stockés les root hints ?

ÉlémentRôle réelPourquoi il diffère
cache.dnsFichier fallback lu une seule fois au démarrage si le contrôleur de domaine n’a pas déjà une copie dans AD.
Jamais mis à jour automatiquement.
Une fois les données présentes dans AD, toute modification manuelle de cache.dns est ignorée.
DNS Manager ▸ Root HintsVue directe des objets stockés dans l’annuaire, sous :
CN=MicrosoftDNS,CN=System,DC=<domaine>
Cette liste est donc l’unique source de vérité en environnement AD.
nslookupInterroge la résolution normale ; reçoit des réponses anycast et/ou mises en cache.Les adresses retournées fluctuent (IPv4/IPv6, plusieurs sites anycast), sans lien direct avec le contenu des hints.

3. Pourquoi mettre à jour les root hints ?

  • Fiabilité DNS : la liste officielle évolue (ajout/retrait d’adresses anycast, décommissionnements).
  • Performance : pointer vers une IP obsolète rallonge le temps de résolution, ou provoque des échecs.
  • Sécurité : une entrée erronée peut être exploitée pour détourner la résolution (homographes, re‑routing).
  • Conformité : certaines normes internes exigent une vérification périodique.

4. Méthode recommandée (AD‑intégré)

Étape 1 : obtenir la liste officielle

Téléchargez ou récupérez hors ligne le fichier named.root (également appelé root.hints) fourni par l’IANA/InterNIC. Copiez‑le, par exemple, dans C:\Temp\named.root.

Étape 2 : mettre à jour un seul contrôleur de domaine

Via l’interface graphique

DNS Manager ▸ <Serveur> ▸ Root Hints ▸ Remove ▸ Add ▸ From File…

Ou en PowerShell :

Import-DnsServerRootHint -File "C:\Temp\named.root"

Étape 3 : laisser la réplication AD faire son travail

La nouvelle liste est stockée comme objets AD et répliquée selon votre topologie.
Pour accélérer :

repadmin /syncall /AdeP

Étape 4 : vérifier la cohérence

Get-DnsServerRootHint
nslookup b.root-servers.net

5. Scénarios spéciaux et commandes utiles

  • dnscmd /ResetRootHints : réinitialise la liste AD avec les valeurs par défaut installées par Microsoft.
  • Environnement non‑AD : copiez le fichier cache.dns mis à jour sur chaque serveur, puis redémarrez le service DNS (net stop dns & net start dns).
  • Contrôleur isolé : si la réplication AD est coupée, veillez à importer manuellement les hints sur le site isolé.

6. Root hints vs. Forwarders : bien choisir

CaractéristiqueRoot HintsDNS Forwarders
DestinationServeurs racine publics gérés par l’IANADNS spécifiques (ex. serveur ISP ou filtrage corporate)
Contrôle interneFaible : dépend d’InternetÉlevé : vous choisissez le(s) serveur(s)
PerformanceDirect ; multiples sites anycastPeut être plus rapide si local ou en cache massif
RedondanceTrès élevée (13 noms, >400 instances anycast)Dépend du nombre de forwarders ajoutés
Sécurité/FiltrageAucun filtrage ; brutPossible (filtrage contenus, RPZ, DoT/DoH)

Bonnes pratiques : conservez des root hints même si vous utilisez des forwarders ; ils serviront de repli en cas de panne du forwarder.

7. Automatisation avancée PowerShell

Pour des environnements multi‑forêts ou pour intégrer la mise à jour dans une CI/CD d’infrastructure, un petit script :

# Chemins
$rootHintPath = "C:\Ops\root_hints\named.root"
$dcList       = Get-ADDomainController -Filter *

foreach (\$dc in \$dcList) {
Invoke-Command -ComputerName \$dc.HostName -ScriptBlock {
param(\$file)
Import-DnsServerRootHint -File \$file -PassThru
} -ArgumentList \$rootHintPath
}

Vous pouvez déclencher ce script via une tâche planifiée mensuelle ou via votre pipeline Azure DevOps/GitHub Actions.

8. Validation périodique : quoi surveiller ?

  • Événements DNS (100‑199) dans le journal DNS Server : toute erreur de transmission vers un serveur racine y apparaît.
  • Get-DnsServerDiagnostics : vérifiez que EnableRootHints est à $True et que BindSecondaries est correctement configuré.
  • Resolve-DnsName . -Server <DC> -NoHostsFile : le point (« . ») interroge directement les racines.
  • Analyse Wireshark : filtrez dns && ip.dst == <root hint IP> pour valider les échanges UDP et TCP 53.

9. FAQ

Dois‑je redémarrer le service DNS après Import-DnsServerRootHint ? Non. Le changement est instantané et visible immédiatement dans Get-DnsServerRootHint.

<dt>Comment savoir quand la liste officielle change ?</dt>
<dd>Surveillez le fichier <code>named.root</code> publié par l’IANA ; il est mis à jour à chaque ajout ou retrait d’instance anycast (quelques fois par an).</dd>

<dt>Puis‑je supprimer totalement les <em>root&nbsp;hints</em> et n’utiliser que mes forwarders ?</dt>
<dd>Oui, mais c’est risqué&nbsp;: en cas de panne de vos forwarders, votre résolution externe est bloquée. Laisser les racines en secours est conseillé.</dd>

<dt>Combien de temps un contrôleur de domaine met‑il pour répliquer les nouveaux <em>hints</em> ?</dt>
<dd>Selon votre topologie : intranet gigabit → quelques secondes ; lien WAN lent ou programme de réplication programmé → jusqu’à 180 minutes (valeur par défaut du <em>tombstone interval</em>).</dd>

10. Bonnes pratiques de sécurité

  1. Restreindre l’accès à la console DNS et aux cmdlets PowerShell ; utilisez des groupes AD dédiés (DNSAdmins).
  2. Activer la journalisation DNS > Advanced Logging pour suivre toute modification inattendue des enregistrements racine.
  3. Superviser la résolution : un temps de réponse soudainement long vers « . » peut signaler un hint obsolète ou bloqué.
  4. Signature DNSSEC côté client : elle ne signe pas les hints mais protège la chaîne suivante de résolution, réduisant l’exposition.

11. Quand faut‑il répéter l’opération ?

Les serveurs racine sont stables ; une révision bi‑annuelle suffit dans 95 % des cas. Toutefois, planifiez une vérification immédiate si :

  • Vous migrez vers une nouvelle version de Windows Server.
  • Des symptômes de résolution aléatoire apparaissent (timeouts, erreurs ServFail).
  • Une alerte de sécurité annonce la mise hors service d’un serveur racine.

12. Résumé

Dans un domaine Active Directory, cache.dns n’a plus aucun rôle opérationnel. Les root hints vivent dans l’annuaire, se répliquent automatiquement et se mettent à jour via la console DNS Manager, dnscmd ou PowerShell. Suivez la méthode décrite pour garantir un DNS rapide, fiable et sécurisé sur l’ensemble de vos contrôleurs de domaine.

Sommaire