Table of Contents

Serveur DHCP

DHCP est un protocole réseau permettant l'auto-configuration des paramètres IP d'une machine en lui offrant une adresse, une masque de sous-réseau mais aussi éventuellement une passerelle par défaut ainsi que des DNS. La majorité des “box ADSL” disposent d'un DHCP mais il peut être utile de créer son propre serveur pour pouvoir offrir des services personnalisés (PXE par exemple).

Installation

Sous Debian, l'installation se fait en un rien de temps.

aptitude install isc-dhcp-server

Après l'installation du paquet le serveur DHCP va tenter de démarrer, cela doit normalement échouer car la configuration n'est pas réalisée. Elle fait l'objet de l'étape suivante.

Configuration interface

Il est évident que pour fonctionner au mieux le serveur DHCP ne doit pas changer d'adresse. On va donc lui donner une adresse fixe qui entrera dans le sous-réseau que l'on déclarera dans la configuration DHCP plus tard.

On édite le fichier /etc/network/interfaces et on doit avoir une configuration de ce type. Ici le serveur DHCP aura l'adresse 192.168.0.253 et ne possède qu'une seule carte réseau.

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
    address 192.168.0.253
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.254

Il faut penser à recharger la configuration des interfaces.

service networking restart

Configuration

Toute la configuration qui va nous intéresser ici se fait dans le fichier /etc/dhcp/dhcpd.conf. Il est conseillé (on ne sait jamais) de sauvegarder la version initiale du fichier.

cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.back

Une fois cela effectué, on peut refaire la configuration “from scratch”.

Pour cet exemple, on va mettre en place une configuration DHCP pour une réseau on ne peut plus classique :

Voici le fichier /etc/dhcp/dhcpd.conf que cela donnera.

ddns-update-style none;

# Définitions pour tous les réseaux

# On peut mettre ce que l'on veut
option domain-name "chezmoi.me"; 
# DNS
option domain-name-servers 8.8.8.8, 8.8.4.4;
# Masque par défaut
options subnet-mask 255.255.255.0;
# Passerelle
option routers 192.168.0.254;

###################################

# Serveur DHCP principal
authoritative;

# Pour les logs
log-facility local7;

# Déclaration du sous-réseau
subnet 192.168.0.0 netmask 255.255.255.0 {
    # L'option dynamic-bootp n'est pas obligatoire
    # Les adresses allouables via DHCP iront de 192.168.0.2 à 192.168.0.127
    range dynamic-bootp 192.168.0.2 192.168.0.127;
}

Une fois la configuration terminé, on démarre le serveur DHCP et on le laisse faire son travail.

service isc-dhcp-server start
Avant de démarrer le serveur DHCP, il est important d'arrêter un éventuel autre serveur DHCP qui servirait le même sous-réseau.