Serveur DHCP sur Windows Server 2022
Configuration du rôle DHCP Server sur Windows Server 2022.
| Composant | Version |
|---|---|
| Windows Server | 2022 |
| DHCP Server | Intégré |
Durée estimée : 25 minutes
Prérequis :
- Windows Server 2022 installé
- Accès Administrateur
- IP statique configurée
1. Installation du rôle DHCP
Via PowerShell
# Installer le rôle DHCP
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# Vérifier l'installation
Get-WindowsFeature -Name DHCP
Autoriser dans Active Directory (si AD)
# Autoriser le serveur DHCP dans AD
Add-DhcpServerInDC -DnsName "srv-dhcp.example.lan" -IPAddress 192.168.1.10
# Vérifier l'autorisation
Get-DhcpServerInDC
Compléter la configuration post-installation
# Supprimer l'alerte de configuration
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ServerManager\Roles\12" -Name "ConfigurationState" -Value 2
# Redémarrer le service
Restart-Service -Name DHCPServer
2. Créer une étendue DHCP
Étendue de base
# Créer une étendue
Add-DhcpServerv4Scope -Name "LAN Principal" `
-StartRange 192.168.1.100 `
-EndRange 192.168.1.200 `
-SubnetMask 255.255.255.0 `
-LeaseDuration 1.00:00:00 `
-State Active
# Vérifier
Get-DhcpServerv4Scope
Configurer les options d'étendue
# Passerelle par défaut (Router)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -Router 192.168.1.1
# Serveurs DNS
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -DnsServer 192.168.1.10, 8.8.8.8
# Nom de domaine DNS
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -DnsDomain "example.lan"
# Serveur NTP (option 42)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 42 -Value 192.168.1.10
# Vérifier les options
Get-DhcpServerv4OptionValue -ScopeId 192.168.1.0
3. Plages d'exclusion
# Exclure une plage (serveurs, imprimantes, etc.)
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.1.0 `
-StartRange 192.168.1.1 `
-EndRange 192.168.1.20
# Vérifier les exclusions
Get-DhcpServerv4ExclusionRange -ScopeId 192.168.1.0
4. Réservations DHCP
Créer une réservation
# Réserver une IP pour un client spécifique
Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 `
-IPAddress 192.168.1.50 `
-ClientId "00-11-22-33-44-55" `
-Name "srv-web" `
-Description "Serveur Web"
# Autre réservation
Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 `
-IPAddress 192.168.1.51 `
-ClientId "00-11-22-33-44-56" `
-Name "srv-db" `
-Description "Serveur Base de données"
# Lister les réservations
Get-DhcpServerv4Reservation -ScopeId 192.168.1.0
Options spécifiques à une réservation
# Définir un DNS spécifique pour une réservation
Set-DhcpServerv4OptionValue -ReservedIP 192.168.1.50 -DnsServer 192.168.1.10
5. Vérifier le service
# Statut du service
Get-Service -Name DHCPServer
# Statistiques
Get-DhcpServerv4Statistics
# Statistiques par étendue
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.1.0
6. Voir les baux actifs
# Lister tous les baux
Get-DhcpServerv4Lease -ScopeId 192.168.1.0
# Baux actifs uniquement
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | Where-Object {$_.AddressState -eq "Active"}
# Exporter en CSV
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | Export-Csv -Path "C:\dhcp-leases.csv" -NoTypeInformation
7. Configuration du Firewall
# Les règles sont normalement créées automatiquement
# Vérifier
Get-NetFirewallRule -DisplayName "*DHCP*" | Select-Object DisplayName, Enabled
# Si nécessaire, activer manuellement
Enable-NetFirewallRule -DisplayGroup "DHCP Server"
8. Options DHCP avancées
Options au niveau serveur
# Options globales (s'appliquent à toutes les étendues)
Set-DhcpServerv4OptionValue -DnsServer 192.168.1.10
Set-DhcpServerv4OptionValue -DnsDomain "example.lan"
# Voir les options serveur
Get-DhcpServerv4OptionValue
Options personnalisées
# Créer une option personnalisée
Add-DhcpServerv4OptionDefinition -OptionId 150 -Name "TFTP Server" -Type IPv4Address -MultiValued
# Appliquer l'option
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 150 -Value 192.168.1.10
PXE Boot
# Configurer le boot PXE (options 66 et 67)
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 66 -Value "192.168.1.10"
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -OptionId 67 -Value "pxelinux.0"
9. DHCP Failover (Haute disponibilité)
Configurer le failover
# Créer une relation failover (sur le serveur primaire)
Add-DhcpServerv4Failover -Name "DHCP-Failover" `
-PartnerServer "srv-dhcp2.example.lan" `
-ScopeId 192.168.1.0 `
-SharedSecret "MotDePasseSecret123!" `
-Mode LoadBalance `
-LoadBalancePercent 50
# Vérifier la configuration
Get-DhcpServerv4Failover
Modes disponibles
| Mode | Description |
|---|---|
| LoadBalance | Les deux serveurs répondent (50/50 par défaut) |
| HotStandby | Un actif, un passif |
10. Sauvegarde et restauration
Sauvegarder
# Sauvegarder la configuration DHCP
Backup-DhcpServer -Path "C:\DHCP-Backup"
# Exporter en XML
Export-DhcpServer -File "C:\dhcp-config.xml" -Leases
Restaurer
# Restaurer depuis une sauvegarde
Restore-DhcpServer -Path "C:\DHCP-Backup"
# Importer depuis XML
Import-DhcpServer -File "C:\dhcp-config.xml" -Leases -BackupPath "C:\DHCP-Backup-Before-Import"
11. Intégration DNS
Mise à jour DNS dynamique
# Activer la mise à jour DNS
Set-DhcpServerv4DnsSetting -ScopeId 192.168.1.0 `
-DynamicUpdates Always `
-DeleteDnsRROnLeaseExpiry $true `
-UpdateDnsRRForOlderClients $true
# Vérifier
Get-DhcpServerv4DnsSetting -ScopeId 192.168.1.0
12. Commandes utiles
# Lister toutes les étendues
Get-DhcpServerv4Scope
# Activer/Désactiver une étendue
Set-DhcpServerv4Scope -ScopeId 192.168.1.0 -State Active
Set-DhcpServerv4Scope -ScopeId 192.168.1.0 -State Inactive
# Supprimer un bail
Remove-DhcpServerv4Lease -ScopeId 192.168.1.0 -IPAddress 192.168.1.150
# Supprimer une étendue
Remove-DhcpServerv4Scope -ScopeId 192.168.1.0 -Force
# Audit logs
Get-DhcpServerAuditLog
Dépannage
Le service ne démarre pas
# Vérifier les événements
Get-WinEvent -LogName "Microsoft-Windows-DHCP Server Events/Operational" -MaxEvents 20
# Vérifier la configuration
Get-DhcpServerSetting
Clients ne reçoivent pas d'adresse
# Vérifier que l'étendue est active
Get-DhcpServerv4Scope | Select-Object ScopeId, State
# Vérifier les adresses disponibles
Get-DhcpServerv4ScopeStatistics
# Tester la connectivité
Test-NetConnection -ComputerName 192.168.1.10 -Port 67
Conflit d'adresse IP
# Voir les conflits
Get-DhcpServerv4Lease -ScopeId 192.168.1.0 | Where-Object {$_.AddressState -eq "Declined"}
# Libérer les baux problématiques
Remove-DhcpServerv4Lease -ScopeId 192.168.1.0 -IPAddress 192.168.1.150
Script de déploiement complet
# Script de déploiement DHCP
$ScopeId = "192.168.1.0"
$StartRange = "192.168.1.100"
$EndRange = "192.168.1.200"
$Gateway = "192.168.1.1"
$DnsServer = "192.168.1.10"
$Domain = "example.lan"
# Installer le rôle
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# Créer l'étendue
Add-DhcpServerv4Scope -Name "LAN Principal" `
-StartRange $StartRange `
-EndRange $EndRange `
-SubnetMask 255.255.255.0 `
-State Active
# Configurer les options
Set-DhcpServerv4OptionValue -ScopeId $ScopeId -Router $Gateway
Set-DhcpServerv4OptionValue -ScopeId $ScopeId -DnsServer $DnsServer
Set-DhcpServerv4OptionValue -ScopeId $ScopeId -DnsDomain $Domain
# Exclure les 20 premières adresses
Add-DhcpServerv4ExclusionRange -ScopeId $ScopeId -StartRange "192.168.1.1" -EndRange "192.168.1.20"
Write-Host "DHCP Server configured!" -ForegroundColor Green
Get-DhcpServerv4Scope
Pour aller plus loin
Changelog
| Date | Modification |
|---|---|
| 2024-12 | Création initiale - Windows Server 2022 DHCP |