Cours de Serveur DHCP en PDF (Intermédiaire)
Serveur DHCP sous Linux : Ce qu'il faut savoir. Un serveur DHCP (Dynamic Host Configuration Protocol) attribue automatiquement des adresses IP et d'autres paramètres de configuration aux hôtes d'un réseau. Il permet l'attribution d'adresses IP dynamiques pour optimiser la gestion du parc informatique. Ce PDF de 3 pages fournit des exemples pratiques, commandes et bonnes pratiques pour une configuration de niveau intermédiaire sous Linux.
🎯 Ce que vous allez apprendre
- Présentation du serveur DHCP : Comprendre le rôle et les fonctionnalités d'un serveur DHCP dans un réseau.
- Installation et utilisation de base du serveur : Installer le paquet adéquat et lancer le service.
- Configuration du serveur DHCP : Configurer les sous-réseaux (
subnet), plages d'adresses, bail DHCP et options (routeur, DNS) ; inclut le redémarrage du service. - Réservation d'adresses MAC : Réserver des adresses IP statiques pour des clients DHCP spécifiques.
- Vérification et diagnostic : Suivre les attributions, consulter les logs et contrôler l'état du service.
Installation et démarrage
Sur les distributions basées Debian/Ubuntu, installez le paquet isc-dhcp-server. Exemples et commandes pour Debian 11 / Debian 12 :
sudo apt update
sudo apt install isc-dhcp-server
sudo systemctl enable --now isc-dhcp-server
Après modification de la configuration, appliquez les changements :
sudo systemctl restart isc-dhcp-server
Définition de l'interface réseau
Avant de démarrer le service, éditez /etc/default/isc-dhcp-server pour spécifier l'interface utilisée (ex : eth0) :
# /etc/default/isc-dhcp-server
# Interfaces IPv4 sur lesquelles écouter
INTERFACESv4="eth0"
Pourquoi utiliser un serveur DHCP sous Linux ?
Un serveur DHCP centralise la gestion des adresses IP et des paramètres réseau, réduisant les erreurs de configuration manuelle et facilitant l'automatisation. Sous Linux, les solutions open source comme isc-dhcp-server offrent une grande flexibilité : définition fine des subnet et des réservations d'adresse IP statique linux, intégration avec les services DNS et scripts de gestion des baux. Cette approche convient pour des infrastructures locales, des laboratoires ou des environnements de production à taille moyenne.
Architecture et fonctionnement du protocole DHCP
Le protocole DHCP s'appuie sur l'échange de messages entre client et serveur pour attribuer une adresse et des paramètres réseau. Il gère les baux (durée d'attribution) et les réservations d'adresses IP pour des clients identifiés par leur adresse MAC. La notion de subnet est centrale pour définir plages, routeurs et options applicables.
Cycle DORA (Discover, Offer, Request, Ack)
Le cycle DORA décrit l'échange standard : le client envoie un Discover, le serveur répond avec une Offer, le client renvoie une Request pour accepter l'offre, puis le serveur confirme par un Ack. Ce flux permet l'attribution automatisée d'une adresse IP et la mise en place du bail DHCP.
Fichiers de configuration et logs sous Linux
Les emplacements à connaître : le fichier principal /etc/dhcp/dhcpd.conf, le fichier de définition d'interface /etc/default/isc-dhcp-server et les journaux système. Les logs permettent de suivre les attributions et d'identifier les erreurs au démarrage ou lors des demandes des clients.
Configuration du fichier dhcpd.conf
Le fichier principal est /etc/dhcp/dhcpd.conf. On y définit notamment :
- les blocs
subnetcontenant la plagerange, le routeur (option routers) et les DNS (option domain-name-servers), - les durées de bail (
default-lease-time,max-lease-time), - les réservations pour une
adresse IP statique linuxviahost/fixed-addressen relation avec l'adresse MAC du client.
Un exemple complet de configuration est souvent disponible dans /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf.example. Les exemples et formats doivent respecter la syntaxe du fichier.
Les messages liés au serveur DHCP apparaissent dans le journal système, par exemple /var/log/syslog sur Debian/Ubuntu. Pour suivre les attributions en temps réel :
tail -f /var/log/syslog
Suivi des baux actifs
Pour visualiser les adresses actuellement attribuées, consultez le fichier des baux : cat /var/lib/dhcp/dhcpd.leases.
Pour les réseaux segmentés, un agent de relais DHCP peut être nécessaire : le paquet isc-dhcp-relay permet de relayer les requêtes entre segments.
Gestion et suivi des baux (Leases)
Le fichier des baux (/var/lib/dhcp/dhcpd.leases) contient l'historique et l'état des attributions : adresse, MAC, durée du bail et timestamp. Pour dépanner, utilisez la lecture directe du fichier ou combinez grep et tail pour isoler un client. Le suivi régulier du fichier de baux et des logs aide à détecter les conflits d'adresses, les renouvellements fréquents ou les clients refusés.
Différence entre IP Statique et Dynamique
Une adresse IP statique est attribuée manuellement et ne change pas sans intervention; elle convient aux serveurs et équipements nécessitant une adresse constante. Une IP dynamique est fournie automatiquement par le serveur DHCP et peut changer au fil des baux, ce qui simplifie la gestion des postes clients et réduit les erreurs de configuration manuelle.
Note technique : Le port UDP 67 est utilisé par le serveur et le port 68 par le client pour les échanges DHCP.
Installation de l'agent de relais DHCP
Sur les topologies multi-segments, installez l'agent de relais pour transmettre les requêtes DHCP entre VLANs ou sous-réseaux. Sur Debian/Ubuntu :
sudo apt update
sudo apt install isc-dhcp-relay
Configurez ensuite l'agent pour qu'il relaie vers l'adresse IP du serveur DHCP central.
👤 À qui s'adresse ce cours ?
- Public cible : administrateurs systèmes et réseaux souhaitant apprendre à configurer un serveur DHCP sous Linux (niveau intermédiaire).
- Prérequis : connaissances de base en administration Linux et concepts réseau (sous-réseau, routeur, DNS).
❓ Foire Aux Questions (FAQ)
Qu'est-ce qu'un serveur DHCP ?
Un service réseau qui attribue automatiquement des adresses IP et d'autres paramètres de configuration aux hôtes (clients DHCP) d'un réseau, simplifiant la gestion des adresses et des baux DHCP.
Comment vérifier si le serveur DHCP fonctionne ?
Contrôler l'état du service avec systemctl status isc-dhcp-server et suivre les logs pour voir les attributions en temps réel avec tail -f /var/log/syslog. Vérifier également le fichier /etc/dhcp/dhcpd.conf pour détecter d'éventuelles erreurs de syntaxe.