Protocole DHCP (Dynamic Host Configuration Protocol)

Sommaire

  1.  Principe du protocole DHCP 2
  2.  Principe du protocole BOOTP 3
  3.  Configuration de DHCP 4
  4.  Vérification et dépannage du fonctionnement du protocole DHCP 5
  5.  Relais DHCP 6

1. Principe du protocole DHCP

Le protocole DHCP (Dynamic Host Configuration Protocol) fonctionne en mode client/serveur. Le protocole DHCP permet aux clients DHCP d’un réseau IP d’obtenir leurs configurations à partir d’un serveur DHCP. Avec le protocole DHCP, la gestion d’un réseau IP demande moins de travail. L’adresse IP est l’option de configuration la plus importante que le client reçoit du serveur. Le protocole DHCP est décrit dans la RFC 2131.

Un client DHCP est fourni avec la plupart des systèmes d’exploitation récents, notamment les divers systèmes Windows, Novell Netware, Sun Solaris, Linux et MAC OS. Le client demande des valeurs d’adressage au serveur DHCP du réseau. Ce serveur gère l’allocation des adresses IP et répond aux requêtes de configuration des clients. Le serveur DHCP peut répondre à des requêtes pour de nombreux sous-réseaux. Le protocole DHCP n’est pas destiné à configurer les routeurs, les commutateurs et les serveurs. Ces types d’hôtes nécessitent des adresses IP statiques.

Le protocole DHCP fonctionne en fournissant un processus permettant à un serveur d’allouer des informations IP à des clients. Les clients louent ces informations au serveur pour la période définie par l’administrateur. À l’expiration de la période d’utilisation, le client doit demander une autre adresse, même si l’adresse courante est généralement reconduite.

En règle générale, les administrateurs préfèrent qu’un serveur réseau fournisse des services DHCP, car ces solutions sont évolutives et relativement faciles à gérer. Les routeurs Cisco peuvent utiliser un jeu de fonctions Cisco IOS, Easy IP, pour offrir en option un serveur DHCP complet. Par défaut, Easy IP concède des configurations pendant 24 heures. Ceci s’avère utile dans les petits bureaux ou pour les télétravailleurs, qui peuvent ainsi profiter de DHCP et de NAT sans disposer d’un serveur Windows ou UNIX.

Les administrateurs configurent des serveurs DHCP pour assigner des adresses prises dans des groupes prédéfinis. Les serveurs DHCP peuvent également fournir d’autres informations, telles que des adresses de serveurs DNS, des adresses de serveurs WINS et des noms de domaine. La plupart des serveurs DHCP permettent aussi à l’administrateur de définir spécifiquement les adresses MAC des clients qui peuvent être desservis et de leur attribuer la même adresse IP à chaque fois.

Le protocole DHCP s’appuie sur le protocole de transport UDP (User Datagram Protocol). Le client envoie des messages au serveur sur le port 67. Le serveur envoie des messages au client sur le port 68.

Trois mécanismes permettent d’attribuer une adresse IP au client:

L’allocation automatique – Le protocole DHCP attribue une adresse IP permanente à un client.

L’allocation manuelle – C’est l’administrateur qui attribue l’adresse IP au client. DHCP transfère l’adresse au client.

L’allocation dynamique – DHCP attribue, ou concède, une adresse IP au client pendant une durée limitée.

La présente section concerne principalement le mécanisme d’allocation dynamique. Certains des paramètres de configuration disponibles sont énumérés dans l’IETF RFC 1533:

  • Le masque de sous-réseau
  • Le routeur
  • Le nom de domaine
  • Le(s) serveur(s) de noms de domaine
  • Le(s) serveur(s) WINS

2. Principe du protocole BOOTP

La communauté Internet a tout d’abord développé le protocole BOOTP pour assurer la configuration des stations de travail sans disque. Le protocole BOOTP a été défini à l’origine dans la RFC 951 de 1985. En tant que prédécesseur de DHCP, BOOTP partage certaines de ses caractéristiques. Les deux protocoles sont de type client/serveur et utilisent les ports UDP 67 et 68. Ces ports continuent à s’appeler les ports BOOTP.

Les quatre paramètres IP de base sont:

  • L’adresse IP
  • L’adresse de passerelle
  • Le masque de sous-réseau
  • L’adresse du serveur DNS

Le protocole BOOTP n’attribue pas les adresses IP à un hôte de façon dynamique. Quand un client demande une adresse IP, le serveur BOOTP recherche dans une table prédéfinie l’entrée qui correspond à l’adresse MAC du client. S’il existe une entrée, l’adresse IP correspondante est renvoyée au client. Ceci signifie que la liaison entre l’adresse MAC et l’adresse IP doit déjà avoir été configurée dans le serveur BOOTP.

Il existe deux différences principales entre les protocoles DHCP et BOOTP:

  • DHCP définit des mécanismes par lesquels les clients peuvent se voir attribuer une adresse IP pendant une période d’utilisation déterminée. Cette période d’utilisation permet de réattribuer l’adresse IP à un autre client ou permet au client d’en obtenir une nouvelle s’il passe sur un autre sous-réseau. Les clients peuvent également renouveler les périodes d’utilisation et conserver la même adresse IP.
  • Le protocole DHCP fournit le mécanisme permettant à un client de récupérer d’autres paramètres de configuration IP, telles que le WINS et le nom de domaine.

3. Configuration de DHCP

A l’instar de la fonction NAT, un serveur DHCP nécessite que l’administrateur ait défini un groupe d’adresses. La commande ip dhcp pool définit les adresses qui vont être attribuées aux hôtes.

La première commande, ip dhcp pool, crée un groupe portant le nom spécifié, puis place le routeur en mode spécialisé de configuration DHCP.

Dans ce mode, utilisez l’instruction network pour définir la plage d’adresses à octroyer. Si des adresses spécifiques du réseau doivent être exclues, revenez au mode de configuration globale.

La commande ip dhcp excluded-address configure le routeur pour lui faire exclure une adresse ou une série d’adresses lors de l’assignation d’adresses à des clients. La commande ip dhcp excluded-address peut être utilisée pour réserver des adresses attribuées de façon statique à des hôtes clés, par exemple l’adresse d’interface sur le routeur.

En règle générale, la configuration d’un serveur DHCP lui permet d’attribuer beaucoup plus qu’une adresse IP. D’autres valeurs de configuration IP, telles que la passerelle par défaut, peuvent être définies à partir du mode de configuration de DHCP. La commande default-router définit la passerelle par défaut. Les adresses du serveur DNS, dns-server, et du serveur WINS, netbios-name-server, peuvent également être configurées ici. Le serveur IOS DHCP peut configurer des clients avec pratiquement n’importe quelles informations TCP/IP.

La liste des principales commandes du serveur IOS DHCP entrées dans le mode de configuration du groupe DHCP est présentée à la figure.

La liste des principales commandes du serveur IOS DHCP

Le service DHCP est activé par défaut sur les versions de Cisco IOS qui le prennent en charge. Pour désactiver le service, utilisez la commande no service dhcp. Utilisez la commande de configuration globale service dhcp pour réactiver le processus du serveur DHCP

4. Vérification et dépannage du fonctionnement du protocole DHCP

Pour vous assurer du bon fonctionnement du protocole DHCP, vous pouvez utiliser la commande show ip dhcp binding. Elle affiche la liste de toutes les liaisons créées par le service DHCP.

Pour vous assurer que des messages sont reçus ou envoyés par le routeur, utilisez la commande show ip dhcp server statistics. Elle fournit les nombres de messages DHCP envoyés et reçus

Pour dépanner le protocole DHCP, vous pouvez utiliser la commande debug ip dhcp server events. Cette commande montre que le serveur vérifie régulièrement si les périodes d’utilisation ont expiré. S’affichent également les processus des adresses renvoyées et des adresses allouées

5. Relais DHCP

Les clients DHCP utilisent des broadcasts IP pour retrouver le serveur DHCP sur le segment. Que se passe-t-il quand le serveur et le client ne résident pas sur le même segment et sont séparés par un routeur ? Les routeurs ne transmettent pas les broadcasts.

DHCP n’est pas le seul service critique à faire appel aux broadcasts. Les routeurs Cisco et d’autres équipements peuvent utiliser des broadcasts pour localiser les serveurs TFTP. Certains clients peuvent avoir besoin d’émettre un broadcast pour localiser un serveur TACACS. Un serveur TACACS est un serveur de sécurité. Généralement, sur un réseau hiérarchique complexe, les clients résident sur le même sous-réseau que les serveurs clés. Ces clients distants émettent des broadcasts pour localiser ces serveurs. En revanche, par défaut, les routeurs ne transfèrent aucun message de broadcast au-delà de leur propre sous-réseau.

Comme certains clients sont inutiles sans des services comme DHCP, l’administrateur doit choisir entre les deux options suivantes : placer des serveurs sur tous les sous-réseaux ou utiliser la fonction adresse de diffusion de Cisco IOS. Le fait d’exécuter des services tels que DHCP ou DNS sur plusieurs ordinateurs est à l’origine de surcharges et de difficultés administratives, lesquelles rendent la première option inefficace. Lorsque c’est possible, les administrateurs doivent utiliser la commande ip helper-address pour relayer les requêtes de broadcast pour ces services UDP clés.

En utilisant la fonction d’adresse de diffusion, il est possible de configurer un routeur pour lui faire accepter une requête de broadcast de service UDP, puis de la transférer en unicast vers une adresse IP spécifique. Par défaut, la commande ip helper-address transfère les huit services UDP suivants:

  • Protocole Time
  • TACACS
  • Le protocole DNS
  • Le serveur BOOTP/DHCP
  • Le client BOOTP/DHCP
  • TFTP
  • Le service de noms NetBIOS
  • Le service de datagramme NetBIOS

Relais DHCP

Dans le cas particulier de DHCP, un client diffuse un paquet DHCPDISCOVER sur son segment local. Ce paquet est prélevé par la passerelle. Si une adresse de diffusion est configurée, le paquet DHCP est transféré à l’adresse spécifiée. Avant de transférer le paquet, le routeur renseigne le champ GIADDR du paquet avec l’adresse IP du routeur de ce segment. Cette adresse représente ensuite l’adresse de passerelle pour le client DHCP lorsque celui-ci obtient l’adresse IP.

Le serveur DHCP reçoit le paquet de découverte. Le serveur utilise ensuite le champ GIADDR pour indexer la liste de groupes d’adresses afin d’en trouver un dont l’adresse de passerelle est configurée sur la valeur de GIADDR. Ce groupe est ensuite utilisé pour fournir son adresse IP au client.

Telecharger PDF