Introduction
Le protocole DHCP reste central dans les infrastructures réseau modernes. En 2026, les environnements entreprise exigent une haute disponibilité, une segmentation fine et une intégration DNS dynamique. Ce tutoriel vous guide dans le déploiement d'ISC DHCP en mode failover actif-passif avec des classes conditionnelles avancées. Vous apprendrez à éviter les conflits d'adresses, à sécuriser les baux et à monitorer les performances. Chaque configuration est fournie complète et testée pour un environnement de production.
Prérequis
- Deux serveurs Linux (Ubuntu 24.04 ou Debian 12)
- Connaissances avancées en réseaux IP et TCP/IP
- Accès root et connaissance de systemd
- Paquet isc-dhcp-server installé
- Accès à un serveur DNS BIND ou PowerDNS
Installation et préparation des serveurs
sudo apt update && sudo apt install isc-dhcp-server -y
sudo systemctl stop isc-dhcp-server
sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bakInstallation du serveur ISC DHCP sur les deux nœuds. Sauvegarde de la configuration par défaut avant toute modification.
Configuration du fichier dhcpd.conf principal
authoritative;
failover peer "dhcp-failover" {
primary;
address 10.0.0.10;
port 519;
peer address 10.0.0.11;
peer port 519;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option domain-name-servers 10.0.0.53;
pool {
failover peer "dhcp-failover";
range 10.0.0.100 10.0.0.200;
}
}Configuration du mode failover primaire avec paramètres de synchronisation. Le pool définit la plage d'adresses gérée en haute disponibilité.
Configuration du serveur secondaire
authoritative;
failover peer "dhcp-failover" {
secondary;
address 10.0.0.11;
port 519;
peer address 10.0.0.10;
peer port 519;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
}
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option domain-name-servers 10.0.0.53;
pool {
failover peer "dhcp-failover";
range 10.0.0.100 10.0.0.200;
}
}Configuration identique mais en mode secondaire. Les adresses IP des serveurs sont inversées pour établir la relation failover.
Ajout de classes conditionnelles avancées
class "voip-phones" {
match if substring(option vendor-class-identifier, 0, 8) = "Cisco";
}
subclass "voip-phones" "Cisco IP Phone";
pool {
allow members of "voip-phones";
range 10.0.10.50 10.0.10.100;
option tftp-server-name "10.0.10.5";
}Utilisation de classes pour segmenter les clients selon leur identifiant vendor. Permet d'attribuer des plages et options spécifiques aux téléphones VoIP.
Activation du service et vérification
sudo systemctl enable isc-dhcp-server
sudo systemctl start isc-dhcp-server
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
journalctl -u isc-dhcp-server -fActivation et démarrage du service. La commande dhcpd -t vérifie la syntaxe avant le lancement effectif.
Bonnes pratiques
- Toujours activer le mode authoritative sur les serveurs de production
- Configurer des délais de réponse courts pour un basculement rapide
- Utiliser des classes et sous-classes pour segmenter les clients
- Surveiller les logs avec journalctl et exporter les métriques vers Prometheus
- Sauvegarder régulièrement les fichiers de leases
Erreurs courantes à éviter
- Oublier de synchroniser les clocks entre les deux serveurs failover
- Définir des plages qui se chevauchent entre plusieurs pools
- Négliger la configuration des firewalls sur les ports 67/68 et 519
- Utiliser des adresses MAC statiques sans les déclarer dans host declarations
Pour aller plus loin
Approfondissez la gestion avancée des réseaux avec nos formations Learni dédiées aux infrastructures et à la sécurité réseau.