DHCP : que signifie Dynamic Host Configuration Protocol ?

La connexion d’appareils à un réseau TCP/IP existant est désormais très facile. Auparavant il fallait attribuer manuellement des adresses IP et les saisir dans les différents systèmes, mais de nos jours la gestion des adresses est automatique. Le protocole DHCP (Dynamic Host Configuration Protocol, en français : protocole de configuration dynamique des hôtes) permet au matériel de communication (comme les routeurs, les commutateurs et les hubs) d’attribuer automatiquement une adresse individuelle aux dispositifs de recherche de connexion et de les intégrer dans un réseau.

Qu’est-ce que le DHCP ?

Le protocole DHCP est une extension du protocole BOOTP (Bootstrap Protocol) développé en 1985 pour connecter des périphériques simples comme les terminaux et les postes de travail sans disque dur à un serveur de démarrage. Ces périphériques accèdent ensuite à votre système d’exploitation via le serveur. Conçu comme une solution pour les grands réseaux et pour les ordinateurs portables, le DHCP complète BOOTP avec des fonctionnalités telles que la possibilité d’assigner automatiquement des adresses réseau réutilisables et des options de configuration supplémentaires. Après les premières définitions du protocole dans les RFC 1531 et 1541 (tous les deux de 1993), la spécification standard a été officialisée en 1997 et a été enregistrée dans le RFC 2131. L’IANA (Internet Assigned Numbers Authority) a attribué les ports UDP 67 et 68 (pour IPv6 : ports 546 et 547) au protocole de communication, qui sont également affectés pour le protocole Bootstrap.

L’attribution d’adresses avec le DHCP fonctionne selon le principe du client-serveur : les appareils qui recherchent une connexion demandent la configuration de l’adresse IP à un serveur DHCP, qui accède à son tour à une base de données dans laquelle sont saisies les paramètres réseau à définir. De plus, ce serveur, qui fait partie intégrante de tout routeur DSL moderne, peut assigner les paramètres suivants au client en utilisant ses informations de base données :

  • Adresse IP unique

  • Masque de sous-réseau

  • Passerelle standard

  • Serveur DNS

  • Configuration du proxy via WPAD (Web Proxy Auto-Discovery Protocol)
Définition

le protocole DHCP est un protocole de communication pour les réseaux informatiques qui a été défini en 1997 dans le RFC 2131. Conformément au principe client-serveur, il garantit le fait que les appareils à la recherche d’une connexion obtiennent automatiquement une adresse réseau réutilisable et tous les autres paramètres pertinents. A cette fin, l’IANA (Internet Assigned Numbers Authority) a affecté les ports UDP 67 et 68 au DHCP.

Comment le serveur et le client DHCP communiquent ?

L’attribution automatiques des adresses via le protocole de configuration dynamique de l‘hôte (DHCP) se déroule en quatre étapes consécutives :

  1. Pour commencer, le client envoie un paquet DHCPDISCOVER avec l’adresse cible 255.255.255.255 et l’adresse source 0.0.0.0. Avec cette diffusion, il contacte tous les participants du réseau pour localiser les serveurs DHCP disponibles et les informer de la demande d’adresse. Dans le meilleur des cas, seul un serveur existe, ainsi il n’y a pas de complications avec l’attribution.

  2. Tous les serveurs DHCP qui écoutent les requêtes du port 67 répondent à la demande du client avec un paquet DHCPOFFER. Cette réponse, en plus d’une éventuelle adresse IP libre et l’adresse MAC du client, contient aussi le masque de sous-réseau ainsi que l’adresse IP et ID du serveur.

  3. Le client DHCP en sélectionne un à partir des données d’adresse reçues et informe le serveur concerné via DHCPREQUEST. Tous les autres serveurs reçoivent aussi ce message et savent ainsi que le choix a été fait en faveur d’un autre serveur. De plus, le client demande au serveur d’activer les données proposées. Le DHCPREQUEST est aussi utilisé pour confirmer les paramètres reçus précédemment.

  4. Enfin, le serveur confirme les paramètres TCP/IP et va les transmettre à nouveau au client à l’aide d’un paquet DHCPACK (DHCP acknowledged, pour « reconnu »). Il contient des informations supplémentaires, par exemple sur les serveurs DNS, SMTP ou POP3. Le DHCP client enregistre maintenant toutes les données reçues localement et se connecte au réseau. Si le serveur n’est plus disponible ou si l’adresse IP a été attribuée à un autre client au cours du processus de configuration, il répond alors avec DHCPNAK (DHCP not acknowledged « non reconnu »).

L’adresse automatiquement assignée est enregistrée en combinaison avec l’adresse MAC dans la base de données du serveur, ce qui signifie que la configuration devient permanente. L’appareil se connecte toujours au réseau avec l’adresse IP affectée, qui est bloquée pour les autres clients. Toutefois, cela présente aussi l’inconvénient que les nouveaux clients DHCP ne reçoivent pas d’adresse si toute la plage d’adresses a déjà été assignée, même si certaines adresses IP ne sont plus utilisées activement. C’est essentiellement pour cette raison que les adresses IP dynamiques et dans certains cas particuliers l’affectation manuelle via le serveur DHCP, comme il en sera question dans la section suivante, sont bien plus couramment utilisés.

DHCP : attribution d’adresses manuelle et dynamique.

Le risque de rencontrer une plage d’adresses entièrement occupée est peu probable lors de l’attribution d’adresses dynamique. En principe, cette méthode est largement similaire à l’assignation automatique, mais il existe néanmoins une petite et subtile différence : les configurations IP transmises par le serveur DHCP ne sont pas valables pour une durée indéterminée mais avec un bail défini par l’administrateur. Il indique la durée pendant laquelle l’appareil peut accéder au réseau avec l’adresse IP correspondante. Avant l’expiration de ce délai, les clients conformes aux normes doivent demander une prolongation en envoyant un autre paquet DHCPREQUEST. Si cela ne se produit pas, il y a alors un DHCP refresh et le serveur libère l’adresse.

Bien que les administrateurs n’aient pas grand-chose à voir avec les options d’affectation automatique ou dynamique, la situation avec l’affectation manuelle des adresses est complètement différente. Dans cette procédure, appelée aussi DHCP statique, les adresses IP disponibles sont assignées manuellement à des adresses MAC spécifiques à l’aide du serveur DHCP. Il n’y a aucune restriction concernant la période de validité.

En raison de l’effort administratif important, qui va à l’encontre du but réel du Dynamic Host Configuration Protocol, ce type d’affectation n’est utile que pour très peu de scénarios d’application. Les adresses IP statiques sont nécessaires, par exemple, si des services de serveur sont hébergés sur l’ordinateur en question et devraient être accessibles à tout moment pour d’autres utilisateurs du réseau. Il est également important pour la redirection de port que l’adresse IP reste inchangée.

Le serveur DHCP informe le DNS (Domain Name System)

Pour que les adresses IP attribuées par les clients puissent recevoir leurs noms de domaine entièrement qualifiés, un serveur DNS doit fournir une résolution de nom. Si une adresse ou un nom d’hôte déjà saisi est modifié, le serveur de noms a besoin d’une mise à jour. Dans le cas d’une modification et d’une évolution constante des adresses IP résultant de l’allocation dynamique via un serveur DHCP, l’exécution manuelle exigerait beaucoup d’efforts de la part de l’administrateur du réseau, ainsi que pour l’utilisateur qui souhaite se connecter à Internet avec ses appareils à domicile. Le fait qu’ils n’aient pas à le faire est possible grâce au serveur DHCP, ce dernier se charge en effet d’envoyer les nouvelles informations au DNS dès qu’une nouvelle adresse IP est assignée.

Le DHCP est-il sur ?

Une des faiblesses du Dynamic Host Configuration Protocol est le fait qu’il est facile à manipuler : comme le client contacte tous les serveurs DHCP potentiels, cela permet par exemple, aux hackers de faire intervenir leur propre machine, si ils ont accès au réseau en question. On nomme un tel serveur malveillant un DHCP « Rogue », ce dernier essaie d’être plus rapide avec sa réponse à la demande de connexion du client que le serveur normal lui-même. En cas de succès, il transmet des paramètres manipulés ou bien inutilisables. Ainsi, il peut par ce biais, lancer des attaques par déni de service sur le réseau en ne transmettant pas de passerelle, en assignant un sous-réseau distinct à chaque client ou en répondant à toutes les demandes avec la même adresse IP.

Un autre scénario encore plus dramatique mais plausible est la tentative d’introduire un routeur étranger qui coupe ou redirige le trafic de données du client en utilisant une passerelle et des informations DNS incorrectes. Contrairement au premier type d’attaque mentionnée plus haut, une attaque de l’homme du milieu ne vise pas le crash du réseau, mais plutôt l’appropriation frauduleuse de données sensibles comme les données bancaires, les mots de passe ou les informations d’adresse.

Quel que soit le type d’attaque, les attaquants doivent cependant avoir un accès direct à votre réseau afin d’utiliser le protocole DHCP à leurs propres fins. Prenez les précautions de sécurité nécessaires et profitez des avantages du protocole de communication sans avoir à craindre de telles attaques. En tant que responsable d’un réseau local plus large, vous devez disposer d’une protection complète contre les attaques externes et internes ainsi que d’une surveillance continue de tous les processus réseau avec des outils tels que Nagios qui se doit d’être pour vous la norme. Dans notre guide sur la sécurité wifi, nous apportons des informations supplémentaires sur les options qui s’offrent à vous pour protéger les réseaux sans fil.

Activer et désactiver le DHCP : fonctionnement

Si vous souhaitez rejoindre un réseau local ou sans fil avec votre appareil, vous utilisez généralement de manière automatique le protocole DHCP sans avoir à modifier les paramètres réseau. Par exemple, les ordinateurs équipés du système d’exploitation Microsoft Windows sont depuis longtemps préprogrammés pour fonctionner comme des clients DHCP qui obtiennent leurs adresses IP automatiquement. Par défaut, il s’agit du type d’affectation dynamique, dans lequel les paramètres de configurations doivent être « prolongés » ou réaffectées après la date d’expiration. Dans les réseaux locaux, l’attribution automatique d’adresses fixes peut également être utilisée si le serveur DHCP est impliqué et configuré de manière appropriée.

Si vous souhaitez vérifier les paramètres d’attribution d’adresse en cours ou désactiver le DHCP et passer à la variante manuelle, vous pouvez le faire en suivant les étapes décrites ci-dessous, mais pour cela vous devez bien sur disposer des droits d’administrateur.

Activer et désactiver DHCP sous Windows 7

  1. Il faut tout d’abord utiliser le menu « Démarrer » pour pouvoir accéder au panneau de configuration, puis veuillez sélectionner la catégorie « Network and Internet » (« Réseau et Internet ».)
  1. Ouvrir « Network and Sharing Center » (« Centre Réseau et partage ») et dans le menu de gauche veuillez sélectionner « Change adapter settings » (« modifier les paramètres de la carte »).
  1. Veuillez ensuite cliquer avec le bouton droit de la souris sur la connexion au réseau local à configurer et dans le menu déroulant veuillez sélectionner « Propriétés ».
  1. Le menu suivant affiche tous les services qui sont utilisés par la connexion sélectionnée. Le protocole Internet (TCP/IPv4 ou IPv6) est important pour configurer le DHCP sous Windows 7, c’est pourquoi il est maintenant nécessaire de sélectionner la version correspondante de l’IP et d’accéder ainsi à ses propriétés en cliquant sur le bouton gauche correspondant:
  1. Dans le menu propriétés du protocole Internet, vous pouvez maintenant voir sir le DHCP obtient automatiquement l’adresse IP et le serveur DNS, comme indiqué dans le capture d‘écran ci-dessous. Sinon, vous pouvez spécifier une adresse IP fixe, une passerelle par défaut, un masque de sous réseau et le serveur DNS préféré.
  1. Si vous avez l’intention de désactiver le DHCP, vous devez toujours saisir une adresse IP fixe et un masque de sous-réseau (par défaut 255.255.255.0). Vous pouvez définir la plage d'adresses potentielles pour l’adresse IP dans les paramètres du serveur DHCP, que vous pouvez appeler via l'interface utilisateur de votre routeur puisqu’il agit comme un serveur. Il est également possible de désactiver le serveur DHCP et l’attribution d’adresses via le protocole.

Configurer DHCP sous Windows 8

  1. Cliquez sur le menu Démarrer et veuillez rechercher le panneau de configuration dans les applications répertoriées. Vous pouvez également l’appeler en appuyant sur la touche [Windows-Taste] + [X] et en sélectionnant « Control Panel » ou « Panneau de configuration » dans le menu.
  1. Depuis « Network and Internet » ou « Réseau et Internet », vous pouvez accéder au « Centre réseau et partage », là vous pouvez y consulter la liste des connexions réseau configurées en cliquant sur « change adapter settings » ou « modifier les paramètres de la carte ».
  1. En cliquant avec le bouton droit de la souris sur la connexion réseau de votre choix et en sélectionnant « Propriétés » dans le menu, un aperçu s’ouvre avec les différents composants du système utilisés par la connexion locale.
  1. Dans la liste, recherchez les protocoles Internet IPv4 et IPv6. Par la suite sélectionnez la version souhaitée et cliquez sur « Propriétés ».

  2. Ce menu d’options vous montrera ensuite comment votre système gère actuellement l’attribution des adresses IP. Si vous souhaitez activer le DHCP statique sur Windows 8 à la place de la procédure automatique habituelle, sélectionnez alors l’option « utiliser l’adresse IP suivante » et entrez l’adresse souhaitée avec le masque de sous-réseau (par défaut : 255.255.255.0). En option, vous pouvez également spécifier la passerelle par défaut (habituellement l’adresse IP du routeur) et l’adresse de serveur DNS que vous souhaitez utiliser.
  1. Pour désactiver le  DHCP, il est à nouveau nécessaire d’entrer les paramètres correspondants dans le serveur que vous utilisez. 

Activer et configurer le DHCP avec Windows 10

  1. Pour accéder au panneau de configuration, il faut le sélectionner dans le menu Démarrer ou en utilisant le raccourci avec la combinaison de touches [Windows-Taste] + [X] et en cliquant sur le bouton correspondant.
  1. Il vous faut maintenant cliquer sur « Réseau et Internet », et sélectionner dans le nouveau menu « modifier les paramètres de la carte »
  1. Cliquez avec le bouton droit de la souris sur la connexion locale souhaitée et sélectionnez « Propriétés » dans le menu déroulant.

  2. Dans la liste des protocoles et services activés ou non activés, sélectionnez l’entrée de la version souhaitée du protocole Internet, puis l’ouvrir en cliquant sur le bouton « Propriétés » :
  1. Par défaut, l’option « obtenir l’adresse IP automatiquement » est préréglée ici. Sinon, vous pouvez l’activer en le sélectionnant. Ou alors, vous pouvez choisir l’affectation statique et saisir manuellement les paramètres réseau souhaités (comme le montre la capture d’écran suivante).
  1. Pour désactiver le DHCP sous Windows 10, vous devez accéder à l’interface de votre serveur DHCP et y effectuer les réglages appropriés.