DHCP Migration - Windows Server 2003 to Windows Server 2008 R2
Introduction
Si vous planifiez ou êtes en train de migrer votre infrastructure vers Windows Server 2008 ou Windows Server 2008 R2, vous serez sans doute confrontés à la problématique de migration d’un ou plusieurs serveurs DHCP.
Il n’y a rien de compliqué et cela se passe normalement sans encombres.En se débrouillant bien, on peut même s’en sortir avec une très faible interruption de service qui peut même être totalement transparente pour les utilisateurs si tout est bien préparé.
Je vais donc vous expliquer les quelques étapes techniques de cette migration dans ce billet.
C’est parti!
Dans mon exemple, j’ai donc un serveur DHCP sous Windows Server 2003 R2, nommé “srv2k3-dhcp” et qui est un serveur membre de mon domaine “romainlacour.lan”.
Voici un aperçu de la configuration de mon serveur avec les différentes étendues créées, les plages d’adresses IP, les réservations, les options, les baux, etc…
![]()
Maintenant, voici la procédure à suivre pour réussir le déplacement de la configuration vers un autre serveur, en l’occurrence sous Windows Server 2008 ou Windows Server 2008 R2.
Note: Dans mon exemple, je pars d’un Windows Server 2003 32 bits et je déplace la base DHCP vers un Windows Server 2008 R2 en version 64 bits.
-
Export de la base de données DHCP depuis le serveur source
netsh dhcp server export c:\dhcpdb all
-
Copier le fichier résultant de l’export vers le serveur cible.
-
Installation du rôle DHCP sur le serveur cible Windows Server 2008 / Windows Server 2008 R2. Vous devez faire parti du groupe local “Administrateurs” du serveur pour effectuer cette opération dans la console Gestionnaire de serveur.
-
Arrêt du service Serveur DHCP depuis la console Services dans les Outils d’administration du serveur ou en exécutant la commande suivante:
net stop dhcpserver
-
Supprimez le fichier dhcp.mdb qui se trouve dans le dossier de base de données DHCP. (Par défaut C:\Windows\System32\DHCP)
-
Redémarrez le service DHCP en exécutant la commande suivante:
net start dhcpserver
-
Import de la base de données sur le serveur cible depuis la copie récupérée en local. Pour cela ouvrez un Invite de commandes avec les privilèges administratifs en faisant un clic droit sur le raccourci dans le menu Démarrer et en sélectionnant “Exécuter en tant qu’administrateur…”.
-
Exécutez la commande suivante:
netsh dhcp server import c:\dhcpdb all
Redémarrez le service DHCP avec la commande suivante:
net stop dhcpserver && net start dhcpserver
Vérifiez dans la console DHCP que la configuration DHCP a bien été migrée.
Comme vous pouvez le voir sur l’image ci-dessous, tout s’est bien déroulé pour ma part:
Vérifiez que toutes les données sont bien présentes et si c’est le cas, vous pouvez éteindre le service DHCP sur le serveur source.
ATTENTION: Pensez à bien autoriser votre nouveau serveur DHCP dans Active Directory s’il est membre d’un domaine, sinon il ne distribuera aucune nouvelle adresse et vous aurez l’impression que rien n’a fonctionné.
Cas particuliers
Il se peut que vous rencontriez l’erreur suivante lors de l’export, par exemple si votre service DHCP est hébergé sur un cluster.
“Accès refusé.”
Dans ce cas, la procédure est légèrement différente mais il existe quand même une autre procédure qui devrait résoudre le problème.
-
Sur le serveur DHCP Windows Server 2003 source, exécutez la commande suivante:
netsh dhcp server dump >c:\dhcpdump.txt
-
Copiez le fichier résultant sur le serveur cible sous Windows Server 2008.
-
Editez le fichier dhcpdump.txt et remplacez l’adresse IP du serveur source par celle du serveur de destination pour toutes les lignes, si différente. Attention tout de même de ne pas remplacer des options ou autres paramètres qui pourraient quand même garder
Voici le format du fichier de dump:
Pour ma part, l’IP change. Mon serveur source a l’adresse 192.168.1.2 et mon serveur de destination 192.168.1.1. Voici donc ce que donne le fichier dump après modification:
-
Installez le rôle DHCP sur le serveur cible depuis le Gestionnaire de serveur. Attention, vous devez faire parti du groupe local “Administrateurs” du serveur.
-
Arrêtez le service Serveur DHCP. Pour cela, lancez un invite de commande avec les privilèges administratifs en faisant un clic droit sur le raccourci dans le menu démarrer et en sélectionnant Exécuter en tant qu’administrateur.
-
Exécutez la commande suivante:
net stop dhcpserver
-
Supprimez le contenu du dossier DHCP et les sous-dossiers (par défaut C:\Windows\System32\DHCP)
-
Démarrez le service Serveur DHCP avec la commande suivante:
net start dhcpserver
Toujours dans l’invite de commandes avec les privilèges administratifs, exécutez les commandes suivantes:
netsh exec c:\dhcpdump.txt
netsh dhcp server initiate reconcile
Dans mon cas, tout s’est bien déroulé, voici le résultat:

