Introduction

Le service DHCP permet d'attribuer dynamiquement des adresses IP à des équipements réseaux sur le réseau local. Il s'appuie sur le serveur DHCP de référence, celui d'ISC.

Information Caractéristiques
Site web origine ISC
Version installée 4.2.2
Code C
Paquet isc-dhcp-server

Pré-requis

  • Pour la réinstallation de isc-dhcp-server, une connexion à Internet est indispensable, ne serait-ce que pour télécharger les paquets d'installation.
  • isc-dhcp-server est destiné à être installé sur une distribution Debian Wheezy de base.

Installation du logiciel

# aptitude install isc-dhcp-server

Répertoires concernés

  • La configuration du serveur DHCP est stockée dans le fichier /etc/dhcp/dhcpd.conf.
  • La base de données des baux DHCP est stockée dans /var/lib/dhcp/dhcpd.leases.
  • Les fichiers de logs du service DHCP sont stockés dans /var/log/dhcpd/.

Restaurations

Le seul élément à restaurer est la configuration du service. Se référer à la procédure de restauration générique pour y parvenir.

# restore dhcpd /etc/dhcp/
# chown root:root /etc/dhcpd/dhcpd.conf

Pour une remise en service minimale, on peut utiliser le fichier de configuration suivant (obfuscé):

# Configuration du serveur DHCP:

# Pas de mise à jour du DNS local
ddns-update-style none;

# Options communes à tous les sous-réseaux gérés par le serveur DHCP.
## Définition de la résolution de nom
option domain-name "ici";
option domain-name-servers 192.168.0.4;

## Temps de bail DHCP:
### Temps de bail pour un client qui n'a pas demandé de durée spécifique
default-lease-time 3600;
### Temps de bail pour un client a demandé une durée spécifique
max-lease-time 7200;

# Serveur DHCP faisant autorité
authoritative;

# Permettre le boot par PXE:
allow booting;
allow bootp;

# Envoi des logs via syslog. Consulter sysog.conf pour la correspondance.
log-facility local7;

# Déclaration des adresses fixes
host debianbox {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host hp6840 {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host paulinepc {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host martintab {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host madamem {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host trick {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host medeeepc {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

host medspxtower {
  hardware ethernet XX:XX:XX:XX:XX:XX;
  fixed-address 192.168.xxx.xxx;
}

# Déclaration du sous-réseau principal:
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.30 192.168.0.50;
  option routers 192.168.0.254;
}

Configuration du routage des journaux DHCP

Par défaut, la configuration du service DHCP envoie ses données au processus syslog via le niveau local7. Il faut indiquer à Syslog qu'on va utiliser ce niveau pour écrire dans le bon fichier de log. Normalement, la restauration du système gère ce problème. Voici la ligne qui doit être présente dans le fichier /etc/rsyslog.conf:

...
# On loggue les éléments du serveur DHCP dans un fichier spécifique:
local7.* /var/log/dhcpd/dhcpd.log 
...

Configuration de la rotation des journaux DHCP

Il est nécessaire de remettre en service la rotation des journaux pour configurer la rotation spécifique des journaux DHCP. En cas de problème, voici la configuration à appliquer dans le fichier /etc/logrotate.d/dhcpd:

/var/log/dhcpd/*.log {
  weekly
  missingok
  rotate 52
  compress
  delaycompress
  notifempty
  create 640 root adm
} 

Procédure de vérification du service

  • Se connecter sur Debianplug via ssh et vérifier que le processus DHCP est présent: # ps -ef | grep dhcpd
  • Démarrer une machine sur le réseau, soit par le réseau Wifi, soit par le réseau filaire.
  • Vérifier qu'elle récupère une adresse réseau.