
Sommaire :
Voici comment monter un petit serveur DHCP sous Linux.
Alors attention !! petit mais fiable !!
1 – Le principe du DHCP
Au démarrage la station envoie un message de diffusion : dhcp discover.
La totalité des serveur dhcp reçoive cette demande et offre une configuration : dhcp offer
La station choisit le 1er qui a répondu et toujours par un message de diffusion : pour que les autres serveurs sachent qu’ils n’ont pas été retenu : dhcp request
Le serveur qui a été choisi répond par un message de diffusion, la station n’ayant pas encore d’adresse : dhcp ack
Voici les différents type de paquet DHCP existant :
- DHCPDISCOVER => pour localiser les serveurs DHCP disponibles
- DHCPOFFER => réponse du serveur à un paquet DHCPDISCOVER, qui contient les premiers paramètres
- DHCPREQUEST => requête diverse du client pour par exemple prolonger son bail
- DHCPACK => réponse du serveur qui contient des paramètres et l’adresse IP du client
- DHCPNAK => réponse du serveur pour signaler au le client que son bail est échu ou si le client annonce une mauvaise configuration réseau
- DHCPDECLINE => le client annonce au serveur que l’adresse est déjà utilisée
- DHCPRELEASE => le client libère son adresse IP
- DHCPINFORM => le client demande des paramètres locaux, il a déjà son adresse IP
Un serveur à 3 manières d’allouer une adresse :
- manuel : l’admin associe donc une IP avec une adresse mac
- automatique : le serveur fournit une adresse a partir d’un ensemble d’adresse réservé à cette effet (manuel)
- dynamique : contrairement à automatique le serveur fournit l’adresse à partir d’un ensemble réservé mais la possession de l’adresse est limité dans le temps.
Le DHCP permet d’obtenir l’adresse IP, le masque de sous réseau, la passerelle, la configuration DNS, l’adresse du serveur WINS, etc…
2 – Installation d’un server DHCP
Le paquet a installer s’appel dhcp3-server et le démon se nomme DHCPD.
Il est exécuté au démarrage du serveur linux (en tant que service) et permet de fournir la configuration réseau à un hôte.
a° – Pour debian via apt-get power inside 
srvdeb:# apt-get install dhcp3-server Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Les paquets supplémentaires suivants seront installés : dhcp3-client dhcp3-common Paquets suggérés : resolvconf avahi-autoipd Les NOUVEAUX paquets suivants seront installés : dhcp3-server Les paquets suivants seront mis à jour : dhcp3-client dhcp3-common 2 mis à jour, 1 nouvellement installés, 0 à enlever et 61 non mis à jour. Il est nécessaire de prendre 307ko/792ko dans les archives. Après dépaquetage, 750ko d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer [O/n] ? o Réception de : 1 http://ftp2.de.debian.org lenny/main dhcp3-server 3.0.6-1 [307kB] 307ko réceptionnés en 0s (384ko/s) Lecture des fichiers de modifications (« changelog »)... Terminé Préconfiguration des paquets... (Lecture de la base de données... 138995 fichiers et répertoires déjà installés.) Préparation du remplacement de dhcp3-client 3.0.5-3 (en utilisant .../dhcp3-client_3.0.6-1_i386.deb) ... Dépaquetage de la mise à jour de dhcp3-client ... Préparation du remplacement de dhcp3-common 3.0.5-3 (en utilisant .../dhcp3-common_3.0.6-1_i386.deb) ... Dépaquetage de la mise à jour de dhcp3-common ... Sélection du paquet dhcp3-server précédemment désélectionné. Dépaquetage de dhcp3-server (à partir de .../dhcp3-server_3.0.6-1_i386.deb) ... Paramétrage de dhcp3-common (3.0.6-1) ... Paramétrage de dhcp3-client (3.0.6-1) ... Paramétrage de dhcp3-server (3.0.6-1) ... Generating /etc/default/dhcp3-server... Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics. invoke-rc.d: initscript dhcp3-server, action "start" failed.
Le fichier de configuration se trouvera à ce moment là dans /etc/dhcp3/dhcpd.conf et le demon pourra être lancé via le script d’init :
/etc/init.d/dhcpd start
b° – Par les sources
Assurer vous d’avoir gcc, g++, etc pour pouvoir compiler !
Normalement tout doit être déjà installé ou pas…sait-on jamais
Donc on se place dans le répertoire /usr/local/src puis on récupère l’archive, on la décompresse et on l’installe :
srvdeb:~# cd /usr/local/src srvdeb:~# wget ftp://ftp.isc.org/isc/dhcp/dhcp-3.0.2.tar.gz srvdeb:~# cd dhcp-3.0.2 srvdeb:~# ./configure && make && make install
Si tout c’est bien passé, sans aucune erreur à la compilation, le paquet doit être installé.
Il suffit ensuite de copier le fichier dhcpd.conf dans /etc :
cp server/dhcpd.conf /etc
Puis de passer à ça configuration…
3 – Configuration d’un server DHCP
Le demon dhcpd gère plusieurs fichiers de configuration.
Le fichier de configuration principale est /etc/dhcp3/dhcpd.conf
Pour chaque sous-réseaux, il précise les adresse disponibles, la durée du bail et les options DHCP, etc
a ° – Principe
Nous avons ici un réseau sur la plage 192.168.1.0/24.
C’est à dire que les adresses IP vont de 192.168.1.1 à 192.168.1.254.
- L’ip 192.168.1.0 est appelé adresse de réseau
- L’ip 192.168.1.255 est appelé adresse de broadcast
- La passerelle par defaut ici sera la 192.168.1.254
- Le serveur DNS sera le 192.168.1.253 et 81.200.33.199
Nous avons également une petite DMZ située dans le réseau 192.168.0.0/24 mais qui ne sera pas géré par notre serveur DHCP.
Il faudra toute fois le déclarer afin que le serveur DHCP est une idée de la topologie du réseau.
b° – Les fichiers de configuration
Voici donc un exemple de fichier de configuration basique que je vais détailler ici avec des commentaires :
#----------------------------------------------------------- # Debut conf #----------------------------------------------------------- #--------------- # Conf globale #--------------- # Notre serveur DHCP fait autorité authoritative; # Afin d'avoir un niveau de log détaillé log-facility local7; # Conf MAJ Dynamique # Cette option sert pour mettre à jour automatiquement le serveur DNS. # Pour une configuration basique, nous ne nous en servirons pas. # Les options possibles sont : # none : désactivé # interim : acitve la mise à jour dynamique du DNS ddns-update-style none; # Déclaration des sous-reseaux. # Tout les sous-réseaux doivent être déclaré # même s'il n'utilise pas le DHCP # ca aide le serveur DHCP a s'y retrouver topologiquement subnet 192.168.0.0 netmask 255.255.255.0 { } #-------------------------------------- # Conf du dhcp pour le réseau concerné #-------------------------------------- # Puis on déclare le réseaux qui se verra attribuer les adresses IP subnet 192.168.1.0 netmask 255.255.255.0 { # La plage d'adresse IP pouvant être attribué par le serveur range 192.168.1.100 192.168.1.199 ; # La passerelle par defaut option routers 192.168.1.254; # L'adresse de broadcast option broadcast-address 192.168.0.255; # L'adresse des serveur de nom de domaine option domain-name-servers 192.168.0.253,81.200.33.199; # Le domaine du réseau (équivalent du Workgroup) option domain-name "freenux.fr"; # La durée du bail par defaut pour l'adresse IP assigné (en seconde) default-lease-time 86400; # La durée du bail maximum max-lease-time 604800; # adresse du serveur de nom NETBIOS option netbios-name-servers 192.168.0.250; } #----------------------------------------------------------- # Fin de conf #----------------------------------------------------------- -------------------------------------------------------------
Pour spécifier l’interface qui fournit le dhcp : /etc/default/dhcp3-server
INTERFACES="192.168.1.1"
Pour attribuer une adresse IP fixe à une station, on se servira de son adresse mac. Voici ce qu’il faut ajouter dans le fichier de configuration :
host cdulux { hardware ethernet 00:14:22:36:ce:93; fixed-address 192.168.1.55; }
Article lu 2221 fois
slt tous le monde aider moi d’istaller et configurer dhcp sous mandriva
merci
Hello,
Ba à priori peut importe la distrib, le principe reste le même… Utilise ton gestionnaire de paquet pour installer dhcpd. Ensuite les fichiers de conf sont sensiblement les mêmes..
Bon courage.