Cet article présente l’installation d’un serveur DHCP sur un réseau local. Je me suis basé sur la distribution Raspbian dédiée au Raspberry Pi et la méthode sera la même sur un Debian classique.


Le contexte

Dans notre exemple, le sous-réseau dans lequel se trouve notre serveur DHCP et nos clients est le 192.168.1.0/24. Le serveur DHCP possède l’adresse 192.168.1.2 et la passerelle 192.168.1.254. Nous souhaitons également limiter la plage d’IP utilisable. Enfin, certains clients devront toujours posséder la même adresse pour des besoins spécifiques.

Installation

L’installation d’un serveur DHCP et sa configuration est assez simple. Sous Debian nous utilisons la méthode automatique d’installation :

# aptitude install dhcp3-server

Le package « isc-dhcp-server » est installé et son fichier de configuration se trouve dans le répertoire « /etc/dhcp ». Il est préférable de garder une copie de sauvegarde du fichier dhcpd.conf.

# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

Nous pouvons créer un nouveau fichier. Voici un exemple de configuration :

# vi /etc/dhcp/dhcpd.conf

# Configuration d’ISC dhcpd pour Debian

# Permet de mettre à jour le serveur DNS par le serveur DHCP (pas utile dans notre cas).
ddns-update-style none;

# Paramètres communs

# Définition du nom de notre domaine
option domain-name « liced.fr »;
# Définition du nom de notre serveur DNS
option domain-name-servers 192.168.1.254;

# Bail par défaut 24h
default-lease-time 86400;
# Bail max 7 jours
max-lease-time 604800;

# Le serveur est défini comme serveur DHCP maître
authoritative;

# Configuration de la plage autorisée de 192.168.1.10 à 192.168.1.20
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.20;
option routers 192.168.1.254;
option broadcast-address 192.168.1.255;
}

Au début du fichier nous trouvons tous les paramètres globaux (option domain-name, default-lease-time …) qui sont utilisés par défaut par chaque section.
À la fin du fichier nous définissons des paramètres spécifiques pour la configuration d’un sous-réseau. Par exemple, nous attribuons aux clients des adresses comprises sur la plage 192.168.1.10 à 192.168.1.20 en leur spécifiant l’adresse du routeur et de diffusion.

Nous souhaitons également attribuer à certains clients une IP dédiée. Ainsi à chaque connexion ils se retrouveront avec la même adresse.

Il faut rajouter les lignes suivantes au fichier dhcpd.conf

# Définition d’IP fixes pour certains clients
host xbox {
hardware ethernet 00:17:fa:18:74:59;
fixed-address 192.168.1.20;
}

host pc1
hardware ethernet 90:43:34:35:04:4d;
fixed-address 192.168.1.10;
}

Il ne reste plus qu’à démarrer le serveur.

# etc/init.d/isc-dhcp-server start

N’oubliez pas de désactiver l’option DHCP de votre box (Freebox, Livebox ou autres) car par défaut c’est cette dernière qui fait office de serveur DHCP.

Votre serveur DHCP est désormais opérationnel. Les logs se trouvent par défaut dans le fichier « /var/log/sysog ». Lors d’une demande d’adresse IP les quatres étapes du processus d’attribution sont « loggées »,

Apr 2 14:16:48 gohan dhcpd: DHCPDISCOVER from 90:43:34:35:04:4d via eth0
Apr 2 14:16:48 gohan dhcpd: DHCPOFFER on 192.168.1.10 to 90:43:34:35:04:4d via eth0
Apr 2 14:16:48 gohan dhcpd: DHCPREQUEST for 192.168.1.10 (192.168.1.2) from 90:43:34:35:04:4d via eth0
Apr 2 14:16:48 gohan dhcpd: DHCPACK on 192.168.1.10 to 90:43:34:35:04:4d via eth0

Les baux sont stockés dans le fichier « /var/lib/dhcp/dhcpd.leases ».

# cat dhcpd.leases

lease 192.168.1.17 {
starts 3 2014/04/02 12:56:22;
ends 4 2014/04/03 12:56:22;
cltt 3 2014/04/02 12:56:22;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 40:ab:45:48:1c:44;
client-hostname « android-gprg45gr4845op78z »;
}

Si vous avez besoin de réinitialiser les baux pour une raison quelconque :

rm dhcpd.leases~ && echo « » > dhcpd.leases

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Post Navigation