Agent Relais DHCP

1. Qu’est-ce qu’un agent relais DHCP ?

Le protocole DHCP (Dynamic Host Configuration Protocol) simplifie l’attribution des adresses IP dans un réseau.

Mais que se passe-t-il lorsqu’un serveur DHCP et un client se trouvent sur des sous-réseaux différents ?
En temps normal, les messages de diffusion (broadcast) comme les requêtes DHCP ne traversent pas les routeurs.

DHCP DISCOVER broadcast blocked by router between different subnets without DHCP relay agent

Figure 1 – Diffusion DHCP bloquée entre deux sous-réseaux

Cela pose un problème pour les clients DHCP situés dans des réseaux distants : ils ne peuvent pas joindre le serveur DHCP pour obtenir une adresse IP.

C’est ici qu’intervient l’agent relais DHCP. Ce composant intercepte les requêtes DHCP envoyées par les clients et les transfère au serveur DHCP présent dans un autre sous-réseau.

Diagram showing what is a DHCP Relay Agent in a network topology where R1 forwards DHCP Discover from PC1 to the DHCP server

Figure 2 – L’agent relais transmet la requête au serveur DHCP

Dans cet exemple, le routeur R1 joue le rôle d’agent relais : il envoie le message DHCP au serveur situé sur un autre sous-réseau.

Pourquoi avons-nous besoin d’un agent relais DHCP ?

Prenons le scénario suivant :

DHCP DISCOVER blocked by router without DHCP relay agent

Figure 3 – Le message DHCP DISCOVER bloqué par le routeur

  • Un client DHCP (PC1) dans le sous-réseau 192.168.1.0/24 envoie un message de diffusion DHCP DISCOVER pour obtenir une adresse IP.

  • Le routeur (R1) reçoit le message, mais comme les broadcasts ne traversent pas les routeurs, la requête ne parvient pas au serveur DHCP dans le sous-réseau 192.168.2.0/24.

Sans agent relais DHCP, PC1 resterait non configuré et incapable de se connecter au réseau.

En configurant R1 comme agent relais, le message est relayé vers le serveur, et la réponse est renvoyée au client.

Vue d’ensemble : rôle et fonctionnement

Un agent relais DHCP est un service configuré sur des équipements de couche 3 comme les routeurs ou les switchs multilayer.
Il écoute les requêtes DHCP et les transmet en unicast au serveur DHCP.

DHCP relay agent forwards DISCOVER to server as unicast across subnets

Figure 4 – L’agent relais envoie la requête au serveur DHCP

Lorsque le serveur répond, l’agent relais fait en sorte que la réponse revienne bien au client.

2. Configuration d’un agent relais DHCP

Voyons maintenant comment configurer un agent relais DHCP sur un routeur Cisco.

Cisco router DHCP relay configuration with ip helper-address command

Figure 5 – Configuration d’un agent relais sur un routeur Cisco

La configuration est simple :

1. Passez en mode configuration :

R1> enable  
R1# configure terminal

2. Allez sur l’interface connectée au sous-réseau local (celui du client) :

R1(config)# interface GigabitEthernet0/0

3. Indiquez l’adresse IP du serveur DHCP à l’aide de la commande ip helper-address :

R1(config-if)# ip helper-address 192.168.2.2

Cette commande permet au routeur de rediriger les requêtes DHCP reçues sur l’interface vers le serveur 192.168.2.2.

3. Vérifier le fonctionnement du relais DHCP

Une fois l’agent relais DHCP configuré, il est essentiel de vérifier qu’il fonctionne correctement. Voyons comment confirmer la configuration et diagnostiquer d’éventuels problèmes.

Vérifier la configuration de l’agent relais DHCP

Pour valider la configuration, utilisez la commande :

R1# show ip dhcp relay
Interface          Helper address              VRF  
---------------------------------------------------  
GigabitEthernet0/0 192.168.2.2                 global  

Ici, on peut voir que l’agent relais configuré sur GigabitEthernet0/0 redirige bien les requêtes DHCP vers le serveur à l’adresse 192.168.2.2.

Suivre les événements DHCP en temps réel

Vous pouvez observer l’activité DHCP en temps réel grâce à la commande :

R1# debug ip dhcp events  

*Mar  1 00:02:03.123: DHCPD: DHCPDISCOVER received from client 0100.1c42.4c39.91 on interface GigabitEthernet0/0 

*Mar  1 00:02:03.124: DHCPD: Forwarding DHCPDISCOVER to helper address 192.168.2.2 
 
*Mar  1 00:02:04.567: DHCPD: DHCPOFFER received from server 192.168.2.2  

*Mar  1 00:02:04.568: DHCPD: Forwarding DHCPOFFER to client 0100.1c42.4c39.91 on interface GigabitEthernet0/0  

*Mar  1 00:02:05.890: DHCPD: DHCPREQUEST received from client 0100.1c42.4c39.91 on interface GigabitEthernet0/0  

*Mar  1 00:02:05.891: DHCPD: Forwarding DHCPREQUEST to helper address 192.168.2.2

*Mar  1 00:02:06.012: DHCPD: DHCPACK received from server 192.168.2.2  

*Mar  1 00:02:06.013: DHCPD: Forwarding DHCPACK to client 0100.1c42.4c39.91 on interface GigabitEthernet0/0 

Ici, on peut voir que l’agent relais configuré sur GigabitEthernet0/0 redirige bien les requêtes DHCP vers le serveur à l’adresse 192.168.2.2.

Processus de relais DHCP en action

Voyons maintenant, étape par étape, comment un agent relais facilite l’attribution d’adresses IP.

Étape 1 – DHCP DISCOVER : le client recherche un serveur

Le client envoie un message DHCP DISCOVER en broadcast.
L’agent relais intercepte ce message et le transmet en unicast au serveur DHCP (192.168.2.2).

DHCP client on a different subnet discovers server via relay agent

Figure 6 – PC1 envoie DISCOVER, R1 le relaie vers le serveur

Comme les broadcasts ne traversent pas les routeurs, l’agent relais garantit que la requête parvient bien au serveur DHCP.

Étape 2 – DHCP OFFER : le serveur propose une adresse

Le serveur DHCP répond avec un message DHCP OFFER, contenant une adresse IP disponible et les paramètres réseau.
L’agent relais transmet cette réponse au client.

DHCP OFFER message sent from server to client across subnets

Figure 7 – Le serveur envoie OFFER, R1 le relaie à PC1

C’est la première fois que le client découvre les paramètres proposés.

Étape 3 – DHCP REQUEST : le client accepte l’offre

Le client répond avec un message DHCP REQUEST pour indiquer qu’il accepte l’adresse proposée.
L’agent relais transmet ce message au serveur DHCP.

DHCP REQUEST from client accepted and relayed by router to server

Figure 8 – PC1 envoie REQUEST, R1 le relaie vers le serveur

Cela confirme que le client est prêt à utiliser l’adresse attribuée, ainsi que le masque de sous-réseau, la passerelle par défaut, le DNS et la durée du bail.

Étape 4 – DHCP ACK : le serveur confirme l’attribution

Enfin, le serveur envoie un DHCP ACK pour confirmer l’allocation.
L’agent relais transmet cette réponse au client.

Final DHCP ACK sent by server confirming IP address assignment

Figure 9 – Le serveur envoie ACK, R1 le relaie à PC1

Le client configure alors ses paramètres réseau et peut commencer à communiquer sur le réseau.

4. Conclusion

En résumé, l’agent relais DHCP est un élément clé lorsque les clients et le serveur DHCP se trouvent sur des sous-réseaux différents.

Plutôt que de laisser les broadcasts échouer aux frontières du routeur, l’agent relais capture les requêtes, les envoie en unicast au serveur DHCP, puis retransmet la réponse au client.

Ce que vous avez appris :

  • Comment configurer le relais DHCP avec ip helper-address

  • Comment fonctionne le processus complet DORA

  • Comment vérifier et diagnostiquer avec les commandes Cisco

Ce mécanisme peut sembler simple, mais il constitue une brique fondamentale de la conception réseau. C’est un sujet que vous devez maîtriser pour l’examen CCNA et pour vos implémentations réelles.