DHCPd sous Linux
 Paul  Makeev, [email protected] --- Adaptation francaise Eric
 Vinck, [email protected]
 v1.2, 24 June 1997

 11..  IInnttrroodduuccttiioonn

 DHCP  signifie  _D_y_n_a_m_i_c  _H_o_s_t  _C_o_n_f_i_g_u_r_a_t_i_o_n  _P_r_o_t_o_c_o_l  _(_P_r_o_t_o_c_o_l_e  _d_e
 _c_o_n_f_i_g_u_r_a_t_i_o_n  _d_y_n_a_m_i_q_u_e  _d_e  _m_a_c_h_i_n_e_s_).  Ce  protocole  permet  a une
 machine cliente  d'obtenir  des  parametres  de  configuration  reseau
 aupres  d'un  serveur  (qui,  oh surprise !, fait pour cela tourner un
 demon DHCPd).  DHCP  beneficie  d'une  compatibilite  ascendante  avec
 BOOTP.  Pour  plus  d'informations  voir la RFC 2131 (anciennement RFC
 1531 - Cf la section

 Ce document traite du serveur DHCP pour Linux :  le  demon  DHCPd.  Il
 existe  un  client  DHCP  pour  Linux  (le  demon  DHCPcd) que nous ne
 decrivons pas ici mais qui peut etre trouve aux adresses suivantes :

 Site primaire:   ftp.kobe-u.ac.jp /pub/PC-UNIX/Linux/network/dhcp 32kB
 dhcpcd-0.65.tar.gz              Miroir:                sunsite.unc.edu
 /pub/Linux/system/network/daemons 32kB dhcpcd-0.65.tar.gz

 Je vous invite par ailleurs a consulter le mini-howto sur DHCPcd.

 22..  LLee sseerrvveeuurr DDHHCCPPdd ppoouurr LLiinnuuxx

 Il existe plusieurs serveurs DHCP disponibles pour les OS U*X-like  (a
 la  Unix),  aussi  bien  payants  que  dans le domaine public. J'ai pu
 experimenter  avec  succes  celui   de   Paul   Vixie/ISC.   J'utilise
 actuellement  la version 5.0.14 aupres avoir utilise la Beta-5.0.9. Ce
 ne sont pas des versions specifiques  a  Linux  mais  elles  compilent
 facilement  et  fonctionnent  (pas  si  facilement  !). Vous pouvez en
 obtenir les dernieres version aux adresses suivantes :

  http://www.isc.org/dhcp/dhcp-beta.html   (pas  souvent  mise  a  jour
 toutefois)

 ou, la derniere version a l'heure actuelle :

  ftp://ftp.isc.org/isc/dhcp/DHCPD-BETA-5.16.tar.gz

 Il  n'y  a  plus  de  distributions de DHCP a  ftp.vix.com. Elles sont
 desormais a ftp.isc.org.

 NB!!! LISEZ ATTENTIVEMENT le  fichier  README  avant  de  compiler  et
 d'installer  DHCPd.  Il  contient  des  informations  specifiques pour
 Linux.

 33..  CCoonnffiigguurraattiioonn dduu nnooyyaauu

 L'option MULTICAST doit etre activee dans le  noyau;  evidemment,  les
 fonctions TCP/IP doivent etre elles aussi activees :-)

 44..  CCoonnffiigguurraattiioonn

 ifconfig -a doit donner les renseignements suivants :

      ______________________________________________________________________
      dhcps:~$ ifconfig -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  la mention 'MULTICAST' n'apparait pas, vous devez re-configurer le
 noyau avec l'option MULTICAST (et rebooter evidemment). C'est la seule
 manipulation necessaire pour mettre en place le 'multicasting'.

 nestat -rn doit avoir cette tete la :

      ______________________________________________________________________
      dhcps:~$ netstat -rn
      Kernel routing table
      Destination     Gateway         Genmask         Flags Metric Ref Use    Iface
      255.255.255.255 0.0.0.0         255.255.255.255 UH    0      0   101    eth0
      ______________________________________________________________________

 c'est  a  dire  que  vous  avez un routage 'multicast' via votre carte
 Ethernet.

 55..  PPrroobblleemmeess aavveecc llee mmuullttiiccaassttiinngg

 Si  la  commande  route  add   -host   255.255.255.255   eth0   repond
 255.255.255.255:  Unknown  host,  essayez  d'ajouter  dans  le fichier
 /etc/hosts la machine bidon ayant pour adresse IP  255.255.255.255  et
 lancez  la  commande  route  add -host bidon eth0. Ca devrait marcher.
 Sinon, essayez avec des utilitaires reseaux plus recents et/ou  faites
 la mise a jour du noyau.

 66..  CCoonnffiigguurraattiioonn ddee DDHHCCPPdd

 Lisez  les docs fournies avec le package, qui sont trop complexes pour
 etre detaillees ici.

 77..  PPeeuutt--oonn llaanncceerr DDHHCCPP ssuurr uunnee mmaacchhiinnee aavveecc pplluussiieeuurrss ccaarrtteess EEtthheerrnneett
 ??

 D'apres la liste de distribution dhcp (Cf la section  'ressources  sur
 Internet'  a  la  fin  de ce document), c'est possible avec le dernier
 noyau (2.0.31 a ce jour) et la derniere version de DHCPd (5.0.15 a  ce
 jour). D'apres la liste de distribution dhcp-server, Linux 2.0.31 a du
 code SO_BINDTODEVICE qui  lui  permet  de  distinguer  les  interfaces
 physiques, si bien que la derniere version de DHCPd devrait fontionner
 avec 2 interfaces Ethernet a la fois sous Linux. Cette  possibiliteest
 toutefois en phase de developpement beta. Je ne l'ai pas verifiee mais
 je compte le faire pour la prochaine version de ce Howto.
 MERCI de ne pas me demander les sources du noyau 2.0.31. C'est un pre-
 patch non officiel a l'heure ou j'ecris ces lignes.

 88..  DDNNSS ddyynnaammiiqquuee

 Une integration des serveurs DNS et DHCP peut permettre de realiser un
 "DNS dynamique". Vous pouvez vous  referer  aux  RFCs  2136  et  2137.
 Certains serveurs DHCP et DNS peuvent avoir des mecanismes specifiques
 pour mettre a jour les informations du DNS.  BIND v.8 (aussi developpe
 par  ISC)  permet  des  mises a jour dynamiques. J'espere que DHCPD et
 BIND seront integres prochainement.

 J'ai ecrit un  programme  en  Python,  qui  automatise  l'ajout  d'une
 machine aux tables DHCP et DNS. Si vous voulez plus d'informations sur
 ce sujet, ecrivez-moi a [email protected]. Il n'est  pas  conforme  aux
 RFCs, mais il fait le sale boulot a votre place.

 99..  RReessssoouurrcceess ssuurr IInntteerrnneett

 +o  http://www.isc.org/dhcp.html
    C'est  la page web du DHCP de l'ISC. Vous pouvez y trouver beaucoup
    d'informations.  C'est d'ailleurs mon site prefere.

 +o  http://www.isc.org/bind.html.
    Informations sur BIND v.8.

 +o  http://www-leland.stanford.edu/%7Ellurch/win95netbugs/faq-c.html
    Une aide tres complete pour DHCPd sous Windaube-95

 +o  http://www.bucknell.edu/~droms/dhcp/index.html
    Un tres bon FAQ sur DHCP, beaucoup de liens (par Ralph Droms).

 +o  http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html
    Un bon FAQ sur DHCP en general.  Beaucoup  d'infos,  une  liste  de
    ressources (par John Wobus).

 Les listes de distribution :

 +o  [email protected] - liste sur le DHCPd de ISC/Vixie.

 +o  [email protected] - liste sur le DHCPd de Bucknell.