Chapitre 1016 minIntermédiaire
Active Directory, DNS et DHCP redondants
Par Josselyn C., prof de BTS SIO. Mis à jour le .
À la fin de ce chapitre, tu sauras
- ajouter un second contrôleur de domaine et vérifier la réplication ;
- transférer ou saisir les rôles FSMO ;
- configurer les clients et les serveurs pour un DNS redondant ;
- mettre en place le basculement DHCP et son relais.
5 exercices corrigés
Rendre l'annuaire, le DNS et le DHCP redondants, c'est installer au moins deux serveurs pour chacun de ces services et faire en sorte que les clients utilisent automatiquement le second quand le premier ne répond plus. Ces trois services sont les dépendances de presque tout le reste : sans DNS, plus aucun nom ne se résout ; sans annuaire, plus personne ne s'authentifie ; sans DHCP, les nouveaux postes n'obtiennent plus d'adresse. Ce chapitre montre comment doubler les contrôleurs de domaine Active Directory, le DNS sous Windows et sous Linux, et le DHCP avec le basculement de Windows Server.
Trois services, trois façons de tomber
Les pannes de ces services ne se voient pas toutes au même moment, ce qui piège les débutants :
| Service en panne | Ce que voient les utilisateurs | Quand |
|---|---|---|
| DNS | Plus aucun site, plus aucun partage par son nom, échecs d'authentification | Immédiatement, dès que les caches expirent |
| Annuaire (Active Directory) | Impossible d'ouvrir une session avec un compte qui ne s'est jamais connecté sur ce poste, d'accéder à de nouvelles ressources, d'appliquer les stratégies de groupe | Rapidement ; un utilisateur déjà venu sur le poste peut encore ouvrir sa session grâce aux identifiants mis en cache |
| DHCP | Les nouveaux appareils n'obtiennent pas d'adresse ; les autres perdent la leur à l'expiration de leur bail | Progressivement : un bail Windows dure 8 jours par défaut, et un poste tente de le renouveler à la moitié de sa durée |
Une panne de DHCP peut donc passer inaperçue pendant des heures, jusqu'à ce qu'un visiteur ou un poste neuf ne puisse pas se connecter. C'est une raison de plus pour superviser chaque service, pas seulement les serveurs.
Deux contrôleurs de domaine
Active Directory est multi-maître : chaque contrôleur de domaine (DC) détient une copie modifiable de l'annuaire, et les modifications faites sur l'un sont répliquées vers les autres. Dans un même site, la réplication se déclenche par notification quelques secondes après une modification ; entre deux sites, elle suit la planification du lien de site (toutes les 180 minutes par défaut, réglable). Les postes trouvent les contrôleurs grâce à des enregistrements DNS de type SRV (par exemple _ldap._tcp.dc._msdcs.ravelle.lan) et choisissent un DC de leur site : si l'un ne répond plus, ils en utilisent un autre, sans configuration particulière.
Ajouter le second contrôleur. Sur SRV-AD2, un Windows Server membre du domaine :
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -DomainName "ravelle.lan" -InstallDns `
-SiteName "Siege" -Credential (Get-Credential "RAVELLE\admin-lina")
La commande demande le mot de passe du mode de restauration des services d'annuaire, installe le DNS, fait de SRV-AD2 un catalogue global (c'est le comportement par défaut), réplique l'annuaire depuis SRV-AD1, puis redémarre le serveur. Le cours Windows Server détaille l'installation du premier contrôleur.
Vérifier la réplication.
repadmin /replsummary # synthèse : aucun échec, des deltas de quelques minutes
repadmin /showrepl # détail par partenaire et par partition
dcdiag /test:replications # « a réussi le test Replications »
Get-ADDomainController -Filter * | Select-Object Name, IPv4Address, IsGlobalCatalog
Les rôles FSMO. Cinq opérations d'Active Directory ne peuvent pas être multi-maîtres : elles sont confiées à un seul contrôleur, le détenteur du rôle.
| Rôle | Portée | Ce qui se passe s'il est indisponible |
|---|---|---|
| Maître de schéma | Forêt | On ne peut plus modifier le schéma (rare) |
| Maître d'attribution des noms de domaine | Forêt | On ne peut plus ajouter ou supprimer de domaine (rare) |
| Maître RID | Domaine | Les DC finissent par manquer d'identifiants pour créer de nouveaux objets (après plusieurs centaines de créations) |
| Émulateur PDC | Domaine | Le plus vite regretté : source de temps du domaine, traitement prioritaire des changements de mot de passe et des verrouillages de comptes, éditeur par défaut des stratégies de groupe |
| Maître d'infrastructure | Domaine | Références entre domaines mal mises à jour (sans effet dans un domaine unique) |
netdom query fsmo dit qui détient quoi. Avant une maintenance de SRV-AD1, on transfère ses rôles proprement ; si SRV-AD1 est définitivement perdu, on les saisit sur SRV-AD2 :
# Transfert planifié (SRV-AD1 est en service)
Move-ADDirectoryServerOperationMasterRole -Identity "SRV-AD2" -OperationMasterRole PDCEmulator, RIDMaster
# Saisie, si SRV-AD1 ne reviendra jamais
Move-ADDirectoryServerOperationMasterRole -Identity "SRV-AD2" -OperationMasterRole PDCEmulator, RIDMaster, InfrastructureMaster, SchemaMaster, DomainNamingMaster -Force
L'heure, une dépendance cachée. L'authentification Kerberos échoue quand l'horloge d'un poste s'écarte de plus de cinq minutes de celle du contrôleur. Dans un domaine, les postes et les serveurs se synchronisent sur la hiérarchie des DC, et l'émulateur PDC du domaine racine se synchronise sur une source NTP externe fiable. Si les rôles changent de serveur, cette configuration doit suivre. w32tm /query /status affiche la source de temps d'une machine.
Pour une agence sans personnel informatique, un contrôleur de domaine en lecture seule (RODC) garde une copie locale de l'annuaire, non modifiable : les ouvertures de session continuent si le VPN tombe, sans exposer un DC complet dans un local peu protégé.
Un DNS qui survit à la panne d'un serveur
Côté serveurs Windows. Les zones intégrées à Active Directory sont stockées dans l'annuaire et répliquées avec lui. Chaque contrôleur de domaine qui porte le rôle DNS est serveur principal de la zone : on peut modifier un enregistrement sur n'importe lequel, et la modification arrive sur l'autre par la réplication de l'annuaire. Rien d'autre à configurer pour avoir deux serveurs DNS identiques.
Côté clients, c'est là que tout se joue : un poste qui ne connaît qu'un serveur DNS n'utilisera jamais le second.
- Les postes reçoivent les deux adresses par l'option DHCP 006 (serveurs DNS) : 10.10.20.10 et 10.10.20.11. Un poste interroge d'abord le premier, puis le second si le premier ne répond pas dans le délai (environ une seconde sous Windows).
- Chaque contrôleur utilise l'autre comme serveur DNS préféré, et sa propre adresse de bouclage (127.0.0.1) comme serveur auxiliaire : c'est la recommandation de Microsoft, qui évite qu'un DC redémarré attende indéfiniment son propre service DNS.
- Les serveurs Linux listent les deux serveurs dans leur configuration de résolution. Dans
/etc/resolv.conf, une ligneoptions timeout:1 attempts:2réduit le délai avant de passer au second.
Côté serveurs Linux (BIND). Sans Active Directory, on monte un serveur principal, où l'on modifie la zone, et un ou plusieurs serveurs secondaires, qui en reçoivent une copie par transfert de zone. Le principal prévient les secondaires à chaque modification (message NOTIFY), et les secondaires vérifient le numéro de série de la zone pour savoir s'ils doivent la recharger. Sur le secondaire, dans /etc/bind/named.conf.local :
zone "ravelle.lan" {
type secondary;
primaries { 10.10.20.10; };
file "/var/cache/bind/db.ravelle.lan";
};
Et sur le principal, la zone n'autorise le transfert qu'aux secondaires (allow-transfer { 10.10.20.11; };) : un transfert de zone ouvert à tous livrerait la liste complète des machines de l'organisation. N'oublie pas d'incrémenter le numéro de série du SOA à chaque modification : sinon, les secondaires gardent l'ancienne version. Le cours services réseau détaille la configuration de BIND.
Le basculement DHCP sous Windows Server
Le basculement DHCP (DHCP failover) associe deux serveurs DHCP Windows qui partagent, pour une ou plusieurs étendues, la même base de baux : chacun sait quelles adresses l'autre a distribuées. Si l'un tombe, l'autre continue de distribuer et de renouveler les baux de toute l'étendue. Deux modes existent :
| Mode | Principe | Usage |
|---|---|---|
| Équilibrage de charge (load balance), le mode par défaut | Les deux serveurs répondent, chacun à une part des clients (50/50 par défaut, réglable) | Deux serveurs sur le même site |
| Serveur de secours (hot standby) | Un serveur actif distribue les baux ; le partenaire n'intervient que si l'actif tombe, en puisant d'abord dans une réserve d'adresses (5 % de l'étendue par défaut) | Un serveur au siège, son secours sur un autre site |
Les paramètres à connaître :
- le MCLT (Maximum Client Lead Time, 1 heure par défaut) : la durée maximale dont un serveur peut prolonger un bail au-delà de ce que son partenaire connaît. Il fixe aussi le délai avant qu'un serveur s'approprie toute l'étendue quand son partenaire est déclaré hors service ;
- le passage automatique à l'état « partenaire hors service » (state switchover interval) : sans lui, un serveur qui ne joint plus son partenaire reste dans l'état « communication interrompue », où il ne peut distribuer que sa part d'adresses libres. Avec lui, il considère le partenaire comme hors service au bout du délai choisi, puis, après le MCLT, distribue toute l'étendue ;
- le secret partagé, qui authentifie les messages entre les deux serveurs (sur le port TCP 647).
La configuration sur SRV-AD1, pour l'étendue du VLAN 10 :
Add-DhcpServerv4Failover -ComputerName "SRV-AD1" -Name "AD1-AD2" -PartnerServer "SRV-AD2" `
-ScopeId 10.10.10.0 -LoadBalancePercent 50 -MaxClientLeadTime 01:00:00 `
-AutoStateTransition $true -StateSwitchInterval 00:45:00 `
-SharedSecret "Un-Secret-Partage-Long"
Get-DhcpServerv4Failover -ComputerName "SRV-AD1"
La commande crée l'étendue sur SRV-AD2 et y recopie sa configuration. Pour un mode serveur de secours, on remplace -LoadBalancePercent 50 par -ServerRole Active -ReservePercent 5.
Le relais DHCP doit connaître les deux serveurs. Les postes du VLAN 10 ne sont pas dans le même réseau que les serveurs : c'est le relais DHCP du pare-feu (ou la commande ip helper-address d'un routeur Cisco) qui transmet leurs demandes. Il doit les envoyer aux deux serveurs. Un relais configuré vers SRV-AD1 seulement rend le basculement inutile : quand SRV-AD1 tombe, plus aucune demande n'arrive à SRV-AD2.
Avant le basculement : l'étendue fractionnée. Avant Windows Server 2012, on répartissait une étendue entre deux serveurs qui ne se parlaient pas, selon la règle des 80/20 : le premier distribue 80 % des adresses, le second les 20 % restants, sans chevauchement. Pour la plage .50 à .200 (151 adresses), cela donne .50 à .170 (121 adresses) sur le premier serveur et .171 à .200 (30 adresses) sur le second. La méthode marche encore avec deux serveurs DHCP Linux indépendants, mais le second ne peut pas renouveler les baux du premier, et sa petite plage peut s'épuiser pendant une longue panne.
Le DHCP redondant sous Linux
Le serveur ISC DHCP, longtemps standard sous Linux, n'est plus maintenu par son éditeur depuis la fin de 2022, et Debian 13 le marque comme obsolète. Son successeur, Kea (version 2.6 dans Debian 13), gère la haute disponibilité par deux bibliothèques d'extension (hooks) : libdhcp_lease_cmds.so, qui permet de manipuler les baux à distance, et libdhcp_ha.so, qui fait dialoguer les deux serveurs. Kea propose trois modes : équilibrage de charge, serveur de secours (hot-standby), et sauvegarde passive (un serveur actif qui envoie simplement ses baux à un ou plusieurs serveurs de secours). Les deux serveurs se surveillent mutuellement, et le survivant reprend toute l'étendue, comme sous Windows. À défaut, l'étendue fractionnée reste une solution simple.
Tester la redondance de ces services
Un test convaincant arrête le service, puis prouve que les clients continuent de travailler. Avec SRV-AD1 arrêté (ou ses services NTDS, DNS et DHCPServer stoppés) :
| Test | Commande ou action | Résultat attendu |
|---|---|---|
| Résolution de noms | Resolve-DnsName intranet.ravelle.lan depuis un poste | 10.10.20.30, réponse de 10.10.20.11 |
| Ouverture de session | Un utilisateur qui ne s'est jamais connecté sur ce poste ouvre une session | Session ouverte ; echo %LOGONSERVER% affiche \\SRV-AD2 |
| Stratégies de groupe | gpupdate /force | Mise à jour réussie |
| Bail DHCP | ipconfig /release puis ipconfig /renew | Une adresse de l'étendue, serveur DHCP 10.10.20.11 (ipconfig /all) |
| Nouvel appareil | Brancher un poste jamais vu | Adresse obtenue |
| Retour | Redémarrer SRV-AD1, puis repadmin /replsummary et Get-DhcpServerv4Failover | Réplication sans erreur, partenaires de nouveau en état normal |
Exercices
Exercice 1 sur 5 Quand la panne se voit-elle ? Réussi À revoir
Le seul serveur DHCP d'une PME tombe en panne le lundi à 9 h, sans que personne s'en aperçoive. Les baux durent 8 jours.
- Les postes déjà allumés perdent-ils leur adresse lundi à 9 h ?
- Qui est touché en premier ?
- Pourquoi cette situation est-elle dangereuse, et comment la détecter plus tôt ?
Voir la réponseMasquer la réponse de l'exercice 1
- Non. Un poste garde son adresse jusqu'à la fin de son bail. Il tente de le renouveler à la moitié de sa durée (4 jours), puis plus tard encore ; ces tentatives échouent, mais le bail reste valable jusqu'à son expiration.
- Les nouveaux appareils (un visiteur, un poste neuf, un téléphone) et les postes dont le bail expire pendant la panne, par exemple ceux restés éteints pendant des congés.
- La panne grandit en silence : chaque jour, de nouveaux baux expirent, jusqu'à toucher la majorité des postes. Une supervision du service DHCP (le service Windows est-il démarré ? une sonde obtient-elle une adresse ?) la détecterait dans la minute. Et un basculement DHCP la rendrait invisible.
Tu avais trouvé ?
Exercice 2 sur 5 Fractionner une étendue Réussi À revoir
L'étendue du VLAN 10 distribue les adresses de 10.10.10.50 à 10.10.10.200.
- Combien d'adresses contient-elle ?
- Découpe-la selon la règle des 80/20 entre deux serveurs indépendants.
- En mode serveur de secours avec une réserve de 5 %, combien d'adresses environ le partenaire garde-t-il pour les nouveaux clients pendant une panne de l'actif ?
Voir la réponseMasquer la réponse de l'exercice 2
- 200 − 50 + 1 = 151 adresses.
- 80 % de 151 ≈ 121 adresses : 10.10.10.50 à 10.10.10.170 (121 adresses) sur le premier serveur, et 10.10.10.171 à 10.10.10.200 (30 adresses) sur le second.
- 5 % de 151 = 7,55, soit 7 ou 8 adresses selon l'arrondi. C'est peu : elles suffisent pour les renouvellements et quelques nouveaux appareils, en attendant que le partenaire, une fois l'actif déclaré hors service et le MCLT écoulé, puisse distribuer toute l'étendue.
Tu avais trouvé ?
Exercice 3 sur 5 SRV-AD1 ne reviendra pas Réussi À revoir
SRV-AD1, qui détenait les cinq rôles FSMO, a perdu ses disques et sa sauvegarde est inutilisable. SRV-AD2 fonctionne.
- Les utilisateurs peuvent-ils encore travailler ?
- Quels rôles faut-il récupérer en priorité, et avec quelle commande ?
- Que fais-tu de SRV-AD1 s'il redémarre miraculeusement une semaine plus tard ?
Voir la réponseMasquer la réponse de l'exercice 3
- Oui, pour l'essentiel : SRV-AD2 a une copie complète et modifiable de l'annuaire, il est catalogue global et serveur DNS. Les ouvertures de session, la résolution des noms et l'accès aux ressources continuent (si les postes connaissent bien SRV-AD2 comme second DNS).
- L'émulateur PDC d'abord (heure du domaine, mots de passe, verrouillages, stratégies de groupe), puis le maître RID. Comme SRV-AD1 ne reviendra pas, on les saisit :
Move-ADDirectoryServerOperationMasterRole -Identity "SRV-AD2" -OperationMasterRole PDCEmulator, RIDMaster, InfrastructureMaster, SchemaMaster, DomainNamingMaster -Force. On nettoie ensuite les traces de SRV-AD1 dans l'annuaire, on reconfigure la source de temps sur SRV-AD2, et on installe rapidement un nouveau second DC. - On ne le reconnecte pas au réseau : il se croirait toujours détenteur des rôles, avec un annuaire périmé. On le réinstalle entièrement avant de, éventuellement, le promouvoir à nouveau.
Tu avais trouvé ?
Exercice 4 sur 5 Configurer les DNS des cartes réseau Réussi À revoir
Indique les serveurs DNS préféré et auxiliaire à configurer sur la carte réseau de SRV-AD1 (10.10.20.10), sur celle de SRV-AD2 (10.10.20.11), et ceux que le DHCP doit distribuer aux postes. Justifie.
Voir la réponseMasquer la réponse de l'exercice 4
- SRV-AD1 : préféré 10.10.20.11 (l'autre DC), auxiliaire 127.0.0.1.
- SRV-AD2 : préféré 10.10.20.10, auxiliaire 127.0.0.1.
- Postes (option 006) : 10.10.20.10 et 10.10.20.11.
Chaque DC interroge d'abord son partenaire, ce qui évite qu'au redémarrage il attende son propre service DNS pas encore prêt, et il garde sa propre adresse en secours. Les postes connaissent les deux serveurs, pour continuer à résoudre les noms si l'un tombe. Ne jamais donner aux postes ou aux DC un DNS externe (celui de l'opérateur, par exemple) : il ne connaît pas la zone ravelle.lan, et les postes ne trouveraient plus les contrôleurs.
Tu avais trouvé ?
Exercice 5 sur 5 Un basculement qui ne bascule pas Réussi À revoir
Le basculement DHCP est configuré entre SRV-AD1 et SRV-AD2, en équilibrage de charge, et Get-DhcpServerv4Failover affiche un état normal. Pourtant, pendant une maintenance de SRV-AD1, les postes du VLAN 10 n'obtiennent plus d'adresse. Les postes du VLAN 20, eux, en obtiennent.
- Quelle est la cause la plus probable ?
- Comment la corriger, et comment la vérifier ?
Voir la réponseMasquer la réponse de l'exercice 5
- Le relais DHCP du VLAN 10 (sur le pare-feu, ou
ip helper-addresssur le routeur) ne transmet les demandes qu'à SRV-AD1. SRV-AD2 ne les reçoit jamais. Les postes du VLAN 20, dans le même réseau que les serveurs, envoient leur demande en diffusion directement aux deux. - Ajouter 10.10.20.11 comme second serveur dans la configuration du relais. Pour vérifier : arrêter le service DHCP sur SRV-AD1, puis
ipconfig /releaseetipconfig /renewsur un poste du VLAN 10, et lire dansipconfig /allque le serveur DHCP est 10.10.20.11. Une capture Wireshark sur SRV-AD2 montrerait aussi les demandes relayées, avec l'adresse de la passerelle du VLAN 10 dans le champ de l'agent relais.
Tu avais trouvé ?