<h2>But de ce document</h2>
<p class="spip">Ce document me sert de mémo pour installer un <strong class="spip">serveur DHCP</strong> sur une Debian Stable (Etch)</p>

<p class="spip">Ce mémo a été écrit et testé pour une Debian Etch, mais il doit être possible de l’adapter facilement à d’autres distributions.</p>

<h2>Pré-requis</h2>
<p class="spip">Avoir installé une Debian de Base :
<br /></p>
<li> cf mon autre document sur ce sujet : <a href="http://www.coagul.org/article.php3?id_article=337" class="spip_out">http://www.coagul.org/article.php3 ?id_article=337</a>
<h2>Installation et Configuration du serveur DHCP</h2>
<p class="spip">Paquet à installer :</p>

<p class="spip"><code class='spip_code' dir='ltr'># aptitude install dhcp3-server</code></p>

<p class="spip"><strong class="spip">Remarque</strong> : Par défaut le serveur DHCP écoutera sur eth0. Pour modifier cette interface, il est possible de faire « <strong class="spip">dpkg-reconfigure dhcp3-server</strong> » ou de modifier le fichier « <strong class="spip">/etc/default/dhcp3-server</strong> »</p>

<h2>Configuration du serveur </h2>
<p class="spip">Le fichier de configuration du serveur <strong class="spip">dhcp</strong> est « <strong class="spip">/etc/dhcp3/dhcpd.conf</strong> »</p>

<p class="spip">Je conseille pour commencer de faire une copie de sauvegarde de ce fichier. Ensuite, vous pouvez effacer ou commenter les lignes existantes et ajouter les lignes suivantes :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>option domain-name "mondomaine.com";<br />
option domain-name-servers 192.0.0.1, 194.2.0.50;<br />
option routers 192.0.0.151;<br />
default-lease-time 3600;<br />
subnet 192.0.0.0 netmask 255.255.255.0 {<br />
  range 192.0.0.200 192.0.0.254;<br />
  authoritative;<br />
}</code></div>
<p class="spip">La première ligne permet de fournir aux clients le nom du domaine.</p>

<p class="spip">La ligne suivante donne aux clients le ou les serveurs DNS.</p>

<p class="spip">La ligne suivante donne l’adresse de la passerelle par défaut</p>

<p class="spip">La ligne suivante donne le délai du bail en secondes. Il est préférable d’augmenter la valeur par défaut pour limiter le trafic sur le réseau.</p>

<p class="spip">Les 4 dernières lignes permettent d’indiquer la plage d’adresses gérée par le serveur dhcp :</p>

<p class="spip">La ligne « <strong class="spip"> authoritative </strong> » permet d’indiquer que le serveur DHCP sera responsable de la zone concernée</p>

<p class="spip">Une fois la configuration terminée, il faut démarrer ou redémarrer le démon pour prendre en compte les modifications :</p>

<p class="spip"><code class='spip_code' dir='ltr'># /etc/init.d/dhcp3-server restart</code></p>

<p class="spip">Si le démarrage retourne une erreur, il faut penser à consulter les logs :</p>

<p class="spip"><code class='spip_code' dir='ltr'># tail -f /var/log/syslog</code></p>

<p class="spip">Le fichier suivant donne la liste des adresses IP délivrées par le serveur. Pour chaque adresse IP l’on retrouve : son adresse mac, le nom de l’ordinateur, la date de début et de fin du bail :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/var/lib/dhcp3/dhclient.leases </code></p>

<h2>Comment avoir des IP fixes avec un serveur DHCP </h2>
<p class="spip">Pour cela, il faut ajouter dans le fichier « <strong class="spip">/etc/dhcp3/dhcpd.conf</strong> », de nouvelles lignes.</p>

<p class="spip">L’exemple suivant permet de fixer une adresse IP en fonction de son adresse MAC :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>host INFO-TG  {<br />
  hardware ethernet 00:05:5d:f5:08:02;<br />
  fixed-address 192.0.0.11;<br />
}</code></div>
<p class="spip">Redémarrer le démon pour prendre en compte les modifications :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/etc/init.d/dhcp3-server restart</code></p>

<h2>Configuration des postes clients</h2>
<p class="spip">Pour configurer un poste client sous Linux, il faut modifier le fichier :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/etc/network/interfaces</code></p>

<p class="spip">Ce fichier doit contenir :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>auto lo eth0<br />
iface lo inet loopback<br />
iface eth0 inet dhcp</code></div>
<p class="spip">Il ne faut pas oublier de redémarrer le démon après modification :</p>

<p class="spip"><code class='spip_code' dir='ltr'>/etc/init.d/networking restart</code></p>

<p class="spip">Pour les postes Windows, c’est du clickodrome :-)</p>

<h2>Comment vérifier que le client est correctement configuré</h2>
<p class="spip">Sur un poste client linux, la commande suivante, permet de connaître la configuration IP et également de retrouver l’adresse MAC :</p>

<p class="spip"><code class='spip_code' dir='ltr'>ifconfig</code></p>

<p class="spip">Sur un poste client Windows, la commande est la suivante :</p>

<p class="spip"><code class='spip_code' dir='ltr'>ipconfig /all</code></p>

<p class="spip">La consultation des logs sur le serveur en temps réel (avec le paramètre -f), permet également de vérifier que tout fonctionne correctement :</p>

<p class="spip"><code class='spip_code' dir='ltr'>tail -f /var/log/messages</code></p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>19/11/04</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td>0.2</td><td>03/01/05</td><td>MAJ suite à installation nouveau serveur DHCP sur le  P200</td></tr>
<tr class="row_even"><td>0.3</td><td>10/06/05</td><td>Corrections suite aux remarques de Jibux</td></tr>
<tr class="row_odd"><td>0.4</td><td>07/11/06</td><td>Ajout commentaire pour modifier l’interface en écoute par défaut</td></tr>
<tr class="row_even"><td>0.5</td><td>15/10/08</td><td>Mise à jour suite à installation sur Debian ETCH</td></tr>
</tbody>
</table>