Nous avons vu précédemment (ici) qu’un routeur Cisco peut faire office de serveur DHCP sur un réseau de petite taille. Cependant, le protocole DHCP pose un problème lorsque l’on veut installer un service DHCP sur un serveur distinct qui n’est pas dans le même sous -réseau que les clients.
Dans cet article, nous allons étudier comment transformer le routeur en relais DHCP afin de transmettre les requêtes des clients qui se trouvent sur un réseau différent.
Pour mieux comprendre le problème, nous allons revoir rapidement le fonctionnement du protocole DHCP.
Prenons un réseau basic, composé d’un serveur DCHP et de plusieurs clients.

L’obtention d’une configuration IP d’un client se fait en 4 étapes :
DHCP DISCOVER: Dans un premier temps, le client envoi en broadcast une demande de configuration.
DHCP Offer: Si un serveur DHCP est présent, alors celui-ci reçoit la requête et répond au client en lui proposant une configuration libre.
DHCP Request: Le client demande au premier serveur DHCP qui lui a répondu de lui attribuer la configuration proposée, toujours en broadcast.
DHCP Ack: Enfin, le serveur valide l’attribution au client.
Ci-contre un schéma représentant les différentes étapes:

Il ne faut pas oublier que la demande du client est envoyée en broadcast, le probleme se situe à cet endroit la.
En effet, la demande du client ne pourra pas traverser un routeur puisque c’est un équipement de couche 3, et qu’il sépare les domaines de broadcast.
Dans le schéma ci-dessous, les clients ne pourront pas obtenir une configuration IP car le serveur DHCP est placé derrière le routeur:

La solution à ce problème est de mettre le routeur en mode DHCP Relais afin qu’il transmette toutes les demandes en broadcast du réseau A vers le serveur DHCP du réseau B.
Cette fonction est également valable pour les protocoles suivants :
- TFTP
- DNS
- Time
- NetBIOS Name Server
- NetBIOS Datagram Service
- BOOTP Server
- TACACS
Configuration du routeur
La configuration du routeur est très simple par elle même.
Il faut indiquer au routeur vers quelle adresse IP transférer les demandes qui arrivent sur l’interface.
La manipulation se fait donc en mode de configuration d’interface.
Dans notre exemple, la configuration se fera sur l’interface F0/0
LaboIT(config)#interface FastEthernet0/0 LaboIT(config-if)#ip helper-address 192.168.2.2
La dernière étape consiste à bien configurer le serveur pour qu’il offre des baux DHCP sur l’adresse réseau A. Nous verrons ceci dans de prochains articles. Aussi bien sous Windows Server 2008 que sous un serveur Linux.
Bonjour;
tout d’abord j’aimerai vs remercie de ces articles intéressants et instructifs;
je me demande encore est ce qu’il est possible de réaliser une maquette d’un DHCP Relay sur packet tracer ou bien GNS ? (La dernière étape consiste à bien configurer le serveur pour qu’il offre des baux DHCP sur l’adresse réseau A. Nous verrons ceci dans de prochains articles. )
Merci de votre compréhension et votre aide.
Bonjour.
Il est bien sur possible de réaliser une maquette pour tester le DHCP Relai sous Packet Tracer.
Cependant, Packet Tracer ne peut pas simuler le fonctionnement d’un serveur DHCP sous Windows ou Linux. Vous pouvez toujours remplacer le serveur par un autre routeur Cisco qui fera office de DHPC dans votre réseau.
Alexandre.
Bonjour,
Merci pour ce tuto concernant la configuration du relais des trames DHCP à travers un routeur Cisco ; mais là je bloque sur la configuration de Win Server 2008. Faut-il lui attribuer des adresses IP dans chaque sous-réseau ou non ? Car quand j’ajoute une plage d’IP au serveur DHCP qui ne fait pas partie du réseau de ses interfaces j’ai une erreur. Il doit y avoir une solution car sinon ajouter une interface « virtuelle » dans chaque sous-réseau reviendrais à ne pas utiliser le relais du routeur… donc aucune utilité. Donc si quelqu’un a des infos, je suis très intéressé… Merci
Bonjour,
Il faut ajouter tout vos réseaux dans le DHCP puis créer un superscope.