  mini-HOWTO DHCP (DHCPd/DHCPcd)
  Vladimir Vuksan <mailto:vuksan@veus.hr>, traduction Arnaud
  Gomes-do-Vale <mailto:arnaud@carrosse.frmug.org>
  v4.6, 27 Septembre 1999

  Ce document a pour but de rpondre  des questions de base sur la con
  figuration de votre machine Linux comme serveur ou client DHCP.
  ______________________________________________________________________

  Table des matires


  1. Introduction

     1.1 Avertissements
     1.2 Nouvelles versions de ce document
     1.3 Retours
     1.4 Contributeurs
     1.5 Copyright

  2. Le protocole DHCP

  3. Configuration des clients

     3.1 Tlchargement du dmon client (
     3.2 Slackware
     3.3 Red Hat 6.x et Mandrake 6.x
     3.4 Red Hat 5.x
     3.5 Red Hat 4.x et Caldera OpenLinux 1.1/1.2
     3.6 Debian
     3.7 LinuxPPC et MkLinux
     3.8 La touche finale
     3.9 Notes diverses

  4. Problmes

     4.1 Votre carte rseau est mal configure.
     4.2 Votre serveur DHCP ne supporte que la RFC 1541 ou fonctionne sous      Windows NT.
     4.3 Au dmarrage, je vois le message d'erreur "Using DHCP for eth0      ... failed" mais mon systme fonctionne correctement.
     4.4 Mon rseau fonctionne pendant quelques minutes avant d'arrter de      rpondre.
     4.5 Ma carte ethernet est reconnue au dmarrage, mais j'ai toujours le      message "NO DHCPOFFER" dans le journal du systme. Il se trouve que j'ai      une carte ethernet PCMCIA.
     4.6 Mon client DHCP envoie des requtes, mais personne ne rpond.
     4.7 J'ai bien suivi toutes les tapes et ma machine ne se connecte      toujours pas.
     4.8 Je suis abonn  MediaOne Express et je ne peux toujours pas me      connecter.
     4.9 Un autre client DHCP (le

  5. Configurer un serveur DHCP

     5.1 Un serveur DHCP pour UNIX
     5.2 Configuration du serveur DHCP
     5.3 Options de DHCPd
     5.4 Dmarrage du serveur


  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn



  11..11..  AAvveerrttiisssseemmeennttss

  Nous dclinons toute responsabilit quant au contenu de ce document.
  L'utilisation des concepts, des exemples ou de tout autre contenu se
  fait entirement  vos propres risques. Dans la mesure o il s'agit
  d'une nouvelle dition de ce document, il peut comporter des erreurs
  ou des imprcisions susceptibles d'endommager votre systme. Bien que
  ce soit trs improbable, je n'en prends pas la responsabilit.

  De plus, gardez  l'esprit que les informations contenues dans ce
  document ne sont _p_a_s officielles. La majeure partie du contenu de ce
  document est constitue de suppositions, qui se trouvent donner
  l'effet prvu pour certaines personnes. Vous utilisez cette
  information  vos risques et prils.


  11..22..  NNoouuvveelllleess vveerrssiioonnss ddee ccee ddooccuummeenntt

  Les nouvelles versions de ce document  (-- NdT: il s'agit ici de la
  version originale en anglais--) sont disponibles sur


       <url url="http://www.cs.unm.edu/~vuksan/linux/DHCP.html">




  De plus, vous devriez trouver ce document sur le site web du Linux
  Documentation Project <http://www.linuxdoc.org/>.

  Les versions traduites suivantes sont disponibles:


    Chinois -  <http://www.linux.org.tw/CLDP/mini/DHCP.html>

    Japonais -  <http://www.linux.or.jp/JF/JFdocs/DHCP.html>

  La version franaise se trouve avec les autres HOWTO:
  <http://www.freenix.org/linux/HOWTO/>.

  Vous tes explicitement autoriss  traduire ce document dans votre
  langue. Je vous demande simplement de mettre un lien vers la version
  originale et de me donner l'adresse URL de votre traduction pour que
  je puisse moi-mme mettre un lien.


  11..33..  RReettoouurrss

  Les retours concernant ce document seront vivement apprcis. Sans vos
  propositions, ce document n'existerait pas. Envoyez donc vos ajouts,
  commentaires et critiques  vuskan-feedback@veus.hr.

  Adressez vos commentaires concernant la version franaise 
  <mailto:arnaud@carrosse.frmug.org>.


  11..44..  CCoonnttrriibbuutteeuurrss

  Ce document est une version modifie de la version d'origine de Paul
  Makeev.

  Les personnes suivantes ont contribu  ce mini-HOWTO.

    Heiko Schlittermann

    Jonathan Smith

    Dan Khabaza

    Hal Sadofsky


    Henrik Stoerner

    Paul Rossington

    et de nombreux autres


  11..55..  CCooppyyrriigghhtt

  Ce HOWTO est  Vladimir Vuksan, 1998 et peut tre distribu selon les
  termes de la licence OpenContent (OPL)


       <url url="http://www.opencontent.org/opl.shtml">






  22..  LLee pprroottooccoollee DDHHCCPP

  DHCP est le protocole de configuration dynamique d'htes (Dynamic Host
  Configuration Protocol). Il est utilis pour contrler certains
  paramtres importants de la configuration rseau des htes (faisant
  tourner un client) au moyen d'un serveur. DHCP maintient une
  compatibilit ascendante avec BOOTP. Pour plus d'informations, voyez
  entre autres la RFC 2131 (anciennement la RFC 1541). Reportez-vous 
  la section _R_e_s_s_o_u_r_c_e_s _s_u_r _i_n_t_e_r_n_e_t  la fin du document. Vous pouvez
  aussi lire la FAQ DHCP
  <http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html>.

  Ce mini-HOWTO dcrit aussi bien l'utilisation du dmon _s_e_r_v_e_u_r DHCP
  que celle du dmon _c_l_i_e_n_t DHCP. La plupart des gens utilisent le dmon
  client, qui est utilis par des stations pour obtenir des informations
  sur leur configuration rseau depuis un serveur distant. Le dmon
  serveur est utilis par les administrateurs rseau pour distribuer ces
  informations aux clients. Donc si vous tes juste un utilisateur, vous
  avez besoin du dmon _c_l_i_e_n_t.


  33..  CCoonnffiigguurraattiioonn ddeess cclliieennttss

   l'heure actuelle, il existe trois clients DHCP diffrents pour
  Linux: dhcpcd, pump et dhclient. Ce mini-HOWTO traite principalement
  de dhcpcd.


  33..11..  TTllcchhaarrggeemmeenntt dduu ddmmoonn cclliieenntt (( ddhhccppccdd ))

  En fonction de votre distribution, vous pouvez avoir besoin de
  tlcharger le dmon client DHCP. Si vous voulez le compiler  partir
  des sources, vous avez besoin du paquetage dhcpcd, dont la dernire
  version est la 1.3.18. Il est maintenu par Sergei Viznyuk
  sergei@phystech.com et est aujourd'hui livr sous forme de binaire
  avec la plupart des distributions.

  Les sources de dhcpcd peuvent tre tlcharges depuis :


    <ftp://ftp.phystech.com/pub/> (site principal)

    <http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz>

  Ensuite, suivez les instructions ci-dessous. Elles devraient rester
  identiques.
  33..22..  SSllaacckkwwaarree

  Vous pouvez tlcharger la dernire version de dhcpcd depuis n'importe
  quel miroir de Metalab ou depuis l'un des sites suivants:

    <ftp://metalab.unc.edu/pub/Linux/system/network/daemons>

    <ftp://ftp.phystech.com/pub/> (site principal)


    Tlchargez la dernire version de dhcpcd.tar.gz.

    Dcompactez la:


       tar -zxvf dhcpcd-0.70.tar.gz




    Allez dans le nouveau rpertoire et compilez dhcpcd


       cd dhcpcd-0.70
       make




    Installez le (vous devez tre root pour lancer la commande
     suivante)


       make install




  Cela va crer un rpertoire /etc/dhcpc o dhcpcd va stocker des
  informations pour DHCP, et le fichier dhcpcd va tre copi dans
  /usr/sbin.

  Pour que le systme initialise DHCP au dmarrage, tapez:


       cd /etc/rc.d
       mv rc.inet1 rc.inet1.OLD




  Cela va renommer l'ancien script d'initalisation du rseau en
  rc.inet1.OLD. Maintenant, il vous faut crer un nouveau script
  rc.inet1. Voici tout ce dont vous avez besoin:












  ______________________________________________________________________
  #!/bin/sh
  #
  # rc.inet1      This shell script boots up the base INET system.

  HOSTNAME=`cat /etc/HOSTNAME` #This is probably not necessary but I
                               #will leave it in anyways

  # Attach the loopback device.
  /sbin/ifconfig lo 127.0.0.1
  /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

  # IF YOU HAVE AN ETHERNET CONNECTION, use these lines below to configure the
  # eth0 interface. If you're only using loopback or SLIP, don't include the
  # rest of the lines in this file.

  /usr/sbin/dhcpcd
  ______________________________________________________________________



  Sauvegardez le et redmarrez votre ordinateur.

  Quand vous aurez termin, allez  la section ``La touche finale''.


  33..33..  RReedd HHaatt 66..xx eett MMaannddrraakkee 66..xx

  La configuration de dhcpcd avec une Red Hat 6.0 ou plus rcente est
  vraiment facile. Vous devez simplement lancer le panneau de contrle
  en tapant:


       control-panel




  puis

    Slectionnez NNeettwwoorrkk CCoonnffiigguurraattiioonn

    Cliquez sur IInntteerrffaacceess

    Cliquez sur AAdddd

    Slectionnez EEtthheerrnneett

    Dans la fentre EEddiitt EEtthheerrnneett//BBuuss IInntteerrffaaccee, slectionnez AAccttiivvaattee
     iinntteerrffaaccee aatt bboooott ttiimmee et choisissez DDHHCCPP comme IInntteerrffaaccee
     ccoonnffiigguurraattiioonn pprroottooccooll.


  Notez que dans la Red Hat 6.x, le client DHCP par dfaut est un
  programme nomm pump qui remplace le dhcpcd mentionn ci-dessus. Un
  paquetage dhcpcd se trouve sur le CD-ROM, donc si vous ne vous en
  tirez pas avec pump, vous pouvez toujours essayer avec dhcpcd. Une
  fois dhcpcd install (par exemple par rpm -i
  dhcpcd-1.3.17pl2-1.i386.rpm), vous allez devoir faire quelques
  ``modifications''.

  Quelques notes supplmentaires d'Alexander Stevenson
  alexander.stevenson@home.com <mailto:alexander.stevenson@home.com>:

  Je n'ai pas russi  utiliser DHCPcd. Finalement, c'est pump, inclus
  dans la Mandrake 6.0 (et je suppose donc dans la Red Hat) qui a bien
  voulu fonctionner. J'ai utilis la commande suivante:


       pump -i eth0 -h hte




  Le nom d'hte est sans importance, mais sans lui, le serveur ne rpond
  pas.

  J'ai alors chang la ligne correspondante de mon script /sbin/ifup
  pour y intgrer cette modification; la version par dfaut n'inclut pas
  l'option -h et ne fonctionne donc pas chez moi.

  En rsum, si vous utilisez Linuxconf, et si a ne fonctionne pas
  aprs avoir choisi l'option "DHCP" pour votre interface, essayez
  d'ajouter "-h hte"  l'invocation de pump dans le script /sbin/ifup.
  Mon script ressemble maintenant  a:

  ______________________________________________________________________
  ...
  if [ -n "$PUMP" ]; then
      echo -n "Determining IP information for $DEVICE..."
      if /sbin/pump -i $DEVICE -h hostname; then
          echo " done."
      else
          echo " failed."
          exit 1
      fi
  else ...
  ______________________________________________________________________



  C'est tout. Il suffit maintenant de redmarrer votre machine ou de
  taper


       /sbin/ifup eth0




  sur la ligne de commande.


  33..44..  RReedd HHaatt 55..xx

  La configuration de dhcpcd avec une Red Hat 5.0 ou plus rcente est
  vraiment facile. Vous devez simplement lancer le panneau de contrle
  en tapant:


       control-panel




  puis

    Slectionnez NNeettwwoorrkk CCoonnffiigguurraattiioonn

    Cliquez sur IInntteerrffaacceess


    Cliquez sur AAdddd

    Slectionnez EEtthheerrnneett

    Dans la fentre EEddiitt EEtthheerrnneett//BBuuss IInntteerrffaaccee, slectionnez AAccttiivvaattee
     iinntteerrffaaccee aatt bboooott ttiimmee et choisissez DDHHCCPP comme IInntteerrffaaccee
     ccoonnffiigguurraattiioonn pprroottooccooll.

  Quand vous aurez termin, allez  la section ``La touche finale''.


  33..55..  RReedd HHaatt 44..xx eett CCaallddeerraa OOppeennLLiinnuuxx 11..11//11..22

  dhcpcd est inclus dans la distribution standard de Red Hat sous la
  forme d'un paquetage RPM. Vous pouvez le trouver dans le rpertoire
  RPMS de votre CD-ROM ou le tlcharger depuis
  <ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm>
  et l'installer avec:


       rpm -i dhcpcd-0.6-2.i386.rpm




  Vous pouvez galement compiler votre propre version en suivant les
  instructions donnes pour la ``Slackware''.

  Ces informations m'ont t communiques par  <nothing@cc.gatech.edu>:


  ______________________________________________________________________
  J'ai enlev mon IP fixe et mon nom d'hte de /etc/resolv.conf. Par contre, j'y
  ai laiss la ligne "search ..." et les lignes de mes deux serveurs de noms
  (pour je ne sais quelle raison mon dhcpcd ne cre jamais de /etc/dhcpc/resolv.conf,
  et je dois utiliser un /etc/resolv.conf statique).

  Dans /etc/sysconfig/network, j'ai enlev les entres HOSTNAME et GATEWAY. J'ai
  laiss les autres entres (NETWORKING, DOMAINNAME, GATEWAYDEV) telles quelles.

  Dans /etc/sysconfig/network-scripts/ifcfg-eth0, j'ai enlev les entres
  IPADDR, NETMASK, NETWORK et BROADCAST. Je n'ai pas touch  DEVICE et
  ONBOOT. J'ai chang la ligne BOOTPROTO en BOOTPROTO=dhcp.

  Sauvegardez le fichier et redmarrez votre machine.
  ______________________________________________________________________



  Quand vous aurez termin, allez  la section ``La touche finale''.


  33..66..  DDeebbiiaann

  Vous pouvez ou bien utiliser le paquetage deb que vous trouverez 
  <ftp://ftp.debian.org/debian/dists/slink/main/binary-
  i386/net/dhcpcd_0.70-4.deb>, ou bien suivre les instructions
  d'installation sur Slackware. Pour dcompacter le paquetage deb,
  tapez:


       dpkg -i /l/endroit/ou/vous/mettez/vos/paquetages/deb/dhcpcd*deb




  Il semble que vous n'ayez rien  configurer. D'aprs Heiko Schlitter
  mann <mailto:heiko@os.inf.tu-dresden.de>:

  Comme les autres paquets Debian, le paquet dhcpcd installe son script
  d'initialisation en /etc/init.d/_<_n_o_m___d_u___p_a_q_u_e_t_a_g_e_>, ici
  /etc/init.d/dhcpcd, et cre des liens vers ce script dans les
  rpertoires /etc/rc?.d/.

  Le contenu des rpertoires /etc/rc?.d/ est ensuite xcut
  automatiquement  l'initialisation du systme.

  Si vous ne redmarrez pas votre systme aprs l'installation, vous
  devriez dmarrer le dmon manuellement:


       /etc/init.d/dhcpcd start




  Quand vous aurez termin, allez  la section ``La touche finale''.


  33..77..  LLiinnuuxxPPPPCC eett MMkkLLiinnuuxx

  La section suivante a t crite par R. Shapiro.

  Depuis la version "1999" (R5), LinuxPPC est pratiquement compatible
  avec le Red Hat 6,  l'exception du problme dcrit ci-dessous. En
  rgle gnrale, le mode d'emploi est le mme que pour la version
  actuelle de la ``Red Hat 6''

  Le problme est que par dfaut, la Red Hat 6.x utilise le client DHCP
  pump, qui ne fonctionne pas correctement sous LinuxPPC.

  Pour contourner ce problme, vous devez installer la dernire version
  du dhcpcd de Sergei Viznyuk et diter /sbin/ifup pour lui faire
  utiliser dhcpcd  la place de pump. Remplacez

  ______________________________________________________________________
  if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then
       PUMP=true
   fi

   if [ -n "$PUMP" ]; then
  ______________________________________________________________________


  par

  ______________________________________________________________________
   if [  "$BOOTPROTO" = bootp ]; then
         echo " done."
       else
         echo " failed."
         exit 1
       fi
   elif [ "$BOOTPROTO" = dhcp ]; then
       echo -n "Determining IP information for $DEVICE..."
       if /sbin/dhcpcd -d $DEVICE ; then
         if [ -f /etc/dhcpc/dhcpcd-${DEVICE}.exe ]; then
             /etc/dhcpc/dhcpcd-${DEVICE}.exe
         fi
  ______________________________________________________________________


  et faites le changement correspondant dans /sbin/ifdown: remplacez

  ______________________________________________________________________
  if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then
  ....
  fi
  ______________________________________________________________________


  par

  ______________________________________________________________________
  if [ "$BOOTPROTO" = bootp ]; then
  fi

  if [ "$BOOTPROTO" = dhcp ]; then
        if [ -f /var/run/dhcpcd-${DEVICE}.pid ]; then
                kill `cat /var/run/dhcpcd-${DEVICE}.pid`
                rm -f /var/run/dhcpcd-${DEVICE}.pid
        fi
  fi
  ______________________________________________________________________



  Une version RPM pour PPC de dhcpcd se trouve sur le CD de LinuxPPC
  1999; une version lgrement plus rcente se trouve dans le rpertoire
  contrib sur <ftp://ftp.linuxppc.org/>. Les sources, qui compilent
  telles quelles sur LinuxPPC 1999, sont disponibles 
  <ftp://ftp.phystech.com/pub/dhcpcd-1.3.17-pl9.tar.gz>.



  33..88..  LLaa ttoouucchhee ffiinnaallee

  Aprs la rinitialisation de votre machine, votre interface rseau
  devrait tre configure. Tapez:


       ifconfig




  Vus devriez obtenir quelque chose comme a:

  ______________________________________________________________________
  lo        Link encap:Local Loopback
            inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
            UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
            RX packets:302 errors:0 dropped:0 overruns:0 frame:0
            TX packets:302 errors:0 dropped:0 overruns:0 carrier:0 coll:0

  eth0      Link encap:Ethernet  HWaddr 00:20:AF:EE:05:45
            inet addr:24.128.53.102  Bcast:24.128.53.255  Mask:255.255.254.0
            ^^^^^^^^^^^^^^^^^^^^^^^
            UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:24783 errors:1 dropped:1 overruns:0 frame:1
            TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0 coll:96
            Interrupt:10 Base address:0x300
  ______________________________________________________________________


  Si vous avez un nombre  l'air normal dans "inet addr", c'est bon. Si
  vous voyez 0.0.0.0, ne dsesprez pas, c'est un rsultat temporaire,
  en attendant que dhcpcd obtienne l'adresse IP. Si au bout de quelques
  minutes, vous voyez toujours 0.0.0.0, consultez la sections
  ``problmes''. dhcpcd est un dmon qui continuera  tourner tant que
  votre machine restera allume. Toutes les trois heures, il contactera
  le serveur DHCP pour renouveler l'attribution de l'adresse IP. Il con
  signera tous les messages dans le journal du systme (/var/adm/syslog/
  sur Slackware, /var/log/syslog/ sur Red Hat ou OpenLinux).

  Une dernire chose : vous devez prciser vos serveurs de noms. Il
  existe deux faons de le faire. Vous pouvez demander les adresses de
  ses serveurs de noms  votre fournisseur d'accs et les mettre dans
  /etc/resolv.conf. Vous pouvez aussi laisser dhcpcd obtenir la liste
  des serveurs de noms depuis le serveur DHCP et le laisser crer un
  resolv.conf adapt dans /etc/dhcpc/. Pour ma part, j'ai dcid de
  laisser faire dhcpcd. Pour cela:

    Sauvegardez votre ancien /etc/resolv.conf


       mv /etc/resolv.conf /etc/resolv.conf.OLD




    Si le rpertoire /etc/dhcpc/ n'existe pas, crez le


       mkdir /etc/dhcpc




    Faites un lien de /etc/dhcpc/resolv.conf vers /etc/resolv.conf


       ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf




  Si a ne fonctionne pas, essayez ceci (rparation suggre par noth
  ing@cc.gatech.edu, avec quelques modifications de Henrik Stoerner):


  J'ai du procder  ce changement car mon dhcpcd ne cre pas de fichier
  /etc/dhcpc/resolv.conf. Dans /etc/sysconfig/network-scripts/ifup, j'ai
  effectu le changement suivant, qui n'est qu'une malheureuse
  bidouille, mais qui marche pour moi: j'ai chang

  ______________________________________________________________________
  elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
      echo -n "Using DHCP for ${DEVICE}... "
      /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE}
      echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

      if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
          ^^^^
          echo "failed."
          exit 1
  ______________________________________________________________________


  en:




  ______________________________________________________________________
  elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then
      echo -n "Using DHCP for ${DEVICE}... "
      /sbin/dhcpcd
      echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh

      if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ]; then
          ^^^^^^
         echo "failed."
         exit 1
  ______________________________________________________________________


  Remarquez le point d'exclamation dans if [ ! -f /var/run/dhcp-
  wait-${DEVICE}.pid ];.

  Maintenant, admirez le rsultat! :-)


  33..99..  NNootteess ddiivveerrsseess

  Ce qui suit n'est pas  proprement parler ncessaire, mais peut tre
  utile  certaines personnes.

  Si vous n'avez besoin de votre connexion qu'occasionnellement, vous
  pouvez dmarrer dhcpcd depuis la ligne de commandes ( condition
  d'tre root) en tapant:


       /usr/sbin/dhcpcd




  Quand vous voulez couper la connexion, tapez:


       /usr/sbin/dhcpcd -k






  44..  PPrroobbllmmeess

  Si vous avez bien suivi toutes les tapes ci-dessus et si malgr tout
  vous ne pouvez pas accder au rseau, plusieurs explications sont
  possibles.


  44..11..  VVoottrree ccaarrttee rrsseeaauu eesstt mmaall ccoonnffiigguurree..

  Pendant l'initialisation du systme, Linux va rechercher votre carte
  rseau et devrait afficher quelque chose de ce genre:

  ______________________________________________________________________
  eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
  3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
  ______________________________________________________________________


  Si aucun message de ce genre n'apparait, votre carte ethernet n'est
  vraisemblablement pas reconnue par Linux. Si votre carte est une carte
  gnrique (un clone de NE2000), vous devriez avoir une disquette avec
  des utilitaires DOS que vous pouvez utiliser pour la configurer.
  Essayez plusieurs IRQ jusqu' ce que Linux reconnaisse votre carte.
  Les IRQ 9, 10 ou 12 conviennent gnralement.


  44..22..  WWiinnddoowwss NNTT..  VVoottrree sseerrvveeuurr DDHHCCPP nnee ssuuppppoorrttee qquuee llaa RRFFCC 11554411 oouu
  ffoonnccttiioonnnnee ssoouuss

  Essayez de lancer dhcpcd par


       dhcpcd -r




  Utilisez ifconfig pour vrifier que votre interface rseau est
  configure (attendez quelques secondes que la configuration soit
  termine; au dpart, vous obtiendrez "inet addr: 0.0.0.0").

  Si cela rsoud votre problme, ajoutez l'option "-r"  vos scripts
  d'initialisation, c'est  dire remplacez /sbin/dhcpcd par /sbin/dhcpcd
  -r.

  Par exemple, sous Red Hat, ditez le script /etc/sysconfig/network-
  scripts/ifup et changez ce qui suit:

  ______________________________________________________________________
          IFNAME=$[ {DEVICE} \
          "/sbin/dhcpcd -r -c /etc/"- etc etc.
  ______________________________________________________________________




  44..33..  AAuu ddmmaarrrraaggee,, jjee vvooiiss llee mmeessssaaggee dd''eerrrreeuurr ""UUssiinngg DDHHCCPP ffoorr eetthh00

  Vous utilisez probablement une Red Hat et vous n'avez pas suivi
  scrupuleusement les instructions. Il vous manque un point
  d'exclamation dans un des scripts. Voyez ``ici'' pour corriger a.


  44..44..  rrppoonnddrree..  MMoonn rrsseeaauu ffoonnccttiioonnnnee ppeennddaanntt qquueellqquueess mmiinnuutteess aavvaanntt
  dd''aarrrrtteerr ddee

  Il semble que gated (le dmon de passerelle) puisse embrouiller le
  routage sur des machines Linux, avec le rsultat mentionn ci-dessus.
  Regardez s'il tourne:


       ps -auxww | grep gate




  S'il tourne effectivement, dsinstallez-le avec le gestionnaire RPM de
  Red Hat ou enlevez son entre dans /etc/rc.d/.


  44..55..  mmeessssaaggee ""NNOO DDHHCCPPOOFFFFEERR"" ddaannss llee jjoouurrnnaall dduu ssyyssttmmee.. IIll ssee ttrroouuvvee
  qquuee jj''aaii uunnee ccaarrttee eetthheerrnneett PPCCMMCCIIAA..  MMaa ccaarrttee eetthheerrnneett eesstt rreeccoonnnnuuee aauu
  ddmmaarrrraaggee,, mmaaiiss jj''aaii ttoouujjoouurrss llee

  Assurez-vous que le port 10baseT (la "prise de tlphone") de votre
  carte est activ. Le meilleur moyen de le vrifier est de regarder
  pour quel type de connecteur votre carte est configure  l'allumage,
  par exemple:
  ______________________________________________________________________
  eth0: 3c509 at 0x300 tag 1, 10baseT port, address  00 20 af ee 11 11, IRQ 10.
                              ^^^^^^^^^^^^
  3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
  ______________________________________________________________________


  Des utilisateurs de micro-ordinateurs portables m'ont signal qu'ils
  avaient ce genre de problmes  cause des utilitaires PCMCIA (plus
  spcifiquement ifport), qui configurent la carte pour utiliser le port
  10base2 (ethernet fin). Vous devez vous assurer que vous utilisez le
  port 10baseT pour votre connexion. Si ce n'est pas le cas, reconfig
  urez votre carte et redmarrez la machine.


  44..66..  MMoonn cclliieenntt DDHHCCPP eennvvooiiee ddeess rreeqquutteess,, mmaaiiss ppeerrssoonnnnee nnee rrppoonndd..

  Cette partie est due  Peter Amstutz.

  Sur certains systmes, vous devez inclure un nom d'hte dans la
  requte DHCP. Avec dhcpcd, vous pouvez faire a comme a:


       dhcpcd -h hotetoto




  Le nom d'hte requis correspond probablement  votre nom d'utilisateur
  sur le rseau.


  44..77..  ttoouujjoouurrss ppaass..  JJ''aaii bbiieenn ssuuiivvii ttoouutteess lleess ttaappeess eett mmaa mmaacchhiinnee
  nnee ssee ccoonnnneeccttee

  En gnral, un modem cable mmorise l'adresse ethernet de votre carte
  rseau. Donc si vous connectez une nouvelle machine ou changez de
  carte rseau, vous allez devoir "apprendre"  votre modem 
  reconnaitre la nouvelle machine ou la nouvelle carte. En gnral, il
  suffit d'teindre le modem et de le rallumer avec l'ordinateur en
  marche. Sinon, vous devrez appeler le support technique pour leur
  signaler que vous avez chang de carte.

  Il se peut aussi que vous ayez des rgles de filtrage (installes par
  ipfwadm) qui interdisent le trafic sur les ports 67 et 68 utiliss par
  DHCP pour communiquer les informations de configuration. Vrifiez vos
  filtres avec attention.


  44..88..  ccoonnnneecctteerr..  JJee ssuuiiss aabboonnnn  MMeeddiiaaOOnnee EExxpprreessss eett jjee nnee ppeeuuxx ttoouu
  jjoouurrss ppaass mmee

  Il semble que MediaOne ait ajout quelques extensions  DHCP qui ne
  devraient pas y tre. C'est cens ne plus tre un problme, mais si
  malgr tout vous rencontrez des problmes, regardez de ce ct. Si
  vous avez la (mal)chance d'avoir Windows NT sur votre machine,
  vrifiez dans l'observateur dvnements, vous devriez y trouver un
  avertissement de ce style:

  ______________________________________________________________________
  DHCP received an unknown option 067 of length 005. The raw option data is
  given  below.

  0000: 62 61 73 69 63            basic
  ______________________________________________________________________

  S'il s'agit bien de ce problme, allez voir  <ftp://van
  buer.ddns.org/pub/> et tlchargez ou bien un binaire, ou bien les
  sources de la version corrige.



  44..99..  UUnn aauuttrree cclliieenntt DDHHCCPP ((llee ddhhcclliieenntt  ddee ll''IISSCC))

  Si vous n'arrivez pas  configurer votre connection au moyen de
  dhcpcd, vous voudrez peut-tre essayer le dhclient de l'ISC. dhclient
  fait partie de la distribution DHCP de l'ISC, qui contient un serveur
  et un client. Les instructions sur la faon de vous procurer et de
  compiler la distribution DHCP se trouvent dans la section ``Un serveur
  DHCP pour UNIX''. Quand vous aurez termin, revenez  la section
  prsente pour la configuration du client.

  Les informations qui suivent m'ont t fournies par Ted Lemon
  mellon@isc.org <mailto:mellon@isc.org>, un des auteurs de dhclient.

  Avec la version actuelle du client DHCP, vous n'avez pas rellement
  besoin d'un fichier dhclient.conf. Il vous suffit d'invoquer
  dhclient :


       /sbin/dhclient




  Cette commande va configurer toutes les interfaces pouvant faire de la
  diffusion  (-- NdT: broadcast--) . Si cela ne fonctionne pas, ou si
  vous ne voulez configurer qu'une seule interface, crez un fichier
  /etc/dhclient.conf  partir de l'exemple de configuration suivant :

  ______________________________________________________________________
  interface "eth0" {
    send dhcp-client-identifier 1:xx:xx:xx:xx:xx:xx;
    send dhcp-lease-time 86400;
  }
  ______________________________________________________________________


  Ici, nous supposons que votre interface ethernet est eth0 ; sinon,
  faites la modification adquate. Remplacez galement xx:xx:xx:xx:xx:xx
  par votre adresse ethernet. Ce fichier dhclient.conf fait ressembler
  votre client DHCP  un client Windows 95.



  55..  CCoonnffiigguurreerr uunn sseerrvveeuurr DDHHCCPP

  55..11..  UUnn sseerrvveeuurr DDHHCCPP ppoouurr UUNNIIXX

  Il existe plusieurs serveurs DHCP pour les systmes d'exploitation "
  la UN*X", aussi bien commerciaux que libres. L'un des plus populaires
  est le DHCPd de Paul Vixie et de l'ISC. Actuellement, la dernire
  version stable est la 2.0, mais la 3.0 est en bta-test. Vous pouvez
  les obtenir depuis  <ftp://ftp.isc.org/isc/dhcp/>.

  Certaines distributions fournissent un paquetage dhcpd prcompil; si
  vous l'avez obtenu de cette manire, vous pouvez ignorer ce qui suit.

  Aprs avoir tlcharg le serveur, dcompactez le. Ensuite, placez
  vous dans le rpertoire de la distribution et tapez:


  ./configure




  La configuration des diffrents paramtres va prendre quelques temps.
  Une fois qu'elle est termine, tapez:


       make




  puis


       make install





  55..22..  CCoonnffiigguurraattiioonn dduu sseerrvveeuurr DDHHCCPP

  Une fois le serveur install, tapez ifconfig -a. Vous devriez obtenir
  quelque chose comme a:

  ______________________________________________________________________
  eth0      Link encap:10Mbps Ethernet  HWaddr 00:C0:4F:D3:C4:62
            inet addr:183.217.19.43  Bcast:183.217.19.255  Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:2875542 errors:0 dropped:0 overruns:0
            TX packets:218647 errors:0 dropped:0 overruns:0
            Interrupt:11 Base address:0x210
  ______________________________________________________________________


  Si le mot MULTICAST n'apparait pas, vous devez recompiler votre noyau
  avec le support multicast. Sur la plupart des systmes, a ne devrait
  pas tre ncessaire.

  Ensuite, ajoutez une route pour 255.255.255.255. D'aprs le fichier
  README du DHCPd :


       Pour que dhcpd fonctionne correctement avec des clients DHCP pointilleux
       (comme celui de Windows 95), il doit pouvoir envoyer des paquets IP avec une
       adresse de destination de 255.255.255.255. Malheureusement, Linux insiste pour
       changer 255.255.255.255 en l'adresse de diffusion du rseau (ici
       192.5.5.223). Ceci constitue une violation du protocole DHCP et, alors que
       beaucoup de clients DHCP ignorent ce problme, certains (par exemple tous ceux
       de Microsoft) le remarquent. Les clients qui ont ce problme sembleront ne pas
       voir les messages DHCPOFFER du serveur.




  Pour cela, tapez:


       route add -host 255.255.255.255 dev eth0




  Si vous voyez un message d'erreur:


       "255.255.255.255: Unknown host"




  essayez d'ajouter la ligne suivante  votre fichier /etc/hosts:


       255.255.255.255 tout-le-monde




  Ensuite, essayez:


       route add -host tout-le-monde dev eth0




  ou


       route add 255.255.255.0 dev eth0




  eth0 dsigne bien sr l'interface rseau que vous utilisez. Si vous en
  utilisez une autre, faites les changements ncessaires.


  55..33..  OOppttiioonnss ddee DDHHCCPPdd

  Maintenant, il vous faut configurer DHCPd. Pour cela, vous allez
  devoir crer ou diter /etc/dhcpd.conf. Il existe une interface
  graphique pour configurer /etc/dhcpd.conf sous KDE (
  <http://www.kde.org/>), appele kcmdhcpd, trs similaire  l'outil de
  configuration de DHCP de Windows NT. Lorsque KDE 2.0 sortira, il
  devrait inclure kcmdhcpd. Vous pouvez aussi vous le procurer
  directement   <ftp://ftp.us.kde.org/pub/kde/unstable/apps/network/>.

  Si vous prfrez configurer dhcpd  la main, suivez les instructions
  ci-dessous.

  La plupart du temps, vous voudrez assigner des adresses IP
  alatoirement. Cela peut se faire de la faon suivante:















  ______________________________________________________________________
  # Exemple de /etc/dhcpd.conf
  # (Ajoutez vos commentaires ici)
  default-lease-time 600;
  max-lease-time 7200;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.1.255;
  option routers 192.168.1.254;
  option domain-name-servers 192.168.1.1, 192.168.1.2;
  option domain-name "mondomaine.org";

  subnet 192.168.1.0 netmask 255.255.255.0 {
     range 192.168.1.10 192.168.1.100;
     range 192.168.1.150 192.168.1.200;
  }
  ______________________________________________________________________


  Le serveur DHCP distribuera aux clients des adresses IP dans les
  intervalles 192.168.1.10-192.168.1.100 et 192.168.1.150-192.168.1.200.
  L'attribution de l'adresse IP sera de 600 secondes si le client ne
  demande pas une dure diffrente, et de 7200 secondes au maximum. Le
  serveur va galement "conseiller" au client d'utiliser le masque de
  sous-rseau 255.255.255.0, l'adresse de diffusion 192.168.1.255,
  192.168.1.254 comme routeur/passerelle et 192.168.1.1 et 192.168.1.2
  comme serveurs DNS.

  Si vous devez spcifier un serveur WINS pour vos clients Windows, vous
  devrez inclure l'option netbios-name-servers:

  ______________________________________________________________________
  option netbios-name-servers 192.168.1.1;
  ______________________________________________________________________



  Vous pouvez aussi assigner des adresses IP spcifiques en utilisant
  l'adresse ethernet du client:

  ______________________________________________________________________
  host haagen {
     hardware ethernet 08:00:2b:4c:59:23;
     fixed-address 192.168.1.222;
  }
  ______________________________________________________________________


  Cela assignera l'adresse IP 192.168.1.222  un client dont l'adresse
  ethernet est 08:00:2b:4c:59:23.

  Vous pouvez aussi mlanger ces diffrentes possibilits, par exemple
  si vous voulez donner des adresses IP statiques  certains clients
  (les serveurs, par exemple) et des adresses IP dynamiques  d'autres
  (par exemple les ordinateurs portables de certains utilisateurs). Il
  existe de nombreuses autres options: adresse du serveur NIS, du
  serveur d'horloge... Si vous avez besoin de ces options, lisez la page
  de manuel de dhcpd.conf.


  55..44..  DDmmaarrrraaggee dduu sseerrvveeuurr

  Il ne reste qu'une chose  faire avant de dmarrer le serveur. La
  plupart des installations de DHCPd ne crent pas par dfaut de fichier
  dhcpd.leases. Ce fichier est utilis par DHCPd pour stocker des
  informations  propos des attributions en cours de validit. Il est en
  format texte brut, donc vous pouvez le lire pendant le fonctionnement
  de DHCPd. Pour le crer, tapez:


       touch /var/state/dhcp/dhcpd.leases




  sur la ligne de commandes. Cela va crer un fichier vide (de taille
  nulle). Certaines vieilles versions de dhcpd 2.0 plaaient ce fichier
  en /etc/dhcpd.leases. Vous n'avez pas  y changer quoi que ce soit;
  c'est dhcpd qui le manipulera lui-mme. Si vous voyez un message
  d'erreur disant que le fichier n'existe pas, ignorez le et passez 
  l'tape suivante.

  Vous pouvez maintenant invoquer le serveur DHCP. Contentez vous de
  taper (ou de rajouter dans les scripts de dmarrage):


       /usr/sbin/dhcpd




  Cette commande invoquera dhcpd sur l'interface eth0. Pour l'utiliser
  sur une autre interface, prcisez-le simplement sur la ligne de com
  mande, par exemple:


       /usr/sbin/dhcpd eth1




  Pour vrifier que tout fonctionne correctement, vous devriez d'abord
  activer le mode de dbogage et mettre le serveur en avant-plan. Vous
  pouvez le faire en tapant:


       /usr/sbin/dhcpd -d -f




  Ensuite, allumez un de vos clients et regardez la console de votre
  serveur. Vous verrez apparaitre un certain nombre de messages de
  dbogage. Si tout se passe bien, vous avez termin. :-) Quittez dhcpd
  et relancez-le sans les options -d -f. Si vous voulez qu'il soit lanc
  au dmarrage, rajoutez dhcpd par exemple au fichier
  /etc/rc.d/rc.local.
















