!!! Cette documentation est purement théorique, elle ne doit en aucun cas être appliqué tel quel sur un environnement de production !!!
--- Ce qui suit est réalisé via PowerShell ---
--- Ce qui suit est réalisé via PowerShell ---
Qu’est-ce que c’est ?
Un petit rappel sur le fonctionnement de DHCP. Dynamic Host Configuration Protocol est comme son nom l’indique un protocole de gestion de la configuration de vos équipements dynamiques ! Ainsi vous supprimerez le risque de mauvaise manipulation lors de la configuration réseau de vos équipements et apporterez donc une fiabilité dans votre réseau. La RFC correspondante est la 2131.
Mise en œuvre
Etant dans un domaine Windows, cela est facilité par un rôle Windows nommé simplement DHCP. (Bien que cela est également possible sous Linux via le paquet éponyme.)
Nos machines ne portent plus leurs adresses IP au sens propre du terme, cela sera désormais notre serveur qui les distribuera de manière transparente pour les administrateurs et les utilisateurs.
Néanmoins, deux philosophies existe dans la manière de procéder :
- La manière dynamique : comme son nom l’indique, quand l’adresse est arrivée à expiration (son bail), celle-ci peut changer de manière automatique.
- La manière statique : Chaque machine a une adresse propre et elle n’est pas amenée à en changer.
Dans le cadre d’un ajout manuel d’une machine, en la définissant au préalable dans le DHCP, cela va lui donner son adresse IP dès son arrivé dans le réseau. Le but est également d’augmenter la sécurité car cela est géré de manière centralisée. Cela est également sensé éliminé le risque de doublon d’adresse sur le réseau
Fonctionnement
L’ordinateur équipé de carte réseau, mais dépourvu d’adresse IP, envoie en diffusion Broadcast un datagramme (DHCP DISCOVER) qui s’adresse au port 67 de n’importe quel serveur à l’écoute sur ce port. Ce datagramme comporte entre autres l’adresse physique (MAC) du client.
Tout serveur DHCP ayant reçu ce datagramme, s’il est en mesure de proposer une adresse sur le réseau auquel appartient le client, envoie une offre DHCP (DHCP OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique. Cette offre comporte l’adresse IP du serveur, ainsi que l’adresse IP et le masque de sous-réseau qu’il propose au client. Il se peut que plusieurs offres soient adressées au client.
Le client retient une des offres reçues (la première qui lui parvient), et diffuse sur le réseau un datagramme de requête DHCP (DHCP REQUEST). Ce datagramme comporte l’adresse IP du serveur et celle qui vient d’être proposée au client. Elle a pour effet de demander au serveur choisi, l’assignation de cette adresse, l’envoi éventuel des valeurs des paramètres, et d’informer les autres serveurs qui ont fait une offre qui n’a pas été retenue.
Le serveur DHCP élabore un datagramme d’accusé de réception (DHCP ACK pour acknowledgement) qui assigne au client l’adresse IP et son masque de sous-réseau, la durée du bail de cette adresse, etc…
Considération SSI
Niveau pare-feu : Il est nécessaire d’ouvrir les ports UDP 67 et 68 dans le trafic entrant de nos futures machines.
De plus, si nous choisissons le multicast, il faut ouvrir le port UDP 2535.
Tout cela est possible via une GPO qui regrouperait les principales règles applicables à l’ensemble du parc informatique.
Version d’IP : Le protocole DHCP peut gérer aussi bien de l’IPv4 que de l’IPv6. Cette dernière partie ne sera pas abordé dans cette présente documentation.
Le bail : Cette durée est laissée par défaut. Il vaut mieux y réfléchir à deux fois, car une attaque informatique connue porte justement sur la saturation des serveurs DHCP via la demande de nombreux baux… Si la durée de bail est trop longue et que l’on est victime de ce type d’attaque, il existe la possibilité de paralyser la configuration automatique de tout le réseau !
Basculement : Au même titre d’un double AD (primaire et secondaire) et pour assurer une haute disponibilité car cela peut devenir un SPOF (Single Point Of Failure), on peut et il faut redondez notre serveur.
Pour cela, il faut créer un nouveau serveur disposant du rôle Serveur DHCP sans aller plus loin (pas d’étendues), puis faire un clic droit sur le nom de votre serveur dans le Gestionnaire DHCP sur IPv4 et choisir « Configurer un basculement ». Ainsi, les bases de données seront synchronisées et les configurations fournies seront suivies non plus par un serveur, mais deux.
En résumé
- Le rôle Serveur DHCP permet de simplifier la configuration de clients au sein d’un réseau. Il va se charger d’apporter au client son adresse réseau, son masque, etc… ;
- Toutes les options et paramètres sont accessibles via un assistant simplifiant la prise en main et la mise en route ;
- Microsoft permet d’augmenter la sécurité via la mise en redondance de deux serveurs (ou plus) disposant du rôle de Serveur DHCP.
Point important
Même si cela va de soi, il faut que le(s) serveur(s) DHCP soi(en)t en adresse IP fixe afin qu’il n’y aille pas de pertes de celui-ci en cas de réattribution malencontreuse, de défaillance, etc...
Installation
Sur le serveur préalablement choisi, il faut installer le rôle DHCP. Une commande PowerShell existe et va nous faciliter la vie :
# Install-WindowsFeature DHCP -IncludeManagementTools
C’est un parti pris de ne pas installer les outils supplémentaires (noté les caractères barés). En effet, ce serveur peut très bien être soit un Windows Core (sans interface graphique) soit une version nano (surface encore plus réduite) et les outils traditionnels ne seront pas disponible. Néanmoins, vu que nous disposons de machines virtuelles pour l’administration avec l’ensemble des outils Windows RSAT (Remote Server Administration Tools) (version graphique et module PowerShell) cela ne posera pas de problème.
Configuration
Création des groupes de sécurités DHCP
Pour créer des groupes de sécurité, il faut exécuter une commande netsh de l’interface réseau dans Windows PowerShell, puis redémarrer le service DHCP afin que les nouveaux groupes deviennent actifs.
Lorsque l’on exécute la commande netsh suivante sur le serveur DHCP, les groupes de sécurité « Administrateurs DHCP » et « utilisateurs DHCP » sont créés dans utilisateurs et groupes locaux sur le serveur DHCP.
# netsh dhcp add securitygroups
La commande suivante redémarre le service DHCP sur l’ordinateur local.
# Restart-Service dhcpserver
Autoriser le serveur DHCP dans Active Directory
Nous allons ajouter le serveur DHCP à la liste des serveurs DHCP autorisés dans Active Directory.
# Add-DhcpServerInDC -DnsName notreDomaine.fr -IPAddress xxx.xx.xxx.xxx
Vérification de la bonne exécution de la commande ci-dessus :
# Get-DhcpServerInDC
Nous devons voir l’adresse IP de notre contrôleur de domaine ainsi que son adresse IP.
Définir les paramètres de configuration de la mise à jour dynamique DNS au niveau du serveur
Cette commande est utile afin que le serveur DHCP puisse effectuer les mises à jour dynamiques DNS pour les ordinateurs clients DHCP. Il s’agit d’un paramètre de niveau serveur, et non d’un paramètre de niveau d’étendue, qui affecte toutes les étendues que vous configurez sur le serveur. Cet exemple de commande configure également le serveur DHCP pour supprimer les enregistrements de ressources DNS pour les clients lorsque le client expire.
# Set-DhcpServerv4DnsSetting -ComputerName "monDomaine.fr" -DynamicUpdates "Always" -DeleteDnsRRonLeaseExpiry $True
Configuration des étendues (IPv4)
Nous allons créer différentes étendues par sous-réseaux. A l’heure actuelle, nous en avons deux mais avec le changement d’adresse IP qui va arriver, il va y en avoir au moins 3. Cela concerne :
- Les serveurs d’infrastructures ;
- Les serveurs pour les applications ;
- Les serveurs dans le « ShemDev » mais connecté à notre AD ;
- Les VM de DEV/d’ADMIN ??
Points d’attentions
Dans une étendue, il est possible de définir certaines options (routeur, dns, domaine, etc…). Pour se faire, la commande suivante est à regarder :
# Set-DhcpServerv4OptionValue -DNSServer xxx.xx.xxx.xxx -DNSDomain monDomaine.fr -Router xxx.xx.xxx.xxx
Vérification de la fonctionnalité serveur
Normalement, à la connexion d’une machine dans le réseau, le service doit lui délivrer une adresse IP. Dans le cas contraire, cela signifie qu’un problème est présent. A des fins de dépannage, il peut être judicieux de regarder les points suivants :
- Si le serveur est connecté sur un réseau qui est séparé du serveur DHCP par routeur, il faut être sûr que le/les routeurs est/sont configurées pour transférer les messages DHCP.
- S’assurer que le serveur DHCP est autorisé dans Active Directory en exécutant la commande suivante pour récupérer la liste des serveurs DHCP autorisés à partir de Active Directory : DhcpServerInDC.
- S’assurer que les étendues sont activées en ouvrant la console DHCP puis en développant l’arborescence du serveur pour examiner les étendues et enfin en cliquant avec le bouton droit - sur chaque étendue.
En espérant que cela vous servira à la rentrée
--- Hayabusa 1340 user - Chefs Multi-projet pour la DRHAT ---


![[-]](https://www.tisi-fr.com/board/images/collapse.png)