Tutoriel Linux

Serveur DHCP sous Linux : ce qu’il faut verrouiller avant de le mettre en production

Débutant4 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Un serveur DHCP mal placé sur un réseau peut faire perdre du temps très vite : des postes reçoivent une mauvaise passerelle, une adresse déjà utilisée, ou un DNS qui n’est pas le bon. Avant d’installer quoi que ce soit, vérifiez surtout qui distribue déjà les adresses et sur quelle interface votre serveur devra écouter.

Illustration d’un administrateur Linux reliant un serveur DHCP à plusieurs appareils réseau
Configurer le DHCP sur la bonne interface avant de distribuer des adresses.

Commencez par regarder le réseau, pas par lancer le service

Un serveur DHCP répond aux requêtes diffusées sur son segment réseau. Il ne doit donc jamais être ajouté à côté de la box, d’un routeur ou d’un pare-feu qui fournit déjà des baux DHCP, sauf si vous avez volontairement désactivé ce service sur l’équipement existant.

Sur le serveur, relevez les interfaces et le plan d’adressage :

ip -br link
ip -4 addr
ip route
sudo ss -lunp | grep ':67'

La dernière commande permet de repérer un processus qui écoute déjà sur le port UDP 67. Vérifiez aussi que l’interface visée est bien celle du LAN, pas le lien d’administration, un tunnel VPN ou l’interface externe. Si vous intervenez à distance, gardez votre session SSH ouverte : une erreur de réseau peut vous couper l’accès au serveur.

Définissez ensuite une plage qui n’empiète ni sur les adresses fixes, ni sur la passerelle, ni sur les imprimantes, NAS ou bornes Wi-Fi. Pour un réseau 192.168.50.0/24, une plage entre 192.168.50.100 et 192.168.50.200 laisse de la marge.

Installer Kea et choisir l’interface écoutée

Sur Debian, Kea est une solution DHCP moderne et maintenue. Installez le serveur DHCPv4 :

sudo apt update
sudo apt install kea-dhcp4-server

Le fichier principal se trouve généralement dans /etc/kea/kea-dhcp4.conf. Avant de le modifier, conservez une copie :

sudo cp /etc/kea/kea-dhcp4.conf /etc/kea/kea-dhcp4.conf.bak

La configuration suivante est un exemple minimal. Remplacez enp1s0, le sous-réseau, la passerelle et les DNS par vos valeurs. Ne recopiez pas l’adresse MAC de l’exemple pour une réservation.

{
  "Dhcp4": {
    "interfaces-config": {
      "interfaces": [ "enp1s0" ]
    },
    "valid-lifetime": 3600,
    "renew-timer": 900,
    "rebind-timer": 1800,
    "subnet4": [
      {
        "subnet": "192.168.50.0/24",
        "pools": [ { "pool": "192.168.50.100 - 192.168.50.200" } ],
        "option-data": [
          { "name": "routers", "data": "192.168.50.1" },
          { "name": "domain-name-servers", "data": "192.168.50.1, 1.1.1.1" }
        ],
        "reservations": [
          {
            "hw-address": "00:11:22:33:44:55",
            "ip-address": "192.168.50.20"
          }
        ]
      }
    ]
  }
}

La section interfaces-config est le point à ne pas rater. Avec une mauvaise interface, Kea peut démarrer sans rendre le moindre service aux clients attendus. La documentation DHCPv4 de Kea détaille les sous-réseaux, pools et options disponibles.

Tester la configuration avant d’attribuer une seule adresse

Ne redémarrez pas le service juste après avoir collé le fichier. Kea peut tester sa configuration :

sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf

Corrigez toute erreur renvoyée, puis démarrez le service et suivez ses journaux :

sudo systemctl restart kea-dhcp4-server
sudo systemctl status kea-dhcp4-server --no-pager
sudo journalctl -u kea-dhcp4-server -f

Selon la version ou la distribution, le nom de l’unité peut varier. Si cette unité n’existe pas, listez les services Kea avant d’improviser :

systemctl list-unit-files | grep -i kea

Testez ensuite avec un seul client non critique. Il doit obtenir une adresse de la plage, la bonne passerelle et les DNS prévus. Sur le client, contrôlez l’adresse reçue et la route par défaut avec ip -4 addr et ip route. Pour comprendre les interfaces et routes avant ce test, vous pouvez aussi relire notre guide sur nmcli sous Linux et celui consacré à l’adresse IP fixe sur Debian.

Ce qui évite les pannes les plus pénibles

  • Un seul DHCP par VLAN ou segment : coupez le DHCP de la box ou du routeur si Kea prend le relais.
  • Une plage documentée : gardez les adresses statiques hors du pool, ou utilisez une réservation DHCP.
  • Des baux raisonnables : une heure est un bon départ sur un petit réseau. Réduisez seulement si les clients changent réellement souvent.
  • Des journaux surveillés : après une modification, gardez journalctl ouvert pendant le test. Notre article sur tail et le suivi des logs peut aider si vous devez aussi lire un fichier applicatif.
  • Un filtrage réseau cohérent : DHCP utilise UDP 67 côté serveur et UDP 68 côté client. Ne copiez pas une règle de pare-feu au hasard, vérifiez d’abord les ports réellement ouverts avec ss et netstat.

Une fois le premier bail validé, laissez le service tourner quelques heures avant de migrer tous les postes. Les réservations et le journal vous diront rapidement si une adresse se chevauche ou si un ancien DHCP répond encore sur le réseau. La page de manuel Debian de kea-dhcp4 est utile pour vérifier les options de démarrage et le test de fichier.

sudo apt update && sudo apt upgrade