Serveur DHCP sous Windows Server : installation et basculement DHCP
Un seul serveur DHCP en panne, et plus aucun poste ne reçoit d'adresse. Le basculement DHCP de Windows Server partage les baux entre deux serveurs : installation, étendue, choix du mode et contrôles, sur un lab à deux serveurs.
Le serveur DHCP attribue automatiquement aux postes leur adresse IP, leur passerelle et leurs serveurs DNS. Windows Server sait le rendre redondant sans cluster : c'est le basculement DHCP (DHCP failover), une relation entre deux serveurs qui partagent les mêmes étendues et les mêmes baux.
Quelle version de Windows Server
L'ancienne version de cette page portait sur le DHCP de Windows Server 2012. D'après les pages de cycle de vie de Microsoft, le support étendu de Windows Server 2012, comme celui de Windows Server 2012 R2, a pris fin le 10 octobre 2023, et la troisième et dernière année de mises à jour de sécurité étendues (ESU) se termine le 13 octobre 2026. La documentation actuelle du basculement DHCP s'applique de Windows Server 2016 à Windows Server 2025 et précise que les deux partenaires doivent exécuter au moins Windows Server 2016. C'est la version de référence de cette page.
La topologie du lab
| Hôte | Rôle | Interface | Adresse |
|---|---|---|---|
dc01 | contrôleur de domaine lab.local, DNS | LAN | 192.168.10.10/24 |
dhcp01 | serveur DHCP, partenaire 1 | LAN | 192.168.10.21/24 |
dhcp02 | serveur DHCP, partenaire 2 | LAN | 192.168.10.22/24 |
gw01 | passerelle du réseau | LAN | 192.168.10.1/24 |
| clients | postes en DHCP | LAN | étendue 192.168.10.100 – 192.168.10.200 |
Les deux serveurs DHCP sont joints au domaine. Travaillez sur des machines virtuelles avec un instantané avant chaque étape, et sauvegardez la configuration DHCP avant de toucher un serveur de production.
Prérequis
D'après Microsoft :
- une version de Windows Server prise en charge ;
- une adresse IPv4 statique sur chaque serveur DHCP ;
- une plage d'adresses à distribuer ;
- un compte membre du groupe Administrateurs.
Installer et autoriser le serveur DHCP
Sur dhcp01 puis sur dhcp02, installez le rôle avec ses outils de gestion. Microsoft précise qu'aucun redémarrage n'est nécessaire :
Install-WindowsFeature DHCP -IncludeManagementTools
Dans un domaine, un serveur DHCP doit ensuite être autorisé dans Active Directory. Microsoft explique qu'un serveur non autorisé ne loue aucune adresse : c'est une protection contre un serveur pirate qui distribuerait de mauvaises adresses.
Add-DhcpServerInDC -DnsName dhcp01.lab.local -IPAddress 192.168.10.21
Add-DhcpServerInDC -DnsName dhcp02.lab.local -IPAddress 192.168.10.22
Get-DhcpServerInDC
La dernière commande liste les serveurs autorisés : les deux doivent y figurer.
Créer l'étendue et ses options
L'étendue se crée uniquement sur dhcp01 ; le basculement la copiera sur dhcp02.
Add-DhcpServerv4Scope -Name "LAN lab" -StartRange 192.168.10.100 -EndRange 192.168.10.200 -SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.10 -DnsDomain "lab.local"
Microsoft rappelle qu'au minimum le routeur et les serveurs DNS doivent être configurés. Les adresses distribuées sont privées ; celles des serveurs DNS viennent de la page sur le serveur DNS Windows Server et ses zones.
Choisir le mode de basculement
Deux modes existent, un seul par étendue :
| Mode | Fonctionnement selon Microsoft | Réglage par défaut | Pour quel cas |
|---|---|---|---|
| Équilibrage de charge (mode par défaut) | les deux serveurs répondent en même temps, selon un hachage de l'adresse MAC défini par le RFC 3074 | répartition 50:50 | deux serveurs sur le même site |
| Secours à chaud (hot standby) | un serveur actif sert les clients, l'autre n'émet de baux que si l'actif devient indisponible | 5 % des adresses réservées au serveur de secours | un serveur central qui couvre un site distant |
Dans les deux modes, un serveur qui perd le contact avec son partenaire renouvelle les baux existants pour une durée limitée, le délai maximal du client (MCLT, Maximum Client Lead Time), afin d'éviter qu'une même adresse soit attribuée deux fois.
Créer la relation de basculement
Depuis dhcp01, en mode équilibrage de charge :
Add-DhcpServerv4Failover -ComputerName "dhcp01.lab.local" -Name "dhcp01-dhcp02" -PartnerServer "dhcp02.lab.local" -ScopeId 192.168.10.0 -SharedSecret "<secret-partage>"
Pour le secours à chaud, ajoutez -ServerRole Standby ; la proportion réservée se règle avec -ReservePercent, et la répartition de l'équilibrage avec -LoadBalancePercent. Microsoft indique que -SharedSecret active l'authentification des messages entre partenaires, et qu'une confirmation est demandée car la valeur peut transiter en clair lors d'une gestion à distance.
Créez la relation depuis le serveur qui porte l'étendue complète : la réplication écrase les paramètres du partenaire.
Vérifier et entretenir
Get-DhcpServerv4Failover -ComputerName "dhcp01.lab.local" -Name "dhcp01-dhcp02"
Vérifiez dans le résultat le mode, le partenaire et les étendues concernées, puis contrôlez dans la console DHCP de dhcp02 que l'étendue y apparaît.
Le point le plus souvent oublié : une modification d'étendue ne se réplique pas toute seule. Microsoft demande de la répliquer manuellement vers le partenaire, toujours depuis le serveur qui a les bons paramètres, et, si les versions de Windows diffèrent, depuis le plus récent :
Invoke-DhcpServerv4FailoverReplication -ComputerName "dhcp01.lab.local" -Name "dhcp01-dhcp02"
Pour tester, arrêtez le service DHCP de dhcp01 et renouvelez le bail d'un client : dhcp02 doit répondre. Testez la réaction aux pannes en lab avant de compter dessus en production.
Limites à connaître
- DHCPv4 uniquement : les étendues DHCPv6 ne peuvent pas être mises en basculement ;
- deux serveurs au maximum par étendue ;
- les clients doivent joindre les deux serveurs, directement ou par un relais DHCP ; les partenaires peuvent être sur des sous-réseaux différents ;
- avec les mises à jour DNS dynamiques, les deux serveurs doivent utiliser les mêmes informations d'identification DNS, sinon le partenaire ne peut pas mettre à jour un enregistrement créé par l'autre.
Le relais DHCP et le serveur DHCP sous Linux sont traités dans la page sur le DHCP et le relais DHCP sous Debian. Pour savoir sous quelle adresse publique sort ce réseau privé, voyez comment afficher son IP publique en PowerShell. Les autres tutoriels sont dans la rubrique Windows Server.
Questions fréquentes
Qu'est-ce que le basculement DHCP ?
Une relation entre deux serveurs DHCP Windows qui partagent les mêmes étendues DHCPv4 et leurs baux actifs. Si l'un tombe, l'autre continue de servir les clients.
Équilibrage de charge ou secours à chaud ?
L'équilibrage de charge, mode par défaut, convient à deux serveurs sur le même site, qui se partagent les clients à 50:50 par défaut. Le secours à chaud convient à un serveur central qui ne doit servir qu'en cas de panne du serveur local.
Pourquoi mon serveur DHCP ne distribue-t-il aucune adresse ?
Dans un domaine, vérifiez qu'il est autorisé avec Get-DhcpServerInDC. Microsoft précise qu'un serveur non autorisé ne loue pas d'adresses. Vérifiez aussi que l'étendue est activée.
Les modifications d'étendue se répliquent-elles automatiquement ?
Non. Il faut lancer la réplication vers le partenaire, avec Invoke-DhcpServerv4FailoverReplication ou depuis la console, à partir du serveur dont les paramètres sont corrects.
Le basculement DHCP fonctionne-t-il en IPv6 ?
Non. Microsoft indique que seules les étendues DHCPv4 peuvent être mises en basculement.