← Retour au portail

Fiche 7 - DHCP — Théorie et installation isc-dhcp-server

Comprendre le protocole DHCP, installer et configurer un serveur DHCP sur Debian avec isc-dhcp-server.

Intermédiaire — SISR 1ère année ⏱️ 20 min 📁 Réseau

🎯 Objectifs de la fiche

  1. Fonctionnement du DHCP — DORA, baux, options DHCP
  2. Installation isc-dhcp-server — apt install, interface d'écoute
  3. Configuration d'un pool d'adresses — subnet, range, options
  4. Réservations d'adresses — Attribuer une IP fixe par adresse MAC
  5. Vérification et diagnostic — Logs, baux actifs, test client

Prérequis

Debian avec accès root. IP statique configurée sur le serveur. Connaître les bases de l'adressage IP (masques, passerelle).

1. Fonctionnement du DHCP

DHCP (Dynamic Host Configuration Protocol) attribue automatiquement une adresse IP et des paramètres réseau aux clients. La procédure DORA se déroule en 4 étapes :

ÉtapeMessageDescription
DDISCOVERLe client envoie un broadcast : qui peut me donner une IP ?
OOFFERLe serveur répond : je t'offre 192.168.1.100 pour 24h
RREQUESTLe client demande officiellement : je prends cette IP
AACKLe serveur confirme : c'est accordé, voici les paramètres
Option DHCPNuméroRôle
Subnet Mask1Masque de sous-réseau
Router3Passerelle par défaut
DNS Servers6Serveurs DNS
Hostname12Nom d'hôte du client
Lease Time51Durée du bail en secondes
TFTP Server66Serveur TFTP pour PXE boot

2. Installation de isc-dhcp-server

sudo apt update && sudo apt install isc-dhcp-server -y

# Définir l'interface d'écoute
sudo nano /etc/default/isc-dhcp-server
# /etc/default/isc-dhcp-server
INTERFACESv4="eth0"   # Remplacer par votre interface LAN (ip a pour vérifier)
INTERFACESv6=""

3. Configuration du serveur DHCP

sudo nano /etc/dhcp/dhcpd.conf
# /etc/dhcp/dhcpd.conf

# Paramètres globaux
default-lease-time 86400;    # Bail par défaut : 24h
max-lease-time 604800;       # Bail maximum : 7 jours
authoritative;               # Ce serveur fait autorité sur le réseau

# Pool d'adresses pour le réseau 192.168.1.0/24
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;   # Plage attribuable
    option routers 192.168.1.1;           # Passerelle
    option subnet-mask 255.255.255.0;     # Masque
    option domain-name-servers 192.168.1.10, 8.8.8.8;  # DNS
    option domain-name "lycee.local";     # Domaine DNS
}
# Vérifier la configuration
sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

# Démarrer le service
sudo systemctl enable --now isc-dhcp-server
sudo systemctl status isc-dhcp-server

4. Réservations d'adresses (IP fixe par MAC)

# Dans /etc/dhcp/dhcpd.conf, ajouter dans le bloc subnet :

host serveur-web {
    hardware ethernet aa:bb:cc:dd:ee:ff;
    fixed-address 192.168.1.10;
    option host-name "serveur-web";
}

host pc-etudiant-01 {
    hardware ethernet 11:22:33:44:55:66;
    fixed-address 192.168.1.50;
}
# Après modification, recharger
sudo systemctl reload isc-dhcp-server

5. Vérification et diagnostic

# Voir les baux DHCP actifs
cat /var/lib/dhcp/dhcpd.leases

# Voir les logs en temps réel
sudo journalctl -u isc-dhcp-server -f

# Tester depuis un client Linux
sudo dhclient -v eth0

# Renouveler le bail DHCP (client Linux)
sudo dhclient -r eth0 && sudo dhclient eth0

# Voir l'adresse obtenue
ip addr show eth0
Que signifie l'acronyme DORA dans le protocole DHCP ?
  • Distribute, Offer, Request, Acknowledge
  • Discover, Offer, Request, Acknowledge
  • Discover, Order, Renew, Accept
  • Dynamic, Offer, Route, Assign

✅ Réponse : Discover, Offer, Request, Acknowledge

Quelle option DHCP fournit la passerelle par défaut ?
  • option dns-servers
  • option subnet-mask
  • option routers
  • option domain-name

✅ Réponse : option routers

Comment réserver une IP fixe pour un client avec isc-dhcp-server ?
  • Via une règle iptables
  • En ajoutant un bloc host avec hardware ethernet et fixed-address
  • En modifiant /etc/hosts du serveur
  • En configurant une IP statique sur le client

✅ Réponse : En ajoutant un bloc host avec hardware ethernet et fixed-address

Quelle commande vérifie la syntaxe du fichier dhcpd.conf ?
  • dhcpd --check
  • dhcpd -t -cf /etc/dhcp/dhcpd.conf
  • named-checkconf
  • systemctl test isc-dhcp-server

✅ Réponse : dhcpd -t -cf /etc/dhcp/dhcpd.conf

Où sont stockés les baux DHCP actifs sur Debian ?
  • /etc/dhcp/leases
  • /var/log/dhcp.leases
  • /var/lib/dhcp/dhcpd.leases
  • /run/dhcp/leases

✅ Réponse : /var/lib/dhcp/dhcpd.leases