Le système d'exploitation GNU-Linux/Le serveur de configuration réseau DHCP



Fonctionnement du serveur DHCP

modifier

DHCP : Dynamic Host Configuration Protocol. Ce service permet de configurer automatiquement les paramètres IP des machines du réseau local. Le principe est simple. Une machine se connecte sur le réseau local et envoie une requête DHCP Discover pour demander à un éventuel serveur DHCP une adresse IP. Si le serveur est présent, il renvoie un message DHCP Offer. Si plusieurs serveurs DHCP sont présents sur le réseau, le client retient une offre d'un des serveurs et diffuse une demande DHCP : DHCP Request. Le serveur choisit par le client renvoie alors un message de validation DHCP ACK. Le client reçoit donc : Adress IP, Masque de réseau, Adresse de passerelle et Adresse des serveurs DNS.

Installation du serveur DHCP (Sur Debian)

modifier
 # apt-get install isc-dhcp-server

Configuration du serveur DHCP

modifier

Le fichier de configuration du serveur DHCP est /etc/dhcp3/dhcpd.conf.

 $ more /etc/dhcp3/dhcpd.conf
 
 # Indique à DHCP de ne pas faire la mise à jour dans le DNS
 ddns-update-style none;
 
 # Le nom de domaine du réseau
 option domain-name "exemple.org";
 
 # Le(s) nom(s) des serveurs de noms
 option domain-name-servers ns1.exemple.org, ns2.exemple.org;
 
 # Durée par défaut du bail
 default-lease-time 600;
 
 # Durée maximum du bail
 max-lease-time 7200;
 
 # Pour les logs, on utilise la facilité local7
 log-facility local7;
 subnet 192.168.30.0 netmask 255.255.255.0 {
 
   # La plage d'attributions des adresses IP
   range 192.168.30.20 192.168.30.240;
 
   # la liste des passerelles
   option routers fw.exemple.org, fw2.exemple.org;
 
   # L'adresse broadcast  
   option broadcast-address 192.168.30.255;
 }

Pour certains ordinateurs, on peut leur attribuer tout le temps la même adresse IP en les identifiant avec leurs adresses MAC. Il suffit de rajouter la section suivante :

 host monordi {
   hardware ethernet 0:0:c0:5d:bd:95;
   fixed-address 192.168.30.200;
 }

Chaque fois que l'on modifie ce fichier, ne pas oublier de relancer le serveur DHCP afin qu'il prenne en compte les modifications :

 # /etc/init.d/dhcp3-server restart

ou

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

Chaque fois que DHCP attribue une adresse IP, il enregistre un message dans /var/log/syslog :

 ...
 Feb 11 10:44:34 fw dhcpd: DHCPREQUEST for 192.168.30.33 from 00:50:ba:2d:d9:17 via eth0
 Feb 11 10:44:34 fw dhcpd: DHCPACK on 192.168.30.33 to 00:50:ba:2d:d9:17 via eth0
 ...

DHCP stocke les adresses IP attribuées dans le fichier /var/lib/dhcp/dhcpd.leases. Ceci lui permet notamment d'attribuer à un ordinateur la même adresse IP (même si ceci n'est pas obligatoire).

 $ cat /var/lib/dhcp/dhcpd.leases
 ...
 lease 192.168.30.182 {
       starts 1 2008/02/11 09:46:23;
       ends 1 2008/02/11 09:56:23;
       hardware ethernet 00:1c:c0:0c:b6:25;
       client-hostname "pc231";
 }
 ...