Dynamic Host Configuration Protocol (DHCP)

DHCP (Dynamic Host Configuration Protocol) est un service réseau qui permet aux ordinateurs clients d'être configurés automatiquement à partir d'un serveur. Cela évite la configuration manuelle de chaque client du réseau. Les ordinateurs configurés pour être clients DHCP n'ont aucun contrôle sur les paramètres qu'ils reçoivent du serveur DHCP, et cette configuration est totalement transparente pour l'utilisateur.

Les éléments de configuration les plus communs fournis par un serveur DHCP à un client DHCP comprennent :

Cependant, un serveur DHCP peut également fournir des éléments de configuration tels que :

L'avantage d'utiliser un serveur DHCP est qu'un changement dans la configuration du réseau, par exemple un changement d'adresse d'un serveur DNS, n'a alors besoin d'être changé que sur le serveur DHCP. Tous les clients réseau seront reconfigurés lors de leur prochaine connexion au serveur DHCP. Un autre avantage est l'intégration plus facile de nouveaux ordinateurs dans le réseau, puisqu'il n'y a pas besoin de vérifier les adresses IP disponibles. Les conflits dans les allocations d'adresses IP sont également réduits.

Un serveur DHCP peut fournir des paramètres de configuration suivant deux méthodes :

Adresse MAC

Le serveur DHCP identifie l'adresse matérielle unique de chaque carte réseau connectée et fournit continuellement la même configuration chaque fois qu'un client DHCP émet une requête au serveur DHCP en utilisant cette même interface réseau.

Pool d'adresses

Un lot, ou une plage, d'adresses IP a été défini dans lequel les configurations dynamiques des clients DHCP sont puisées selon le principe du premier arrivé, premier servi. Lorsqu'un client DHCP n'est plus présent sur le réseau depuis un certain temps, la configuration expire et est remise dans le lot d'adresses IP disponible pour d'autres clients.

Ubuntu est livré avec un serveur et un client DHCP. Le serveur est l'application dhcpd (dynamic host configuration protocol daemon). L'application cliente fournie avec Ubuntu est dhclient et doit être installée sur tous les ordinateurs devant être configurés automatiquement. Les deux programmes sont faciles à installer et à configurer et seront automatiquement démarrés lors du démarrage du système.

Installation

Pour installer dhcpd, exécutez la commande suivante dans un terminal :

sudo apt-get install dhcp3-server

Il vous faudra probablement changer la configuration par défaut en éditant le fichier /etc/dhcp3/dhcpd.conf et en l'adaptant à vos besoins particuliers.

Vous devrez aussi éditer le fichier /etc/default/dhcp3-server pour préciser de quelles interfaces dhcpd devra se mettre à l'écoute. Par défaut, il écoute eth0.

NOTE : les messages de dhcpd sont envoyés à syslog. Consultez ce journal pour récupérer les messages de diagnostiques.

Configuration

Le message d'erreur qui termine l'installation est un peu déroutant, mais les étapes suivantes vont vous aider à configurer proprement le service :

Le plus souvent, vous voudrez allouer les adresses IP aléatoirement. Ceci peut être fait avec la configuration suivante :

# Exemple de /etc/dhcpd.conf
# (ajoutez vos commentaires ici) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mondomaine.exemple";

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
} 

Ainsi, le serveur DHCP fournira à chaque client une adresse IP appartenant aux plages 192.168.1.10 - 192.168.1.100 ou 192.168.1.150 - 192.168.1.200. L'adresse IP sera allouée pendant 600 secondes si le client n'a pas spécifié de durée particulière. De toute manière, la durée allouée maximale est fixée à 7200 secondes. De plus, le serveur va « recommander » au client d'utiliser 255.255.255.0 comme masque de sous-réseau, 192.168.1.255 comme adresse de diffusion ( broadcast ), 192.168.1.254 comme adresse de routeur / passerelle et les adresses 192.168.1.1 et 192.168.1.2 pour les serveurs DNS.

Si vous avez besoin de spécifier un serveur WINS pour vos clients Windows, vous devrez par exemple utiliser l'option netbios-name-servers.

option netbios-name-servers 192.168.1.1; 

Les paramètres de configuration dhcpd sont tirés du mini-manuel DHCP, que vous pouvez trouver ici.

Références

FAQ DHCP