Petit article pour parler du DHCP, le protocole de configuration dynamique des h√ītes en fran√ßais dans le texte !

C’est gr√Ęce √† un service DHCP que nos postes de travail re√ßoivent automatiquement une configuration IP et peuvent parler au reste du monde ! Il est √† noter que le DHCP n’est pas du tout un service r√©serv√© aux entreprises, au contraire, vous l’utilisez chez vous peut √™tre m√™me sans le savoir ! Vous ne me croyez pas ? Jetez un coup d‚ÄôŇďil aux configurations de votre BOX internet alors…

Dans cette petite introduction, nous allons d√©couvrir ce qu’est le service DHCP, comment il fonctionne, quels sont ses int√©r√™ts et ce qu’on peut faire avec. GO ! aggressive


Introduction au Dynamic Host Configuration Protocol

Bon parlons peu mais parlons bien ! Cet article va introduire le concept de DHCP, une notion bien connue en entreprise et qui, ne nous le cachons pas, fais gagner un temps précieux aux informaticiens !

Comme d’habitude, on reste dans le “survol” et on ne parlera pas de l’histoire du protocole DHCP, de ses dates de cr√©ation ou encore de ses RFCs mais plut√īt de son utilit√© et de ce qu’il peut nous apporter ! Non pas parce que le reste, on s’en moque, mais tout simplement parce que ce n’est pas important dans notre contexte de d√©couverte du DHCP.

Pour les plus intr√©pides qui n’ont pas peur du mal de t√™te, laugh consultez directement les RFCs officielles sur le sujet au lien suivant : RFC2131 (en)

 

Qu’est ce que le DHCP ?

Le service DHCP, ou bien le “Dynamic Host Configuration Protocol” est un service TCP/IP, qu’on installe en g√©n√©ral sur une machine serveur mais aussi parfois sur un routeur (box internet, bornes wifi…) , et qui permet d’automatiser la configuration r√©seau des √©quipements d’une infrastructure.

Pour simplifier vulgairement le r√īle d’un serveur DHCP dans une infra, disons qu’il √©vite aux admins de configurer manuellement tout les postes de travail un par un.

En fait le service DHCP va attribuer automatiquement, et de fa√ßon totalement transparente pour les utilisateurs, une configuration r√©seau compl√®te, c’est √† dire par exemples une adresse IP, un masque, une adresse de passerelle et une adresse de DNS, √† tous les postes clients de l’environnement qui lui en feront la demande. On parle alors d’attribution “dynamique” d’adresses IP contrairement √† une attribution manuelle dite “statique” ou “fixe“.

 

Quels sont les avantages d’avoir un serveur DHCP ?

Le 1er avantage, comme dit dans le paragraphe pr√©c√©dent, c’est d√©j√† que les techniciens informatiques ne vont pas devoir passer sur l’ensemble des ordinateurs pour leur attribuer une configuration IP manuellement. Et croyez moi, quand il y en a 25, c’est d√©j√† assez p√©nible, mais imaginez quand il y en a 1300…

Second point, la gestion de l’adressage IP de l’environnement est √† la fois automatis√©e, mais aussi et surtout centralis√©e. En effet, nous aurons au moins un (mais souvent plusieurs) serveur qui va s’occuper de configurer l’adressage IP des postes qui en font la demande. Ce serveur aura une “liste” d’adresses √† distribuer avec des param√®tres compl√©mentaires, des “options” comme par exemple la passerelle et le serveur DNS.

Avantage dans l’avantage, comme la gestion est centralis√©e, si demain l’adresse de votre serveur DNS change (ou tout autre param√®tre), vous n’aurez qu’√† d√©clarer la nouvelle adresse IP au service DHCP qui se chargera de la distribuer aux postes clients √† leur red√©marrage.

Autre point, comme il n’y a pas d’intervention humaine, il a diminution du risque de conflit d’adresses IP dans l’infrastructure. Je rappelle qu’une adresse IP doit √™tre unique dans un r√©seau. Quand le serveur DHCP attribue une adresse √† un √©quipement, celle-ci lui restera attribu√©e pour une dur√©e d√©finie, appel√© un “bail”. Cette adresse ne pourra donc pas √™tre attribu√©e de nouveau tant que la fin du bail n’est pas atteinte.

On résume les principaux avantages du DHCP :

 

Comment ça fonctionne le DHCP ?

Pour qu’un √©quipement puisse recevoir une configuration r√©seau, il doit en faire la demande. Vous pouvez tout √† fait avoir un √©quipement sur lequel vous configurer vous m√™me l’adressage IP, comme sur un serveur par exemple ou encore un routeur. Par d√©faut, tout les postes de travail sont en attente d’une configuration automatique. Lorsque l’on connecte un ordinateur √† un r√©seau, celui ci va chercher un serveur DHCP pour lui transmettre les informations dont il a besoin pour communiquer avec le reste du r√©seau.

Si on effectue une capture des trames sur un r√©seau lorsqu’un poste de travail souhaite obtenir une configuration r√©seau automatiquement, on devrait voir appara√ģtre ceci :

Décryptons ces trames ensemble.

Dans la 1√®re ligne, on voit une demande √©manant de la source 0.0.0.0 qui repr√©sente en fait notre poste de travail, qui envoie un message √† destination de 255.255.255.255. On dit alors que l’ordinateur, le “client”, diffuse en “broadcast” un message sur l’ensemble du r√©seau. Un broadcast √ßa signifie envoyer une requ√™te √† destination de l’adresse 255.255.255.255, soit, √† tout le monde sur le r√©seau o√Ļ l’on se trouve

Info + : L’adresse de broadcast 255.255.255.255 est g√©n√©rale pour le cas d’un poste cherchant un DHCP √©tant donn√© qu’il n’appartient pas encore √† un r√©seau. Des broadcasts peuvent √™tre √©mis pour d’autres usages par un poste appartenant par exemple au r√©seau 192.168.10.0/24. Dans ce cas, le broadcast sera √©mis √† l’attention de l’adresse 192.168.10.255 et va donc cibler toutes les adresses du r√©seau 192.168.10.0/24.

En fait dans ce broadcast, on trouvera une requ√™te appel√©e “DHCP DISCOVER. Cette requ√™te va contenir un paquet, un “datagramme“, contenant entres autres, l’adresse physique de la carte r√©seau de la machine, l’adresse MAC, et sera √©mise √† destination du port 67, c’est √† dire le port d’√©coute utilis√©s par les serveurs DHCP pour ce protocole. Le but de ce datagramme est de d√©couvrir sur le r√©seau o√Ļ se situe le client, un serveur DHCP.

Le (ou les) serveur(s) DHCP se trouvant sur le r√©seau et qui va recevoir le datagramme va alors r√©pondre √† son tour par une requ√™te “DHCP OFFER sur le port 68 cette fois-ci qui est le port d’√©coute utilis√© par le protocole DHCP pour les clients. Il va en fait proposer au client, une potentielle configuration IP.

Le client va alors retenir la 1√®re offre qu’il recevra d’un serveur DHCP et va de nouveau diffuser un datagramme avec la requ√™te “DCHP REQUEST. Dans ce datagramme, on trouvera l’adresse IP du serveur DHCP qui a r√©pondu √† la demande du client et √©galement l’adresse IP qui lui a √©t√© propos√©e. En fait, cette nouvelle requ√™te sert √† demander au serveur DHCP de lui assigner l’adresse offerte et de lui transmettre les √©ventuelles autres options n√©cessaires. S’il y a plusieurs serveurs DHCP dans l’environnement qui ont eux aussi fait une offre, ce datagramme va √©galement leur signaler que leur offre n’a pas √©t√© retenue.

Et pour terminer, le serveur DHCP choisi envoie un dernier datagramme servant d’accus√© de r√©ception appel√© “DHCP ACK. Cette derni√®re requ√™te assigne au client son adresse IP et lui transmet toutes les informations dont il aura besoin comme par exemple, le masque de sous-r√©seau, la dur√©e du bail de cette adresse, et les options √©ventuelles (DNS, NTP, routeur…).

Plut√īt simple non ? On r√©capitule le fonctionnement du DHCP, ou plut√īt les √©changes entre le client et le serveur :

Info + : On rencontrera √©galement d’autres types de requ√™te entre les clients et les serveurs DHCP comme par exemple “DHCP RELEASE” qui sp√©cifie au serveur que le client lib√®re son adresse IP, ou encore “DHCP INFORM” qui est une demande d’un client ayant d√©j√† son adresse IP attribu√©e mais qui souhaite obtenir les autres informations (pour √™tre √† jour au niveau de la configuration r√©seau dans le cas o√Ļ le bail n’est pas encore arriv√© √† terme par exemple).¬†

 

Que se passe-t-il si aucun serveur DHCP ne me répond ?

Dans ce cas, vous aurez une adresse attribu√©e automatiquement dans le r√©seau 169.254.0.0/16. Ce r√©seau est sp√©cifique et est connu sous le nom de r√©seau APIPA (“Automatic Private Internet Protocol“). APIPA c’est un processus qui permet √† un syst√®me de s’attribuer lui m√™me une adresse IP lorsqu’aucun serveur DHCP n’est joignable.

La carte r√©seau du client envoie des requ√™tes sur l’adresse de broadcast pour tenter de communiquer avec un serveur DHCP. Si elle ne re√ßoit pas de r√©ponse, elle va s’attribuer automatiquement une adresse situ√©e dans le r√©seau APIPA. Attention, le 169.254.0.0/16 est un r√©seau priv√©, compl√®tement isol√© et non routable ! C’est √† dire que votre machine ne pourra pas communiquer avec d’autres et donc par cons√©quent, n’acc√©dera pas √† internet.

Les raisons pour lesquels un poste ne recevrait pas une adresse d’un DHCP sont nombreuses. En voici quelques une au hasard :

  • Il n’y a pas de serveur DHCP sur le r√©seau
  • Le service DHCP n’a plus d’adresses √† fournir
  • Le serveur DHCP n’est pas joignable (probl√®me r√©seau ou syst√®me)
  • Des strat√©gies de filtrage par adresses MAC sont appliqu√©es sur le serveur DHCP et votre machine ne respectent pas les conditions
  • Le port du switch sur lequel est branch√© votre machine est d√©sactiv√©

 

Quelles sont les fonctionnalit√©s principales d’un serveur DHCP ?

Quand on a d√©ploy√© le service DHCP dans son infrastructure, la 1√®re chose √† faire c’est de cr√©er des √©tendues pour les r√©seaux que l’on veut¬†desservir, et d’y d√©finir des plages, aussi appel√©es des pools” d’adresses IP que le DCHP devra distribuer sur ladite √©tendue.

On peut √©galement attribuer des options √† notre √©tendue comme par exemple l’option “Routeur” qui va d√©finir l’adresse de passerelle de ce r√©seau. On parle d’une “option d’√©tendue” car cette option ne va s’appliquer que sur l’√©tendue o√Ļ elle est d√©finie.

Si l’on souhaite appliquer une option √† toutes les √©tendues du serveur DHCP, il faudra alors utiliser une “option de serveur” comme par exemple l’option “Serveur DNS”. Une option de serveur se g√®re en dehors des √©tendues.

Autre possibilit√©, ajouter des plages d’exclusions √† l’int√©rieur de notre pool d’adresse. Cela signifie que l’on peut d√©finir une plage d’adresses IP qui ne seront pas attribu√©es par le DHCP. Par exemple, on peut d√©finir le pool √† distribuer sur 192.168.10.1 √† 192.168.10.254 mais d√©cider que les 100 premi√®res adresses ne devront pas √™tre distribu√©es mais qu’on souhaite les garder pour les attribuer manuellement. On devra alors exclure la plage d’adresses allant de 192.168.10.1 √† 192.168.10.100.

Autre fonctionnalit√© bien utile, la fonction “R√©servation”, qui permet comme son nom l’indique de r√©server une adresse IP sp√©cifique de l’√©tendue √† un client particulier en sp√©cifiant son adresse MAC. On peut l’utiliser par exemple pour une imprimante. Le serveur DHCP saura que si telle adresse MAC en fait la demande, elle devra recevoir telle adresse IP et non pas une autre.

Voil√† nous avons un mod√®le de base d’une possible configuration du service DHCP avec ses fonctionnalit√©s majeures !

 

Bon, je suis convaincu ! Comment on installe et configure un serveur DHCP ?

Oh mais quelle bonne question ! angel

Pour y r√©pondre, rien de mieux qu’un petit tuto dans un autre article ! blush¬†

Voir l’article version Windows : Installation et param√©trage du service DHCP sous Windows

Voir l’article version Linux : Installation et param√©trage du service DHCP sous Linux

 

Voil√† qui cl√īture cette petite introduction au DHCP ! Un service tr√®s pratique qui n’a (presque) rien de tr√®s compliqu√© √† comprendre et mettre en place.

See U soon ! declare

Introduction au DHCP

Articles pouvant vous intéresser