====== Configuration complète du serveur DHCP Microsoft ====== ===== Introduction ===== Un serveur DHCP permet l'autoconfiguration des hôtes sur un réseau. Il permet entre autres de diffuser des paramètres IP. Cette procédure a pour but la mise en place d'un serveur DHCP sous les systèmes d'exploitation Windows Server, ainsi que la mise en place d'un système de tolérance de panne ou d'équilibrage de charge pour limiter les interruptions de service. ===== Prérequis ===== Pour ce lab, on aura besoin d'au moins : * Une machine physique ou virtuelle sous Windows Server 2008, 2008 R2, 2012, 2012 R2, 2016, 2019 ou 2021 * Une seconde machine avec n'importe quel OS connecté au même réseau (de préférence sous Windows) ===== Installation du rôle Serveur DHCP ===== Le rôle "Serveur DHCP" peut être installé soit par le biais du gestionnaire de serveur (''Gérer'' > ''Ajouter des rôles et des fonctionnalités''), soit via la commande PowerShell suivante : Install-WindowsFeature DHCP -IncludeManagementTools L'instruction ''-IncludeManagementTools'' permet d'installer la console MMC ''DHCP'', et n'est pas utile dans le cadre d'une installation de Windows Server en mode Core. ===== Configuration initiale du service DHCP ===== ==== Via le gestionnaire de serveur ==== Une fois le rôle DHCP installé sur le serveur, il faut réaliser sa configuration de base. Pour cela, aller dans le gestionnaire de serveur, cliquer en haut à droite sur le petit bouton ''Notifications'', situé juste à gauche de ''gérer'' et faire ''Terminer la configuration DHCP'' : {{ ::configdhcp1.png?700 |Terminer la configuration DHCP}} Un assistant de configuration va alors s'ouvrir. Cliquer sur ''Suivant'' : {{ ::configdhcp2.png?700 |Configuration initiale du serveur DHCP}} Si votre serveur fait partie d'un domaine Active Directory, séléctionner un utilisateur habilité à autoriser le serveur DHCP dans l'Active Directory. Sinon, ignorer l'autorisation AD. Confirmer avec ''Valider'' : {{ ::configdhcp3.png?700 |Choisir un utilisateur pour autoriser le DHCP dans l'Active Directory}} Pour finir, cliquer sur ''Fermer'', la configuration initiale du service DHCP est achevée : {{ ::configdhcp4.png?700 |Configuration initial du DHCP terminée}} ==== Via PowerShell (pour les serveurs en mode Core) ==== A travers PowerShell, c'est plus rapide, on autorise directement le serveur DHCP dans l'Active Directory à l'aide de la commande ci-contre : Add-DHCPServerInDC -DNSName nocterie.lab L'argument ''-DNSName'' sert à préciser le nom du domaine Active Directory concerné. ===== Création d'une étendue DHCP ===== Afin que le serveur DHCP puisse allouer des adresses et fournir des paramètres IP aux clients du réseau, il faut créer une étendue DHCP. ==== Via le gestionnaire DHCP ==== Ouvrir la console MMC ''DHCP'' (en passant par le menu ''Démarrer'' > ''Outils d'administration''). Cette console permet de gérer le rôle DHCP avec une interface graphique. Pour créer une nouvelle étendue IPv4, dérouler les différents nœuds dans le volet à droite, et faire un clic droit sur ''IPv4'' puis cliquer sur ''Nouvelle étendue'' : {{ ::configdhcp_etendue.png?850 |Créer une nouvelle étendue DHCP}} Dans l'assistant, continuer avec ''Suivant'' : {{ ::configdhcp_etendue2.png?600 |Créer une nouvelle étendue DHCP (2)}} Choisir un nom et une description (facultatif) pour la nouvelle étendue et faire ''Suivant'' : {{ ::configdhcp_etendue3.png?600 |Nommer et décrire l'étendue DHCP}} Renseigner la plage d'adresses IP que le serveur pourra distribuer avec le masque de sous-réseau correspondant. {{ ::configdhcp_etendue4.png?600 |Configuration de la plage d'IP de l'étendue}} Si besoin, indiquer les plages d'adresses exclues de la plage DHCP renseignée précédemment : {{ ::configdhcp_etendue5.png?600 |Configuration des exclusions DHCP}} Valider avec ''Suivant'' : {{ ::configdhcp_etendue6.png?600 |Configuration des exclusions DHCP (2)}} Séléctionner la durée du bail DHCP : {{ ::configdhcp_etendue7.png?600 |Configuration de la durée des baux DHCP}} Choisir de configurer les autres options maintenant : {{ ::configdhcp_etendue8.png?600 |Continuer la configuration de l'étendue}} Spécifier une ou plusieurs passerelles par défaut que les clients de l'étendue utiliseront : {{ ::configdhcp_etendue9.png?600 |Configuration des passerelles par défaut de l'étendue}} Indiquer le nom du domaine ainsi les serveurs DNS (privés ou publics) à attribuer aux clients : {{ ::configdhcp_etendue10.png?600 |Configuration des serveurs DNS}} Si besoin, spécifier les serveurs WINS à utiliser : {{ ::configdhcp_etendue11.png?600 |Configuration des serveurs WINS}} Enfin, activer l'étendue : {{ ::configdhcp_etendue12.png?600 |Activation de l'étendue}} Et sauvegarder les réglages en cliquant sur ''Terminer'' : {{ ::configdhcp_etendue13.png?600 |Fin de la configuration}} ==== Via PowerShell ==== Pour créer une étendue DHCP en mode Core, voici la commande : Add-DHCPServerV4Scope -Name "Etendue_DHCP_LAN" -StartRange 192.168.1.230 -EndRange 192.168.1.250 -SubnetMask 255.255.255.0 -Description "Plage DHCP LAN" Pour afficher la liste des étendues : Get-DHCPServerV4Scope Ce qui donne : {{ ::dhcp_ps1.png?600 |Affichage des étendues DHCP configurées}} Retenir le ''ScopeId'' afin de pouvoir configurer cette étendue par la suite. Affecter un serveur DNS, un domaine et un routeur à une étendue : Set-DHCPServerV4Scope -ScopeId -DNSServer 192.168.1.212 -DNSDomain nocterie.lan -Router 192.168.1.1 ===== Mise en service d'un cluster DHCP (haute disponibilité) ===== Afin de créer un cluster de basculement du service DHCP, il faut lier les différents serveurs munis du rôle ''Serveur DHCP'' avec une relation de basculement. Il existe deux modes de fonctionnement de ce cluster : le mode Actif/Actif et le mode Actif/Passif. ==== Mode Actif/Passif (Serveur principal + serveur de secours) ==== Le service DHCP en mode Actif/Passif permet l'utilisation d'un serveur de secours en cas de panne du serveur principal. Le serveur de secours attend la panne du serveur principal pour le remplacer. Pour configurer une relation de basculement dans ce mode, le serveur DHCP principal doit déjà avoir le rôle ''Serveur DHCP'' d'installé et autorisé dans l'AD, ainsi qu'au moins une étendue DHCP de paramétrée (voir plus haut). Depuis ce dernier, ouvrir la console MMC ''DHCP'', dérouler les différents nœuds dans le volet de gauche, faire un clic droit sur ''IPv4'', et cliquer sur ''Configurer un basculement...'' (cette configuration peut aussi être faîte à distance via un PC possédant les outils d'administration de serveur distant (RSAT)) : {{ ::dhcp_basculement1.png?500 |Configuration d'une nouvelle relation de basculement DHCP}} Un assistant va s'afficher, sélectionner tout d'abord les étendues DHCP à répliquer sur les autres serveurs : {{ ::dhcp_basculement2.png?500 |Sélection des étendues à répliquer}} Indiquer ensuite l'adresse IP ou le nom d'hôte du second serveur pour former le cluster. Il faut que ce second serveur ait obligatoirement le rôle ''Service DHCP'' installé et qu'il soit aussi autorisé dans l'AD : {{ ::dhcp_basculement3.png?500 |Indication du second serveur DHCP}} Puis, donner un nom à la relation de basculement (1), choisir le mode de basculement ''Serveur de secours'' (2), spécifier le rôle qu'aura le second serveur dans le cluster (Actif ou Veille) (3) ainsi que le pourcentage d'adresses IP des différentes étendues à attribuer au serveur de secours, et terminer en définissant un mot de passe partagé afin de sécuriser le cluster (4) : {{ ::dhcp_basculement4.png?500 |Réglages des paramètres du cluster DHCP}} Ici, le ''Délai de transition maximal du client (MCLT)'' correspond au temps pour lequel le client peut prolonger lui-même son bail DHCP, par exemple lorsque le serveur principal est indisponible et que le serveur de secours n'a pas encore repris la main. Vérifier les paramètres et confirmer avec ''Terminer'' : {{ ::dhcp_basculement5.png?500 |Vérification des réglages du cluster}} Le message suivant indique que le cluster a bien été créé : {{ ::dhcp_basculement6.png?400 |Création du cluster}} Maintenant, depuis la console ''DHCP'' du serveur de secours, on constate que l'étendue créée sur le serveur principal a bien été répliquée localement : {{ ::dhcp_basculement7.png?900 |Étendue sur le cluster}} Désormais, le serveur de secours est prêt à prendre le relais du serveur principal en cas d'indisponibilité. ==== Mode Actif/Actif (Équilibrage de charge entre plusieurs serveurs) ==== Le service DHCP en mode Actif/Actif permet d'équilibrer les demandes DHCP sur le réseau entre deux serveurs. Cela permet d'éviter de surcharger les serveurs au niveau réseau (le matin lorsque tout le monde allume son PC en même temps par exemple), et de garantir une tolérance de panne dans le cas ou l'un d'eux n'est plus disponible comme dans le précédent mode. Depuis le serveur principal, ouvrir la console MMC ''DHCP'', dérouler les différents nœuds dans le volet de gauche, faire un clic droit sur ''IPv4'', et cliquer sur ''Configurer un basculement...'' (cette configuration peut aussi être faîte à distance via un PC possédant les outils d'administration de serveur distant (RSAT)) : {{ ::dhcp_basculement1.png?500 |Configuration d'une nouvelle relation de basculement DHCP}} Un assistant va s'afficher, sélectionner tout d'abord les étendues DHCP à répliquer sur les autres serveurs : {{ ::dhcp_basculement2.png?500 |Sélection des étendues à répliquer}} Indiquer ensuite l'adresse IP ou le nom d'hôte du second serveur pour former le cluster. Il faut que ce second serveur ait obligatoirement le rôle ''Service DHCP'' installé et qu'il soit aussi autorisé dans l'AD : {{ ::dhcp_basculement3.png?500 |Indication du second serveur DHCP}} Ensuite, nommer la relation de basculement (1), choisir le mode de basculement ''Équilibrage de charge'', spécifier le pourcentage de requêtes DHCP que chacun des serveurs doit traiter (2), et terminer en définissant un mot de passe partagé pour sécuriser le cluster (3) : {{ ::dhcp_basculement91.png?500 |Réglage du cluster DHCP}} Vérifier les réglages du cluster et confirmer avec ''Terminer'' : {{ ::dhcp_basculement92.png?500 |Vérification des réglages}} Le message suivant nous informe que la création du cluster a réussi : {{ ::dhcp_basculement93.png?500 |Création du cluster DHCP}} On constate sur le second serveur que l'étendue créé sur le premier a bien été répliquée : {{ ::dhcp_basculement94.png?1000 |Étendue DHCP répliquée sur le second serveur}} ===== Résolution de problèmes ===== En cas de problème avec le fonctionnement du service DHCP, il existe plusieurs commandes pratiques qui permettent de réinitialiser les baux et de vérifier les paramètres IP des cartes sur le poste client : * Pour réinitialiser les paramètres IP des carte réseau configurées en dynamique : ipconfig /release {{ ::troubleshooting_dhcp_ipconfig_release.png?600 |Réinitialisation des paramètres IP dynamiques}} * Pour redemander un bail (ou forcer la demande de bail) auprès d'un serveur DHCP sur le réseau : ipconfig /renew {{ ::troubleshooting_dhcp_ipconfig_renew.png?600 |Demande de bail auprès des serveurs DHCP sur le réseau}} * Et enfin pour afficher les paramètres IP de la carte réseau, ainsi que les informations de bail (1) et l'adresse du serveur DHCP qui a traité la demande (2) : ipconfig /all {{ ::troubleshooting_dhcp_ipconfig_all.png?600 |Affichage des paramètres des cartes réseau}} Depuis la console ''DHCP'' sur les serveurs, on peut aussi afficher la liste des clients DHCP pour chaque étendue : {{ ::troubleshooting_dhcp_baux.png?800 |Affichage des baux DHCP en cours}} ===== Sources ===== [[http://idum.fr/spip.php?article288|Configuration du serveur DHCP sous Windows server 2012 R2]] [[http://idum.fr/spip.php?article180|Configuration du serveur DHCP sous Windows server 2008 R2]]