DHCPd sur Debian Etch

Un article de WikisAdmins.



Sommaire

Introduction

Le service d'adressage est bien souvent le premier lien avec les machines clientes puisqu'il donne à celle-ci le moyen de communiquer avec le réseau local voire même avec le reste du monde sur l'internet. De plus, il permet de renseigner dynamiquement le service de nom DNS sur les nouvelles machines connectées. Sans lui, l'administrateur réseau devrait relier chaque client manuellement à son réseau et en fonction du nombre de machine, cela peut-être une tâche très répétitive, fastidieuse, voire impossible. Ce tutoriel doit nous aider à mettre en place ce service sur une Debian fraîchement installée.

Installation

Un simple

   debian:~# aptitude install dhcp3-server

suffira.

Configuration

Si ce n'est pas déjà fait, la configuration commence par l'attribution d'une adresse IP fixe à votre interface reliée au réseau sur lequel votre service d'adressage aura autorité.

Il faut ensuite modifier le fichier /etc/default/dhcp3-server afin de spécifier l'interface sur laquelle DHCPd doit écouté les requêtes des clients.

   INTERFACES="eth1"

Mais la configuration du service proprement dite se passe dans le fichier /etc/dhcp3/dhcpd.conf et pour plus de sécurité, avant d'y mettre les mains, il est recommandé d'en faire une copie de sauvegarde :

   cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.bak 

Voici le fichier repris de la Documentation Ubuntu Francophone car particulièrement clair et bien fait [1] :

Les options générale par défaut

   ### RÉSEAU ###
   
   ## Nom du serveur DHCP
   server-name "ns.lox.lan";
   
   ## Mode autoritaire (autoritaire : mode permettant de refuser les demande d'adresse hors du réseau défini)
   authoritative;
   
   ## Masque de sous-réseau
   option subnet-mask 255.255.255.0;
       
   ### DOMAINE ###
   
   ## Nom du domaine
   option domain-name "lox.lan";
   
   ## Adresse IP des serveurs DNS disponible pour le réseau
   # a remplacer par l'ip de votre serveur dns ou par celle de votre fai
   option domain-name-servers  192.168.1.1, 212.27.40.240, 212.27.40.241; 
   # le serveur lui même et les adresses DNS de Free
   
   ## Type de mise à jour du DNS (permet la mise à jour du serveur DNS : ici aucune)
   ddns-update-style none;
   
   
   ### TEMPS DE RENOUVELLEMENT DU BAIL DES ADRESSES ###
   
   ## par défaut en s (24 h)
   default-lease-time 86400;
   
   ## maximum (7 j)
   max-lease-time 604800;
   
   
   ### Sécurité ###
       
   ## refus(deny)/autorise(allow) les clients inconnus
   allow unknown-clients;
   
   ## A décommenter pour envoyer les messages de journalisation dans un fichier spécifique
   ## (Il vous faudra aussi modifier syslog.conf pour compléter la redirection)
   # log-facility local7;
   
   
   ### PXE ###
   ## Permet le boot réseau pour TFTP 
   allow bootp;
   allow booting;
   

Configuration des sous réseaux sur lesquels le service doit distribuer des adresses IP

   ##### RÉSEAUX #####
   ## Déclaration sous réseau 192.168.1.*
   subnet 192.168.1.0 netmask 255.255.255.0 {
     # Si vous voulez spécifier un domaine différent de celui par défaut :
     option domain-name "lox.lan";
     ## Adresse de diffusion 
     option broadcast-address 192.168.1.255;
     ## passerelle par défaut
     option routers 192.168.1.1;
       ## Plage d'attribution d'adresse
       range 192.168.1.10 192.168.1.20;
     ## Option pxe nom du fichier servit.
     # elilo.efi pour ia64; pxelinux.0 pour x86
     # À placer à la racine du serveur TFTP.
     # Le fichier peut être spécifié dans la section « host », il deviendra alors prioritaire sur celui-ci 
     # filename "pxelinux.0";
     # définit le serveur qui servira le fichier « pxelinux.0 »
     # next-server 192.168.2.1;
     # évalue si l'adresse est déjà attribuée
     ping-check = 1;
   }
   
   ## Déclaration d'un éventuel second sous réseau 192.168.2.*
   #subnet 192.168.2.0 netmask 255.255.255.0 {
   #  option domain-name "lox.lan";
   #  option broadcast-address 192.168.2.255;
   #  option routers 192.168.2.1;
   #  	range 192.168.2.2 192.168.2.3;
   #  ping-check = 1;
   #  filename "pxelinux.0";
   #  next-server 192.168.2.1;
   #}
   

Imposer des adresses fixe à certaines machines

   #### Configuration des hôtes avec IP fixée ####
   # hôte « FTP »
   host ftp {
     # adresse mac de la carte réseau !
     # !!! À REMPLACER PAR CELLE DE LA MACHINE !!!
     hardware ethernet 00:0f:75:af:eb:44;
     # adresse attribué
     fixed-address 192.168.1.2;
     ### PXE ###
     # fichier spécifique à une machine 
     # filename "debian-installer/ia64/elilo.efi";
     # definit le serveur qui servira le fichier pxelinux.0
     # next-server 192.168.2.1;
   } 
   # hôte « WEB »
   host web {
     # !!! À REMPLACER PAR CELLE DE LA MACHINE !!!
     hardware ethernet 00:02:0d:31:d1:cc;
     fixed-address 192.168.1.3;
   }
   # hôte « mail »
   host mail {
     # !!! À REMPLACER PAR CELLE DE LA MACHINE !!!
     hardware ethernet 00:02:55:d2:d1:cc;
     fixed-address 192.168.1.4;
   }
   # hôte « PORTABLE »
   host portable {
     # !!! À REMPLACER PAR CELLE DE LA MACHINE !!!
     hardware ethernet 00:0e:af:31:d1:cc;
     fixed-address 192.168.2.2;
   }

Vérifiez que vous n'avez pas oublier de points virgules en fin de lignes puis relancez votre service DHCPd :

   debian:~# /etc/init.d/dhcp3-server restart

Et enfin configurez un client de votre réseau de façon à ce qu'il face une requête d'adresse auprès de votre tout nouveau serveur.

Conclusion

Références

  1. http://doc.ubuntu-fr.org/dhcp3-server

Voir aussi

Liens internes

Liens externes