Cours – Agent relais DHCP
BTS SIO SISR 1re année – Bloc 2 – S09 – à lire avant le TP
Ce que tu dois savoir déjà
- Prérequis : S06 à S08.
- Matériel : Simulateur réseau ou Packet Tracer, ou matériel réel (au choix de l'enseignant) ; VM Debian (DHCP, DNS).
À la fin de ce cours, tu sauras
- Expliquer pourquoi les VLAN isolent le trafic et pourquoi il faut un routage inter-VLAN ;
- Configurer un routeur sur un bras (sous-interfaces 802.1Q) ;
- Configurer l'agent relais DHCP (
ip helper-address) ; - Déployer une infrastructure complète : VLAN, routage, DHCP, DNS ;
- Diagnostiquer méthodiquement une panne multi-services.
COURS : AGENT RELAIS DHCP
A. Le Problème : DHCP et VLANs
Rappel : Le protocole DHCP fonctionne grâce à des messages broadcast (255.255.255.255). Quand un PC démarre et cherche un serveur DHCP, il crie :
"Y a-t-il un serveur DHCP quelque part ? DISCOVER !"
Le problème : Les routeurs ne transmettent pas les broadcasts entre réseaux.
Dans une infrastructure avec VLANs :
Le problème : Faut-il installer un serveur DHCP dans chaque VLAN ? Non — c'est coûteux et difficile à maintenir.
B. La Solution : L'Agent Relais DHCP (ip helper-address)
Principe : Le routeur intercepte les broadcasts DHCP dans chaque VLAN et les transmet en unicast vers le serveur DHCP centralisé.
Fonctionnement détaillé :
Le champ giaddr (Gateway IP Address) est la clé : il permet au serveur DHCP de savoir dans quel réseau se trouve le client et donc quelle étendue (subnet) utiliser pour lui attribuer une IP.
C. Configuration de l'Agent Relais
Côté Routeur Cisco
La commande ip helper-address se configure sur chaque interface (ou sous-interface) côté VLAN client :
! Sur la sous-interface du VLAN 10 (côté clients VLAN 10)
Router(config)# interface FastEthernet0/0.10
Router(config-if)# ip helper-address 192.168.30.10 ! IP du serveur DHCP Linux
! Sur la sous-interface du VLAN 20 (côté clients VLAN 20)
Router(config)# interface FastEthernet0/0.20
Router(config-if)# ip helper-address 192.168.30.10 ! Même serveur DHCP
Vérification :
Router# show running-config | section interface
! Vérifier que ip helper-address est bien sur les bonnes interfaces
Router# show ip helper-address ! Sur certaines versions IOS
Côté Serveur DHCP Linux
Le serveur DHCP doit avoir une étendue (subnet) pour chaque VLAN qu'il sert :
# /etc/dhcp/dhcpd.conf
# Étendue pour le VLAN 10 (réseau Informatique)
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1; # IP du routeur côté VLAN 10
option domain-name-servers 192.168.30.10; # IP du serveur DNS
default-lease-time 86400;
}
# Étendue pour le VLAN 20 (réseau Direction)
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1; # IP du routeur côté VLAN 20
option domain-name-servers 192.168.30.10;
default-lease-time 86400;
}
# Déclaration du réseau serveur (obligatoire même si pas de range DHCP ici)
# Bind9 doit connaître ce réseau pour accepter les requêtes relayées
subnet 192.168.30.0 netmask 255.255.255.0 {
# Pas de range : les serveurs ont des IPs fixes
}
Important : Le serveur DHCP Linux doit avoir une déclaration
subnetpour tous les réseaux qu'il connaît, même ceux sans plage d'attribution. Sinon, il refuse de traiter les requêtes relayées.