Lorsque nous parlons de réseaux, certaines ressources sont utilisées et nous facilitent grandement la vie, mais nous ne les réalisons même pas. L’un d’eux est le protocole DHCP. De l’anglais Dynamic Host Configuration Protocol, il s’agit d’un protocole utilisé dans les réseaux informatiques qui permet aux machines d’obtenir automatiquement une adresse IP.
Ce protocole a commencé à gagner du terrain vers octobre 1993, étant le successeur de BOOTP qui, bien que plus simple, est devenu trop limité pour les besoins actuels.
Le protocole DHCP est un protocole client/serveur qui fournit automatiquement à un hôte IP (protocole IP) son adresse IP et d’autres informations de configuration connexes telles que le masque de sous-réseau et la passerelle par défaut. Les RFC 2131 et 2132 définissent DHCP comme une norme IETF (Internet Engineering Task Force) basée sur le protocole BOOTP, un protocole avec lequel DHCP partage de nombreux détails de mise en œuvre. DHCP permet aux hôtes d’obtenir les informations de configuration TCP/IP nécessaires à partir d’un serveur DHCP.
Windows Server 2016 inclut le serveur DHCP, qui est un rôle de serveur réseau facultatif que vous pouvez déployer sur votre réseau pour louer des adresses IP et d’autres informations aux clients DHCP. Tous les systèmes d’exploitation client Windows basés sur Windows incluent le client DHCP dans le cadre de TCP/IP et le client DHCP est activé par défaut.
Pourquoi est-il important ?
Disons que vous êtes l’administrateur d’un réseau. S’il s’agissait d’un réseau domestique avec 3 ordinateurs, il ne serait pas trop difficile d’attribuer un numéro IP et tous les paramètres nécessaires à chacun d’eux. Maintenant, s’il y en avait 100, 200 ou plus, l’histoire serait certainement différente.
C’est exactement ce que fait le protocole DHCP, grâce auquel un serveur est capable de distribuer automatiquement différentes adresses IP à tous les ordinateurs lorsqu’ils demandent à se connecter au réseau. Cette distribution des IP se fait à un intervalle prédéfini configuré sur le serveur. Chaque fois que l’une des machines est déconnectée, l’IP sera libre d’utilisation sur une autre.
Vous avez peut-être entendu dire que vous obtenez une adresse IP différente pour chaque connexion Internet, n’est-ce pas ? C’est un fait qui est responsable du DHCP combiné à différents protocoles.
Comment fait-il?
En bref, en utilisant un modèle client-serveur, DHCP fait ce qui suit :
● Lorsqu’un client se connecte à un réseau, il envoie un paquet avec une demande de paramètres DHCP.
● Le serveur DHCP gère une plage fixe d’adresses IP disponibles ainsi que les informations et paramètres nécessaires (passerelle par défaut, nom de domaine, DNS, etc.).
● Lorsque ce serveur reçoit une demande, il fournit l’une de ces adresses et paramètres au client.
Modes de fonctionnement
Il peut fonctionner de trois manières : automatique, dynamique et manuelle.
Automatique , dans lequel un certain nombre d’adresses IP (dans une plage) sont définies pour être utilisées sur le réseau. Dans ce cas, chaque fois qu’un des ordinateurs d’un réseau demande à se connecter à celui-ci, une de ces IP sera attribuée à la machine en question.
En dynamique , la procédure est très similaire à celle effectuée par automatique, mais la connexion de l’ordinateur avec une certaine adresse IP est limitée par une période de temps préconfigurée qui peut varier selon les souhaits de l’administrateur réseau.
En mode manuel , DHCP alloue une adresse IP en fonction de la valeur MAC (Medium Access Control) de chaque carte réseau afin que chaque ordinateur n’utilise que cette adresse IP. Cette fonctionnalité est utilisée lorsqu’il est nécessaire qu’une machine ait une adresse IP fixe.
Comme DHCP prend en charge plusieurs plates-formes, il apporte une solution efficace et fournit une aide précieuse aux administrateurs réseau. Maintenant que vous savez ce qu’est ce protocole réseau et ce qu’il fait, nous espérons que toutes les questions concernant le sujet ont reçu une réponse satisfaisante et jusqu’à la prochaine fois !
Pourquoi utiliser DHCP ?
Chaque périphérique sur un réseau TCP/IP doit avoir une adresse IP de monodiffusion unique pour accéder au réseau et à ses ressources. Sans DHCP, les adresses IP des nouveaux ordinateurs ou des ordinateurs déplacés d’un sous-réseau à un autre doivent être configurées manuellement ; Les adresses IP des ordinateurs supprimés du réseau doivent être récupérées manuellement.
Avec DHCP, tout ce processus est automatisé et géré de manière centralisée. Le serveur DHCP gère un pool d’adresses IP et loue une adresse à tout client compatible DHCP lorsqu’il démarre sur le réseau. Étant donné que les adresses IP sont dynamiques (baux) plutôt que statiques (attribuées de manière permanente), les adresses qui ne sont plus utilisées sont automatiquement renvoyées au pool pour être déplacées.
L’administrateur réseau établit des serveurs DHCP qui conservent les informations de configuration TCP/IP et fournissent une configuration d’adresse aux clients DHCP sous la forme d’une offre de location. Le serveur DHCP stocke les informations de configuration dans une base de données qui comprend :
Paramètres de configuration TCP/IP valables pour tous les clients du réseau.
Adresses IP valides, conservées dans un pool pour attribution aux clients, ainsi que les adresses exclues.
Adresses IP réservées associées à des clients DHCP spécifiques. Cela permet l’attribution cohérente d’une seule adresse IP à un seul client DHCP.
La durée du bail, ou la durée pendant laquelle l’adresse IP peut être utilisée avant qu’un renouvellement de bail ne soit requis.
Un client DHCP, après avoir accepté une offre de location, reçoit :
Une adresse IP valide pour le sous-réseau auquel il se connecte.
Options DHCP demandées, qui sont des paramètres supplémentaires qu’un serveur DHCP est configuré pour attribuer aux clients. Quelques exemples d’options DHCP sont le routeur (passerelle par défaut), les serveurs DNS et le nom de domaine DNS.
Avantages du DHCP
DHCP offre les avantages suivants.
Configuration de l’adresse IP de confiance . DHCP minimise les erreurs de configuration causées par la configuration manuelle d’une adresse IP, telles que les erreurs typographiques ou les conflits d’adresses causés par l’attribution d’une adresse IP à plusieurs ordinateurs en même temps.
Administration réseau réduite. DHCP inclut les fonctionnalités suivantes pour réduire l’administration du réseau :
Configuration TCP/IP centralisée et automatisée.
La possibilité de configurer les paramètres TCP/IP à partir d’un emplacement central.
La possibilité d’attribuer une gamme complète de valeurs de configuration TCP/IP supplémentaires via les options DHCP.
Gestion efficace des changements d’adresse IP pour les clients qui doivent être mis à jour fréquemment, tels que ceux des appareils portables qui se déplacent vers différents emplacements sur un réseau sans fil.
Transfert des messages DHCP initiaux à l’aide d’un agent de relais DHCP, ce qui élimine le besoin d’un serveur DHCP sur chaque sous-réseau.
Termes utilisés dans DHCP
Serveur DHCP : C’est un serveur sur lequel le service DHCP a été installé et configuré. Sous Microsoft Windows, après avoir installé un serveur DHCP, il doit être autorisé dans Active Directory avant de pouvoir répondre efficacement aux demandes des clients. La procédure d’autorisation dans Active Directory est une mesure de sécurité pour empêcher l’introduction de serveurs DHCP dans le réseau à l’insu de l’administrateur réseau. En plus de Windows Server, le service DHCP peut également être installé sur les distributions Linux, comme le service DHCP3 Server, un package déjà présent dans la plupart des distributions de serveur Linux. Le serveur DHCP n’est pas disponible pour Windows 2000 Professionnel, Windows XP Professionnel ou Windows Vista.
Client DHCP : Tout périphérique réseau capable d’obtenir les paramètres TCP/IP d’un serveur DHCP. Par exemple, un poste de travail avec Microsoft Windows 10, un poste de travail avec n’importe quelle distribution Linux, une imprimante avec une carte réseau compatible DHCP, etc.
Portée : une portée est la plage consécutive complète d’adresses IP possibles pour un réseau (par exemple, la plage 10.10.10.100 à 10.10.10.150, sur le réseau 10.10.10.0/255.255.255.0). En général, les étendues définissent un seul sous-réseau physique au sein du réseau sur lequel les services DHCP seront proposés. Les étendues fournissent également la principale méthode permettant au serveur de gérer la distribution et l’attribution des adresses IP et d’autres paramètres de configuration pour les clients sur le réseau, tels que la passerelle par défaut, le serveur DNS, etc.
Superscope : un superscope est un regroupement administratif d’étendues qui peut être utilisé pour prendre en charge plusieurs sous-réseaux IP logiques sur le même sous-réseau physique. Les étendues globales contiennent uniquement une liste d’étendues associées ou d’étendues enfants qui peuvent être activées ensemble. Les étendues globales ne sont pas utilisées pour configurer d’autres détails sur l’utilisation de l’étendue. Pour configurer la plupart des propriétés utilisées dans une étendue globale, vous devez configurer les propriétés de chaque étendue associée individuellement. Par exemple, si tous les ordinateurs doivent se voir attribuer le même numéro IP de passerelle par défaut, ce numéro doit être configuré individuellement dans chaque étendue. Il n’y a aucun moyen de faire cette configuration dans le superscope et tous les scopes (qui composent le superscope) héritent de ces configurations.
Plage d’exclusion : une plage d’exclusion est une séquence limitée d’adresses IP dans une étendue, exclue des adresses fournies par DHCP. Les plages d’exclusion garantissent que les adresses de ces plages ne sont pas proposées par le serveur aux clients DHCP de votre réseau. Par exemple, dans la plage 10.10.10.100 à 10.10.10.150, sur le réseau 10.10.10.0/255.255.255.0 d’une étendue donnée, vous pouvez créer une plage d’exclusion de 10.10.10.120 à 10.10.10.130. Les adresses de plage d’exclusion ne seront pas utilisées par le serveur DHCP pour configurer les clients DHCP.
Pool d’adresses : après avoir défini une étendue DHCP et appliqué des plages d’exclusion, les adresses restantes forment le pool d’adresses disponibles dans l’étendue. Les adresses regroupées peuvent être attribuées dynamiquement par le serveur aux clients DHCP de votre réseau. Dans notre exemple, où nous avons la portée avec la plage 10.10.10.100 à 10.10.10.150, avec une plage d’exclusion de 10.10.10.120 à 10.10.10.130, notre pool d’adresses est formé par les adresses de 10.10.10.100 à 10.10.10.119 , plus les adresses 10.10.10.131 à 10.10.10.150.
Bail : Un bail est une période de temps spécifiée par un serveur DHCP pendant laquelle un ordinateur client peut utiliser une adresse IP qu’il a reçue du serveur DHCP (on dit qu’elle est attribuée par le serveur DHCP). Un bail est actif lorsqu’il est utilisé par le client. Généralement, le client doit renouveler son attribution de bail d’adresse avec le serveur avant son expiration. Un bail devient inactif lorsqu’il expire ou est supprimé sur le serveur. La durée d’un bail détermine sa date d’expiration et la fréquence à laquelle le client doit le renouveler sur le serveur.
Réservation : une réservation est utilisée pour créer un bail d’adresse permanente par le serveur DHCP. Les réservations garantissent qu’un périphérique matériel spécifié sur le sous-réseau peut toujours utiliser la même adresse IP. La réservation est créée associée à l’adresse matérielle de la carte réseau, dite adresse MAC (ou adresse MAC). Dans le serveur DHCP, une réservation est créée, associant une adresse IP à une adresse MAC. Lorsque l’ordinateur (avec l’adresse MAC pour laquelle une réservation existe) démarre, il contacte le serveur DHCP. Le serveur DHCP vérifie qu’il existe une réservation pour cette adresse MAC et configure l’ordinateur avec l’adresse IP associée à l’adresse MAC. S’il y a un problème avec la carte réseau de l’ordinateur et que la carte doit être remplacée,
Types d’options : les types d’options sont d’autres paramètres de configuration client qu’un serveur DHCP peut attribuer aux clients. Par exemple, certaines options couramment utilisées incluent les adresses IP pour les passerelles par défaut (routeurs), les serveurs WINS (Windows Internet Name System) et les serveurs DNS (Domain Name System). Ces types d’options sont généralement activés et configurés pour chaque étendue. La console d’administration du service DHCP vous permet également de configurer les types d’options par défaut qui sont utilisés par toutes les étendues ajoutées et configurées sur le serveur. La plupart des options sont prédéfinies via RFC 2132, mais vous pouvez utiliser la console DHCP pour définir et ajouter des types d’options personnalisées si nécessaire.
Critères d’attribution IP
DHCP, selon l’implémentation, peut proposer trois types d’attribution d’adresses IP :
Affectation manuelle – Lorsqu’il existe une table d’association entre l’adresse MAC du client (qui sera comparée via le paquet de diffusion reçu) et l’adresse IP (et les données restantes) à fournir. Cette association est effectuée manuellement par l’administrateur réseau ; par conséquent, seuls les clients dont le MAC apparaît dans cette liste pourront recevoir des configurations de ce serveur ;
Affectation automatique – Lorsque le client obtient une adresse à partir d’un espace d’adressage possible, spécifié par l’administrateur. Il n’y a généralement pas de lien entre les différents MAC activés dans cet espace d’adressage ;
Attribution dynamique – La seule méthode qui permet la réutilisation dynamique des adresses. L’administrateur met à disposition un espace d’adresses possibles, et chaque client aura le logiciel TCP/IP de son interface réseau configuré pour demander une adresse par DHCP dès que la machine sera connectée au réseau. L’allocation utilise un mécanisme de bail d’adresse, caractérisé par une durée de vie. Mise à zéro/expiration de cette durée de vie naturellement, la prochaine fois que le client se connectera, l’adresse sera probablement une autre.
Certaines implémentations de logiciels de serveur DHCP permettent également la mise à jour dynamique des serveurs DNS afin que chaque client dispose également d’un DNS. Ce mécanisme utilise le protocole de mise à jour DNS spécifié dans la RFC 2136.
Relais DHCP
Dans les petits réseaux où un seul sous-réseau IP est géré, les clients DHCP communiquent directement avec les serveurs DHCP. Cependant, les serveurs DHCP peuvent également fournir des adresses IP pour plusieurs sous-réseaux. Dans ce cas, un client DHCP qui n’a pas encore acquis d’adresse IP ne peut pas communiquer directement avec le serveur DHCP en utilisant le routage IP, car il ne possède pas d’adresse IP et ne connaît pas non plus l’adresse IP d’un routeur. Afin de permettre aux clients DHCP des sous-réseaux non desservis directement par les serveurs DHCP de communiquer avec les serveurs DHCP, des agents de relais DHCP peuvent être installés sur ces sous-réseaux. Le client DHCP diffuse sur le lien local, l’agent relais reçoit la diffusion et la diffuse vers un ou plusieurs serveurs DHCP en monodiffusion. L’agent de relais stocke sa propre adresse IP dans le champ GIADDR du paquet DHCP. Le serveur DHCP utilise GIADDR pour déterminer le sous-réseau sur lequel l’agent de relais a reçu la diffusion et attribue une adresse IP sur le sous-réseau. Lorsque le serveur DHCP répond au client, il envoie la réponse à l’adresse GIADDR, toujours en utilisant la monodiffusion. L’agent relais relaie alors la réponse sur le réseau local.
Fiabilité
Le protocole DHCP assure la fiabilité de plusieurs manières : renouvellement périodique, réaffectation et basculement. Les clients DHCP se voient attribuer des baux qui durent un certain temps. Les clients commencent à essayer de renouveler leurs baux une fois que la moitié de l’intervalle de bail a expiré. Pour ce faire, ils envoient un message DHCPREQUEST unicast au serveur DHCP qui a accordé le contrat d’origine. Si ce serveur est en panne ou inaccessible, il cessera de répondre au DHCPREQUEST. Cependant, le DHCPREQUEST sera répété par le client de temps en temps, [précisez], ainsi lorsque le serveur DHCP reviendra ou redeviendra joignable, le client DHCP pourra le contacter, et renouveler son contrat. Si le serveur DHCP est inaccessible pendant une période prolongée, [spécifiez] le client DHCP tentera de se reconnecter, en diffusant son DHCPREQUEST au lieu de le diffuser en monodiffusion. Comme il est diffusé, le message DHCPREQUEST atteindra tous les serveurs DHCP disponibles. Si un autre serveur DHCP est en mesure de renouveler le bail, il le fera à ce stade.
Pour que la nouvelle liaison fonctionne, lorsque le client contacte avec succès un serveur DHCP de secours, le serveur doit disposer d’informations de liaison client précises. Garder les informations de liaison exactes entre deux serveurs est un problème délicat, si les deux serveurs sont capables de mettre à jour la même base de données de localisation, il doit y avoir un mécanisme pour éviter les conflits entre les mises à jour sur des serveurs indépendants. Une norme pour la mise en œuvre de serveurs DHCP tolérants aux pannes a été développée par l’Internet Engineering Task Force.
Si la reconnexion échoue, le bail finira par expirer. A l’expiration du bail, le client doit cesser d’utiliser l’adresse IP qui lui a été communiquée dans son contrat. À ce moment, il redémarrera le processus DHCP depuis le début, en diffusant un message DHCPDISCOVER. Son bail ayant expiré, il acceptera toute adresse IP qui lui sera proposée. Une fois qu’il a une nouvelle adresse IP, probablement d’un serveur DHCP différent, il pourra à nouveau utiliser le réseau. Cependant, comme votre adresse IP a changé, les connexions en cours seront interrompues.
Sécurité
La base du protocole DHCP n’inclut aucun mécanisme d’authentification. Par conséquent, il est vulnérable à une variété d’attaques. Ces attaques se répartissent en trois catégories principales :
Fournir de fausses informations aux clients par des serveurs DHCP non autorisés.
Accès aux ressources du réseau par des clients non autorisés.
Attaques exhaustives sur les ressources réseau à partir de clients DHCP malveillants.
Étant donné que le client n’a aucun moyen de valider l’identité d’un serveur DHCP, des serveurs DHCP non autorisés peuvent fonctionner sur des réseaux et fournir des informations incorrectes aux clients DHCP. Cela peut servir à la fois d’attaque par déni de service, empêchant le client d’accéder à la connectivité réseau. Étant donné que le serveur DHCP fournit au client DHCP les adresses IP du serveur, telles que l’adresse IP d’un ou plusieurs serveurs DNS, un attaquant peut convaincre un client DHCP d’effectuer des recherches via son DNS vers son propre serveur DNS, et peut donc fournir votre propres réponses aux requêtes DNS du client. À son tour, il permet à l’attaquant de rediriger le trafic réseau par lui-même, lui permettant d’écouter les connexions entre les serveurs réseau du client et il entre en contact, ou simplement de remplacer les serveurs réseau par les siens. Étant donné que le serveur DHCP ne dispose d’aucun mécanisme sécurisé pour authentifier le client, les clients peuvent obtenir un accès non autorisé aux adresses IP en présentant des informations d’identification, telles que des identifiants client, qui appartiennent à d’autres clients DHCP. Cela permet également aux clients DHCP d’épuiser le stockage des adresses IP du serveur DHCP en présentant de nouvelles informations d’identification chaque fois qu’il demande une adresse, le client peut consommer toutes les adresses IP disponibles sur un lien réseau particulier, empêchant les autres clients DHCP d’obtenir des services. DHCP fournit certains mécanismes pour atténuer ces problèmes. Cela permet également aux clients DHCP d’épuiser le stockage des adresses IP du serveur DHCP en présentant de nouvelles informations d’identification chaque fois qu’il demande une adresse, le client peut consommer toutes les adresses IP disponibles sur un lien réseau particulier, empêchant les autres clients DHCP d’obtenir des services. DHCP fournit certains mécanismes pour atténuer ces problèmes. Cela permet également aux clients DHCP d’épuiser le stockage des adresses IP du serveur DHCP en présentant de nouvelles informations d’identification chaque fois qu’il demande une adresse, le client peut consommer toutes les adresses IP disponibles sur un lien réseau particulier, empêchant les autres clients DHCP d’obtenir des services. DHCP fournit certains mécanismes pour atténuer ces problèmes.
L’option d’extension du protocole d’information de l’agent de relais (RFC 3046) permet aux opérateurs de réseau de connecter des balises aux messages DHCP une fois que ces messages arrivent sur le réseau de confiance de l’opérateur de réseau. Cette balise est ensuite utilisée comme jeton d’autorisation pour contrôler l’accès client aux ressources réseau. Le client n’ayant pas accès au réseau en amont de l’agent relais, l’absence d’authentification n’empêche pas l’opérateur du serveur DHCP de faire confiance au jeton d’autorisation.
Une autre extension, Authentication for DHCP Messages (RFC 3118), fournit un mécanisme d’authentification des messages DHCP. Malheureusement, la RFC 3118 n’a pas été largement adoptée en raison de problèmes de gestion des clés pour un grand nombre de clients DHCP.