
[by El Fantasma - CC-BY-SA]
Une fois n’est pas coutume, j’ai voulu vous détailler la mise en plae d’un serveur DHCP et d’un relai DHCP sous une distribution GNU/Linux : Debian à travers un cas pratique. Des connaissances de base sur le réseau et sur le monde Linux sont nécessaires. Je vous conseille à ce propos le tutorial du Site du Zero : Reprenez le contrôle avec Linux !
Le principe est donc de réaliser l’administration d’un serveur DHCP et d’un relai DHCP. Un serveur DHCP (Dynamic Host Configuration Protocol) permet d’allouer à des machines-client automatiquement une adresse IP. D’autres options peuvent être assignables d’ailleurs comme le masque, la passerelle ou le serveur DNS.
Un routeur est présent pour relier le réseau A (où est situé le serveur DHCP) et le réseau B (où se trouve le client DHCP). Le client DHCP ne peut recevoir les trames du serveur car le routeur bloque les trames diffusées en broadcast.
Dans cette situation, trois solutions peuvent être envisageables :
La dernière solution est choisie ici : la mise en place d’un relai DHCP. Ce dernier permet en effet de rediriger les requêtes des machines-clientes en unicast à travers le routeur vers le serveur DHCP.
Voici les différents systèmes d’exploitation et matériel dont nous avons besoin :
un routeur, un serveur DHCP et un relai DHCP sous Debian
Voici la topologie utilisée durant ce projet :
Nous avons ainsi mis en place deux réseaux :
L’adressage IP du serveur DHCP est paramétré manuellement :
Le routeur possède les deux interfaces suivantes paramétrées manuellement :
Le relai DHCP possède l’adresse IP manuelle suivante :
Enfin, le client DHCP est paramétré en assignement d’adresse IP automatique.
Commençons par configurer manuellement l’IP du serveur DHCP :
vim /etc/network/interfaces
# Interfaces reseaux du serveur DHCP
# Boucle locale
auto lo
iface lo inet loopback# Interface primaire (eth0)
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
La commande « ifdown eth0 && ifup eth0 » permet de relancer l’interface réseau eth0.
Il faut tout d’abord installer le paquet dhcp3 avec la commande suivante :
Apt-get install dhcp3-server
Ensuite, nous devons configurer le serveur. Nous utiliserons vim pour éditer le fichier de configuration DHCP :
Vim /etc/dhcp3/dhcpd.conf
#########################
# Configuration du DHCP #
##########################DNS
ddns-update-style none;
option domain-name « dhcp.lan »;
option domain-name-servers 192.168.1.2;#Bail DHCP
default-lease-time 3600;
max-lease-time 7200;#log DHCP
log-facility local7;#Etendue 1
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.15;
option routers 192.168.1.1;
allow-unknown-clients;
}#Etendue 2
subnet 172.16.10.0 netmask 255.255.255.0 {
range 172.16.10.10 172.16.10.15;
option routers 172.16.10.1;
allow-unknown-clients;
}
Les baux sont de longue durée car nos aurons des postes fixes dans l’entreprise.
Notre serveur DHCP configuré, nous pouvons maintenant démarrer le serveur grâce à la commande suivante :
/etc/init.d/dhcp3-server start
Voici les trames échangées entre un server DHCP et un client DHCP pour l’assignation d’une adresse IP :

1) Le client DHCP envoie une requête DHCP DISCOVER (demande d’adresse IP) en Broadcast (255.255.255.255).
2) Le serveur DHCP propose une adresse IP via la requête DHCP OFFER
3) Le client répond avec la requête DHCP REQUEST qu’il a bien récupéré l’adresse IP pour que tout le réseau en soit informé (si présence d’autres serveurs DHCP)
4) Le serveur accuse réception avec la requête DHCP ACK
Comme pour le serveur DHCP, il faut tout d’abord éditer le fichier d’interfaces réseaux :
vim /etc/network/interfaces
# Interfaces reseaux du relai DHCP
# Boucle locale
auto lo
iface lo inet loopback# Interface primaire (eth1)
auto eth1
iface eth1 inet static
address 172.16.10.2
netmask 255.255.255.0
gateway 172.16.10.1
Nous pouvons ensuite relancer les interfaces réseaux puis ensuite installer le relai DHCP via le paquet dhcp3-relay.
Editons le fichier de configuration du relai DHCP en précisant l’adresse du serveur DHCP et l’interface réseau utilisée :
Vim /etc/default/dhcp3-relay
# Adresse du serveur DHCP
SERVERS= »192.168.1.2″# Interface utilisée par le relai DHCP
INTERFACES= »eth1″
Rm : la casse doit être respectée !
Nous pouvons désormais démarrer le relai-DHCP avec la commande suivante :
/etc/init.d/dhcp3-relay start
Le schéma suivant permet de comprendre l’intérêt du relai en terme de diffusion :

Configurons les deux interfaces réseaux du routeur :
vim /etc/network/interfaces
# Interfaces reseaux du routeur
# Interface primaire (eth1)
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1# Interface secondaire (eth2)
auto eth2
iface eth2 inet static
address 172.16.10.1
netmask 255.255.255.0
gateway 172.16.10.1
Relançons ensuite les deux interfaces.
Maintenant que notre routeur est configuré, il ne reste plus qu’à activer la redirection des paquets. Pour cela, éditons le fichier de configuration sysctl et décommentons la ligne permettant de rediriger les paquets en Ipv4 :
Vim /etc/sysctl.conf
net.ipv4.conf.default.forwarding=1
Nous pouvons visualiser la table de routage avec la commande « route –n ».
Table de routage IP du noyau :
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.16.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
0.0.0.0 172.16.10.1 0.0.0.0 UG 0 0 0 eth2
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
Notre client Windows XP est configuré en DHCP. La commande IPCONFIG lui attribue bien une IP via le relai DHCP :

Rien de bien compliqué en somme. La console peut faire peur mais une fois cet a priori dépassé, on remarque que l’administration est assez simple à mettre en œuvre et est même accessible pour les inconditionnels de Windows Server 2003 !
Commençons par configurer manuellement l’IP du serveur DHCP
Batou.fr est un blog proposant un regard personnel sur l'actualité de deux domaines passionnants : l'informatique et Internet. Le site reflète mes centres d'intérêt. Ainsi, des news sur la musique, le cinéma, la littérature seront présents pour agrémenter ce site. N'hésitez pas à participer et à donner votre avis sur les différents articles !
Bonne visite ;-)
[...] la suite : Mise en place d’un relai DHCP sous Debian Cet article est sur : Batou.tk, News sur l’informatique et [...]