Windows Server 2019 : configuration du service DHCP

Windows Server 2019 : configuration du service DHCP

26 octobre 2020 0 Par Mairien Anthony

Prise en main du service DHCP sur un Windows Server 2019. Classique !

Aujourd’hui on reprend en douceur en parlant du protocole DHCP, et de la mise en place du service du même nom sur un Windows Server en version 2019.

Du vu et revu, mais ça ne fait jamais de mal de reprendre les bases de temps en temps, surtout quand on peut voir comment ce service est quelques fois configuré en entreprise !

I) Le protocole DHCP, petit rappel

DHCP signifie donc Dynamic Host Protocol, c’est grâce à lui que les périphériques du réseau vont pouvoir recevoir une adresse IP ainsi qu’un ou plusieurs serveurs DNS.

Voici le fonctionnement en détail :

  • Le client envoi un paquet DHCPDISCOVER pour trouver un serveur DHCP disponible ;
  • Le serveur voit passer la requête et lui répond donc avec un DHCPOFFER pour lui signifier que ce dernier est prêt à lui donner une IP ;
  • Le client lui renvoie donc un DHCPREQUEST pour obtenir une IP (ou la renouveler par la suite) ;
  • Le serveur envoie à son tour un DHCPACK, qui contient l’IP, le ou les serveurs DNS, etc ;

Et c’est tout ! Bien entendu il existe d’autres paquets comme DHCPINFORM, qui vient de la part du client et qui ne vise qu’à obtenir des informations sur les paramètres à obtenir, mais il a déjà sa propre adresse IP, ou encore le DHCPRELEASE quand le client libère son adresse IP…

Quand le client obtient son adresse IP, il obtient en réalité un bail dhcp. C’est-à-dire que le serveur lui « prête » une adresse IP pour une durée bien définie par l’administrateur réseau. En général, la durée est de 24h mais il peut très bien arrivé que l’on mette une durée de 3 jours ou plus par exemple.

Bref, tout le monde ou presque connaît ce protocole, donc je pense que l’on va s’arrêter là pour le moment. Bien entendu, je n’ai pas parlé du DHCPv6 qui s’utilie avec l’adressage IPv6… mais qui utilise réellement l’IPv6 ? 🤡

II) Les « best practices » à ne pas oublier

Là où ça devient (enfin?) intéressant, c’est que comme pour n’importe quelle service il y a des bonnes pratiques recommandées que l’on se doit un maximum de prendre en compte et d’appliquer. Ici une rapide petite liste car chacun est libre de faire comme il l’entend, et aussi que chaque réseau a ses contraintes, même si ces pratiques là devraient être appliquées partout selon moi :

  • Ne pas néglier la durée des baux DHCP, en effet comme dit au dessus plus vous aurez un grand réseau avec beaucoup de périphériques, plus il conviendra de diminuer la durée du bail DHCP. Auquel cas vous vous retrouverez vite à court d’adresses…
  • Ne pas installer le service DHCP sur votre AD, alors oui même si il y a quelques années j’avais fait un article des plus classiques traitant de la mise en place du fameux « AD-DNS-DHCP« , et bien sachez que ce n’est pas une bonne chose à faire. La raison ? Car Windows est rempli de failles et qu’installer un autre rôle que DNS sur votre Active Directory va faire de votre serveur un véritable gruyère. Même si je le dis sur le ton de la rigolade, c’est assez vrai… un AD c’est juste un AD avec un DNS, pas d’autres services ni de logiciels tiers pour limiter la surface d’attaque.
  • Pas d’IP statique sur les postes, mais des réservations DHCP. En effet même si moi aussi j’ai longuement utilisé cette méthode pour gérer des petits réseaux, vous vous aperçevrez vite plus tard que ce n’est clairement pas la manière la plus optimale à faire… DHCP permet de réserver des adresses IP en fonction d’une adresse MAC, donc quand client-01 demande une IP, le serveur vérifie sa MAC et lui donne l’IP qu’on lui a réservé. Simple, rapide, efficace.
  • Ne pas oublier d’exclure certaines adresses IP, même si celle-ci semble triviale je peux vous assurer que certaines personnes l’oublient… donc pour rappel, on retire l’adresse IP de notre gateway (Windows Server nous le propose d’ailleurs directement à la configuraiton du rôle) ainsi que de certains équipements déjà en IP fixe et pour lesquels pas de choix possible, et on peut même aller plus loin en exlcuant une petite portion d’IP, histoire de toujours avoir une réserve « au cas où ».
  • Si possible, empêcher un maximum les « faux » serveurs DHCP. Par exemple sur la plupart des switchs « entreprises », des fonctions existent pour que le périphérique qui va envoyer des propositions DHCP doive d’abord s’authentifier… ou bien en mettant un seul port de votre switch en « trusted » et dans ce cas là seul l’équipement branché sur ce port pourra envoyer des propositions DHCP.

Bref, il en existe sûrement des dizaines d’autres, comme le fait de backuper votre configuration DHCP (voir même toute votre infrastructure en fait, pas juste le DHCP…), ou bien d’utiliser du Failover etc. Tout ça est à appliquer selon vos contraintes et besoins encore une fois.

II) Installation du rôle sur Windows Server

Bref, ça fait déjà pas mal de blabla pour juste installer un rôle des plus classiques, alors ne perdons pas plus de temps et allons-y !

Dans ce lab, mon serveur est sous Windows Server 2019 version Datacenter et a comme nom « SRV-DHCP-01 » et a comme IP « 192.168.1.200« . Car oui, pour installer le rôle il faut automatiquement une IP statique sur votre serveur, comme j’ai dit plus haut il faut éviter un maximum mais certaines fois vous n’aurez pas le choix.

Donc, comme tout rôle on se rend sur Installer un rôle ou une fonctionnalité depuis notre gestionnaire de serveur :

On choisi ensuite le serveur cible, puis Suivant. Ensuite on choisi le rôle DHCP et on ajoute aussi les outils de gestions et d’administrations :

Ensuite c’est du suivant/suivant, et le compte est bon !

Ensuite il nous faut configurer ce fameux rôle, donc on clique en haut à droite sur notre gestionnaire de serveur :

Ici le service DHCP va donc créer en premier lieu un groupe de sécurité pour que seul les membres de ce groupe puissent l’administrer, en plus de l’administrateur classique. On peut faire donc fermer l’assistant et aller redémarrer le dit service :

Pour ce faire, clic droit sur notre serveur dans la rubrique DHCP sur la gauche, puis Gestionnaire DHCP et enfin un dernier clic droit de nouveau sur notre serveur, on se rend dans Toutes les tâches puis Redémarrer. Ou bien si comme moi vous êtes un tantiner flemmard/que vous voulez faire le beau en utilisant Powershell, tapez juste ceci :

Restart-service dhcpserver

On reste donc ensuite dans cette fenêtre de gestion, et clic droit sur IPv4, pour créer notre première étendue (comme dit en début d’article, je ne traiterai pas d’IPv6 ici).

En premier lieu on choisi un nom et une description :

On choisi ensuite l’adresse de début, puis celle de fin avec le masque de sous-réseau qui va bien :

Dans l’exemple nous dirons que j’ai un petit réseau, d’où le fait de ne pas rendre disponible trop d’adresses. Si on veut pousser encore plus loin, on pourrait même utiliser des VLANs pour affiner notre gestion réseau comme il faut mais ici on va rester sur quelque chose de classique pour bien comprendre les concepts.

Un petit coup de Suivant et on poursuit. Ici on peut choisir d’exclure certaines adresses IP de notre plage précédemment créee. Bon moi je n’en ai pas besoin car mon router se trouve en 192.168.1.1 donc est déjà hors plage, et pour certains serveurs ou équipements particuliers ils se trouveront en <.10 ou >.100 .

Vient ensuite la fameuse durée du bail, qui est proposée à 8 jours par défaut… quand même un poil long cette histoire, donc on va baisser à 3 jours, cela me semble raisonnable (souvenez-vous qu’ici c’est un petit réseau, avec seulement 40 IPs disponibles dans la plage) :

On touche à la fin ! Ici nous allons pouvoir attribuer au client son DNS, sa gateway (que j’avais oublié de préciser en début d’article, mais cela tombe un peu sous le sens…) ainsi que d’autres paramètres en vrac :

Donc d’abord la Gateway :

Ensuite le nom de domaine ainsi que le ou les serveur(s) DNS, ici je n’ai pas à en rajouter, le service a repris celui de l’hôte et ça me convient parfaitement :

Ensuite la configuration du ou des serveur(s) WINS, ici je ne vais rien mettre car je n’en ai pas besoin :

Et enfin on active l’étendue en validant le tout, et c’est bon !

A partir de là votre serveur DHCP est opérationnel, et vous pouvez bien-sûr l’affiner comme il se doit :

Par exemple vous pouvez utiliser certaines stratégies, pour faire en sorte d’attribuer telle IP si l’ordinateur est un Windows Server ou bien si il est sous Windows Vista, ce genre de chose.

Vous pouvez aussi aller dans Réservations et créer justement comme dit avant des réservations par adresses MAC :

Ici par exemple, j’ai simplement nommé ma réservation, puis donné l’IP à réserver en fonction de la MAC juste en dessous, j’ai mis une description facultative et enfin j’ai choisi le type prise en charge, en l’occurence DHCP.

Pour faire trèèès résumé, BOOTP permet aux clients légers d’obtenir une adresse IP dans leur phase de boot, par exemple quand on a thin client sans disque dur qui boot directement sur le réseau… c’est assez peu utilisé ou tout dû moins je n’en ai pas souvent croisé, donc j’avoue que je ne m’y connais pas plus que ça 😛

III) Conclusion

Et bien je pense que tout est bon, on aura rapidement revu ce qu’est le DHCP et son mode de fonctionnement, vu aussi quelques best practices à appliquer quand les contraintes réseau le permettent, et enfin on aura configurer le tout sur un Windows Server. Pas mal non ?

Comme d’habitude j’espère vous avoir appris quelques bricoles ou plus, et je vous souhaite une bonne journée/soirée à vous !

N'hésitez pas à soutenir le blog, chaque article demande un certain travail de recherche, rédaction ainsi que la réalisation de divers tests !