  DNS HOWTO
  Nicolai Langfeldt janl@math.uio.no
  Version 1.4.2 du 1er Janvier 1998

  Comment  devenir un administrateur de DNS a la petite semaine. Traduc-
  tion francaise par Julien Vayssiere (Julien.Vayssiere@sophia.inria.fr)

  11..  PPrreeaammbbuullee

  Mots-cles  :  DNS,  bind,  named, dialup, ppp, slip, Internet, domain,
  name, hosts, resolving

  11..11..  AAssppeecctt jjuurriiddiiqquuee

  (C)opyright 1995 Nicolai Langfeldt. Ne modifiez pas ce  document  sans
  en  modifier  le  message  de  copyright  en  consequence. Vous pouvez
  distribuer ce document librement sous reserve de conserver le  message
  de copyright.

  11..22..  RReemmeerrcciieemmeennttss eett aappppeell aauuxx bboonnnneess vvoolloonntteess

  J'aimerais  remercier  Arnt  Gulbrandsen qui a relu le brouillon de ce
  document un nombre  incalculable  de  fois  et  a  apporte  nombre  de
  suggestions  pertinentes. Merci egalement a tous ceux qui m'ont envoye
  leurs suggestions par courrier electronique, merci aussi pour tous les
  billets  de  banque  que  je  recois.  Merci  beaucoup  ! Vous m'aidez
  vraiment dans ce travail.

  Ce document n'est pas destine a atteindre un jour un etat final, alors
  mailez-moi  vos problemes ainsi que le recit de vos reussites, cela me
  permettra  d'ameliorer  ce  HOWTO.  Merci  d'envoyer   l'argent,   les
  commentaires et/ou les questions a janl@math.uio.no. Si vous m'envoyez
  un courrier electronique, merci  de  _v_e_r_i_f_i_e_r  que  votre  adresse  de
  retour  est  correcte car je recois _b_e_a_u_c_o_u_p de courrier electronique.
  Essayez aussi de lire le chapitre ``FAQ'' avant de m'envoyer un  mail.

  Si  vous  voulez  traduire  ce  HOWTO, prevenez-moi pour que je puisse
  garder le compte de  toutes  les  langues  dans  lesquelles  j'ai  ete
  traduit :-).

  11..33..  DDeeddiiccaaccee

  Ce  HOWTO  est dedie a Anne Line Norheim, bien qu'elle ne le lise sans
  doute jamais. Il ne s'agit pas du tout du genre de fille  auquel  vous
  pensez.

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

  CCee qquuee ccee ddooccuummeenntt eesstt eett ccee qquu''iill nn''eesstt ppaass

  Pour ceux qui sont entierement nouveaux dans ce domaine, le DNS est le
  Domain Name System. C'est l'ensemble  des  regles  utilisees  par  les
  machines  et  les  logiciels  pour etablir la correspondance entre les
  noms de machines et les adresses  IP.  Ce  document  explique  comment
  definir  de  telles  correspondances  a l'aide d'un systeme Linux. Une
  correspondance est tout simplement une association entre deux  choses,
  dans notre cas un nom de machine, comme ftp.linux.org, et l'adresse IP
  de cette machine, 199.249.150.4.

  Le DNS constitue pour le non-initie (vous dans le cas present ;-)  une
  des parties les plus obscures de l'administration de reseau. Le but de
  ce HOWTO est d'essayer d'en eclaircir quelques  aspects.  Ce  document
  explique  comment configurer un DNS _s_i_m_p_l_e. Nous allons commencer avec
  un serveur de noms qui ne sert qu'a faire cache puis nous continuerons
  en  configurant  un  serveur  DNS  primaire  pour un domaine. Pour des
  configurations plus complexes, jetez  un  coup  d'oeil  a  la  section
  ``FAQ''  de ce document. Si vous n'y trouvez pas ce que vous cherchez,
  vous allez alors devoir _l_i_r_e la Vraie Documentation. Je reviendrai sur
  ce en quoi consiste la Vraie Documentation dans le chapitre ``final''.

  Avant de commencer, vous devez  configurer  votre  machine  pour  etre
  capable  de vous connecter par telnet sur d'autres machines mais aussi
  pouvoir recevoir des connexions sur votre machine.  Vous  devez  aussi
  etre  en  mesure  de  vous  connecter  au reseau par tous les services
  possibles, et en particulier pouvoir faire telnet  127.0.0.1,  ce  qui
  revient  a  vous  connecter  a  votre propre machine (verifiez tout de
  suite que ca marche !). Il est aussi necessaire, pour  commencer,  que
  les  fichiers /etc/host.conf (ou /etc/nnswitch.conf), /etc/resolv.conf
  et /etc/hosts soient correctement configures car je n'expliquerai  pas
  ici  a  quoi  ils servent. Si tout cela n'est pas deja configure et en
  etat de marche, lisez le networking/NET-2 HOWTO  pour  savoir  comment
  faire.

  Si  vous  utilisez  une  connexion  SLIP  ou PPP, il est indispensable
  qu'elle fonctionne. Lisez le PPP HOWTO si ce n'est pas le cas.

  Quand je dis 'votre machine', j'entends la machine sur  laquelle  vous
  aller  essayer  d'installer  le DNS, et non pas une autre machine dont
  vous pourriez vous servir pour acceder au reseau.

  Je supposerai par la suite que vous ne vous trouvez  pas  derriere  un
  firewall  qui  bloque les requetes de resolution de nom. Si tel est le
  cas, vous aurez besoin  d'une  configuration  speciale.  Reportez-vous
  alors au chapitre ``FAQ''.

  Le  service de resolution de nom sous Unix est assure par un programme
  appele named. Il fait partie du paquetage bind, gere  par  Paul  Vixie
  pour  l'Internet Software Consortium. Named est inclus dans la plupart
  des distributions de Linux et se trouve le plus souvent installe  dans
  /usr/sbin/named.   Si   vous   disposez   d'un   named,   vous  pouvez
  vraisemblablement l'utiliser. Si vous n'en avez pas, chargez-en  un  a
  partir  d'un site FTP Linux ou allez chercher la derniere et meilleure
  version des sources du programme  depuis  ftp.vix.com:/pub/bind,  soit
  dans   le  repertoire  release  soit  dans  testing,  suivant  ce  qui
  correspond le mieux a votre maniere de vivre.

  Le service DNS est une base de donnees  a  l'echelle  du  reseau  tout
  entier.   Faites  donc  tres attention a ce que vous y introduisez. Si
  vous y mettez n'importe quoi, vous, et les autres avec,  en  retirerez
  n'importe  quoi.   Conservez votre DNS bien propre, a jour et coherent
  et vous verrez qu'il vous offrira le meilleur de lui-meme. Apprenez  a
  l'utiliser,  l'administrer,  le  debugger  et vous ferez partie de ces
  administrateurs qui empechent que le reseau ne s'ecroule sous le poids
  des systemes mal geres.

  Dans ce document, j'enonce deux ou trois choses qui ne sont pas tout a
  fait vraies (mais qui le sont toujours au moins a moitie).  Si  je  le
  fais,  c'est  toujours  dans le but de rendre les choses plus simples.
  Tout marchera (probablement ;-) tres bien si vous  croyez  ce  que  je
  vous dis.

  AAssttuuccee  :: Si ils existent deja, faites une copie de sauvegarde de tous
  les fichiers que je vous demande de modifier. Ainsi, si plus  rien  ne
  marche  apres  ce que nous allons faire, vous pourrez toujours revenir
  au bon vieux temps ou tout marchait bien.

  33..  UUnn SSeerrvveeuurr ddee NNoomm qquuii nnee ffaaiitt qquuee ccaacchhee..

  UUnn pprreemmiieerr aappeerrccuu ddee llaa ccoonnffiigguurraattiioonn dd''uunn DDNNSS,, ttrreess uuttiillee  ppoouurr  cceeuuxx
  qquuii uuttiilliisseenntt uunnee ccoonnnneexxiioonn eenn ddiiaalluupp..

  Un  serveur de nom qui ne fait que cache sert a trouver la reponse aux
  requetes de resolution de nom et se souvient de cette  reponse  chaque
  fois qu'on lui posera la meme question par la suite.

  Vous  avez  tout d'abord besoin du fichier /etc/named.boot. Ce fichier
  est lu au lancement de named. Pour le moment, il ne doit pas  contenir
  autre chose que :

  ______________________________________________________________________
  ;  Boot file for caching name server
  ;
  directory /var/named
  ;
  ; type          domain                          source file or host
  cache           .                               root.cache
  primary         0.0.127.in-addr.arpa            pz/127.0.0
  ______________________________________________________________________

  TTRREESS  IIMMPPOORRTTAANNTT :: Dans certaines versions de ce document, les fichiers
  listes comme ci-dessus presentent  un  certain  nombre  de  caracteres
  espace ou tabulation avant le premier caractere non blanc de la ligne.
  Ils ne sont pas supposes faire partie du fichier.  EEffffaacceezz  ddoonncc  ttoouuss
  lleess  ccaarraacctteerreess bbllaannccss de debut de ligne des fichiers que vous copiez-
  collez a partir de ce HOWTO.

  La ligne "directory" indique a named l'endroit ou il  doit  rechercher
  ses  fichiers. Tous les fichiers dont nous parlerons maintenant seront
  relatifs a cet endroit.  D'apres  le  _L_i_n_u_x  _F_i_l_e_s_y_s_t_e_m  _S_t_a_n_d_a_r_d,  ce
  repertoire  doit  etre /var/named. Ainsi, pz est un sous-repertoire de
  /var/named, i-e /var/named/pz.

  On trouve a cet endroit le  fichier  /var/named/root.cache,  qui  doit
  ressembler a ceci :

  ______________________________________________________________________
   .       518400  NS      D.ROOT-SERVERS.NET.
   .       518400  NS      E.ROOT-SERVERS.NET.
   .       518400  NS      I.ROOT-SERVERS.NET.
   .       518400  NS      F.ROOT-SERVERS.NET.
   .       518400  NS      G.ROOT-SERVERS.NET.
   .       518400  NS      A.ROOT-SERVERS.NET.
   .       518400  NS      H.ROOT-SERVERS.NET.
   .       518400  NS      B.ROOT-SERVERS.NET.
   .       518400  NS      C.ROOT-SERVERS.NET.
  ;
  D.ROOT-SERVERS.NET.     3600000 A       128.8.10.90
  E.ROOT-SERVERS.NET.     3600000 A       192.203.230.10
  I.ROOT-SERVERS.NET.     3600000 A       192.36.148.17
  F.ROOT-SERVERS.NET.     3600000 A       192.5.5.241
  G.ROOT-SERVERS.NET.     3600000 A       192.112.36.4
  A.ROOT-SERVERS.NET.     3600000 A       198.41.0.4
  H.ROOT-SERVERS.NET.     3600000 A       128.63.2.53
  B.ROOT-SERVERS.NET.     3600000 A       128.9.0.107
  C.ROOT-SERVERS.NET.     3600000 A       192.33.4.12
  ______________________________________________________________________

  SSoouuvveenneezz--vvoouuss  bbiieenn  ddee  ccee qquuee jj''aaii ddiitt ppoouurr lleess ccaarraacctteerreess bbllaannccss eenn
  tteettee ddee lliiggnnee !!

  Ce fichier donne une description de tous les serveurs de noms du monde
  qui se trouvent a la racine (au plus haut niveau) de la hierarchie des
  serveurs de noms. Il arrive que cette liste change, c'est pourquoi  il
  est  _e_s_s_e_n_t_i_e_l que ce fichier soit maintenu a jour. Reportez-vous a la
  section ``maintenance'' pour savoir comment  le  garder  a  jour.   Le
  contenu  de  ce  fichier  est decrit dans la page de man de named mais
  cette-derniere s'adresse plus, a mon humble avis, a  ceux  qui  savent
  deja comment fonctionne named.

  La  ligne  suivante de named.boot est la ligne primary.  J'expliquerai
  son role  dans  un  chapitre  ulterieur.  Pour  l'instant,  il  s'agit
  simplement d'un fichier appele 127.0.0 situe dans le repertoire pz :

  ______________________________________________________________________
  @               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                  1       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      ns.linux.bogus.
  1                       PTR     localhost.
  ______________________________________________________________________

  Apres ca, vous avez besoin d'un fichier /etc/resolv.conf qui ressemble
  a peu pres a ca :

  ______________________________________________________________________
  search subdomain.your-domain.edu your-domain.edu
  nameserver 127.0.0.1
  ______________________________________________________________________

  La ligne search  specifie  dans  quels  domaines  il  faudra  chercher
  lorsque vous voudrez vous connecter sur une machine de nom quelconque.
  La ligne "nameserver" indique a  quelle  adresse  votre  machine  peut
  contacter  un  serveur  de  noms.  Si  vous  voulez indiquer plusieurs
  serveurs de nom, mettez une ligne `nameserver' pour chacun. Dans notre
  cas,  il  s'agit  de  notre propre machine puisque c'est elle qui fait
  tourner named. (Note : named  ne  lit  jamais  ce  fichier,  c'est  le
  resolver qui utilise named qui le fait).

  Illustrons  ce  a  quoi  sert  ce  fichier  :  si  un client cherche a
  contacter foo, on essaye  d'abord  foo.subdomain.your-domain.edu  puis
  foo.your-domain.edu  et  enfin  foo.  Si un client essaye de contacter
  sunsite.unc.edu,  on  essaye  d'abord  sunsite.unc.edu.subdomain.your-
  domain.edu  (je  sais,  c'est  stupide,  mais  c'est  comme  ca)  puis
  sunsite.unc.edu.your-domain.edu  et  enfin  sunsite.unc.edu.    Faites
  attention a ne pas mettre trop de noms de domaine dans la ligne search
  car cela prend du temps de tous les essayer.

  Cet exemple suppose que vous  appartenez  au  domaine  subdomain.your-
  domain.edu.   Votre   machine   s'appelle   alors  certainement  your-
  machine.subdomain.your-domain.edu.  La  ligne  search  ne   doit   pas
  contenir  votre  TLD  (Top  Level Domain; edu dans notre cas). Si vous
  vous connectez frequemment a des machines dans un autre domaine,  vous
  pouvez rajouter ce domaine dans la ligne search comme ceci :

  ______________________________________________________________________
   search subdomain.your-domain.edu your-domain.edu other-domain.com
  ______________________________________________________________________

  et  ainsi  de  suite.  Evidemment,  il faut appliquer cet exemple a de
  vrais noms de domaines. Remarquez qu'ici il n'y a pas de  point  a  la
  fin des noms de domaine.

  Ensuite,  suivant votre version de la libc, vous allez devoir modifier
  soit  /etc/nsswitch.conf,  soit  /etc/host.conf.  Si  vous  avez  deja
  nsswitch.conf,  c'est celui-la que nous allons modifier, sinon ce sera
  host.conf.

  //eettcc//nnsssswwiittcchh..ccoonnff

  C'est un long fichier qui specifie ou trouver  differentes  sortes  de
  types  de  donnees,  dans  quel  fichier ou quelle base de donnees. Il
  contient generalement des commentaires precieux  au  debut,  que  vous
  auriez  tout  interet  a lire tout de suite. Ensuite, trouvez la ligne
  qui commence par "hosts:", elle doit ressembler a ceci:

  ______________________________________________________________________
   hosts: files dns
  ______________________________________________________________________

  Si il n'y a aucune ligne qui commence par "hosts:", mettez  celle  ci-
  dessus.  Elle  dit  que  les  programmes doivent d'abord regarder dans
  /etc/hosts  puis  demander  au  DNS  en  suivant  les  indications  de
  resolv.conf.

  //eettcc//hhoosstt..ccoonnff

  Ce  fichier  contient  certainement  plusieurs  lignes,  dont une doit
  commencer par order et ressembler a ca :

  ______________________________________________________________________
   order hosts,bind
  ______________________________________________________________________

  Si il n'y a pas de ligne "order", il faut en mettre une. Elle  indique
  aux  routines de resolution de nom de regarder d'abord dans /etc/hosts
  puis de demander au serveur  de  noms  (que  vous  avez  precise  dans
  resolv.conf  comme  etant  127.0.0.1). Ces deux derniers fichiers sont
  documentes dans la page de man resolv(8) (tapez `man 8  resolv')  dans
  la  plupart  des  distributions de Linux. Cette page de man est, a mon
  humble avis, largement lisible et tout le monde, a commencer  par  les
  administrateurs  de DNS, devrait l'avoir lue. Faites-le maintenant. Si
  vous vous dites "je le ferai plus tard", vous n'y reviendrez jamais.

  DDeemmaarrrreerr nnaammeedd..

  Apres tout ca, il est temps de demarrer named. Si  vous  utilisez  une
  connexion  en  dialup, commencez par vous connecter. Tapez `ndc start'
  et appuyez sur la touche entree,  sans  donner  d'options.  Si  ca  ne
  demarre  pas,  essayez  plutot  `/usr/sbin/ndc start'. Si ca ne marche
  toujours pas, jetez un coup d'oeil au  chapitre  ``FAQ''.  Maintenant,
  vous  pouvez tester votre configuration. Si vous jetez un oeil a votre
  fichier de messages syslog  (souvent  appele  /var/adm/messages,  mais
  regardez  egalement  dans  le  repertoire  /var/log ou dans le fichier
  syslog) tout en lancant named (faites tail -f /var/adm/messages), vous
  devrez voir quelque chose comme ca :

       Jun 30 21:50:55 roke named[2258]: starting.  named 4.9.4-REL
       Sun Jun 30 21:29:0 3 MET DST 1996
       janl@roke.slip.ifi.uio.no:/var/tmp/bind/named Jun 30 21:50:55 roke
       named[2258]: cache zone "" loaded (serial 0) Jun 30 21:50:55 roke
       named[2258]: primary zone "0.0.127.in-addr.arpa" loaded (serial 1)

  Si  il  y  a  un  quelconque message d'erreur, named donnera le nom du
  fichier  dans  lequel  se  trouve  l'erreur  (soit  named.boot,   soit
  root.cache,  j'espere  :-).  Tuez  le  processus  named  et  retournez
  verifier ces fichiers.

  Il est maintenant temps de lancer nslookup pour regarder  le  resultat
  de votre petit travail manuel

  $ nslookup
  Default Server: localhost
  Address: 127.0.0.1

  >

  Si  vous  obtenez  ceci, c'est que ca marche. Nous l'esperons tous. Si
  vous obtenez quoi que ce soit d'autre, revenez en arriere et  verifiez
  tout.   Chaque  fois  que vous modifiez le fichier named.boot, il vous
  faut relancer named avec la commande ndc restart.

  Maintenant, vous pouvez entrer une requete. Essayez de  contacter  une
  machine  proche  de vous. pat.uio.no est proche de moi, a l'Universite
  d'Oslo :

       > pat.uio.no
       Server: localhost
       Address: 127.0.0.1

       Name:    pat.uio.no
       Address: 129.240.2.50

  nslookup a demande a votre named de rechercher la machine  pat.uio.no.
  Il  a  ensuite  contacte  un  des  serveurs  de  noms  mentionnes dans
  root.cache et a demande le chemin  a  suivre.  Il  peut  s'ecouler  un
  certain  temps avant que vous obteniez le resultat puisqu'il recherche
  tous les domaines listes dans /etc/resolv.conf.

  Si vous reessayez, vous obtiendrez ceci :

       > pat.uio.no
       Server: localhost
       Address: 127.0.0.1

       Non-authoritative answer :
       Name: pat.uio.no
       Address: 129.240.2.50

  Notez cette fois-ci l'apparition de la ligne `Non-authoritative answer
  :'.  Elle veut dire que named n'a pas accede au reseau pour obtenir la
  reponse  mais  a  trouve  l'information  dans  son  cache.  Cependant,
  l'information cachee _p_o_u_r_r_a_i_t ne plus etre a jour. C'est pourquoi vous
  etes  informe  de  ce  (tres  faible)  danger  par  le  message  `Non-
  authoritative  answer:'  Quand  nslookup  repond  ceci la seconde fois
  qu'on lui demande un certain hote, c'est un signe  certain  que  named
  cache  bien  les  informations  et  que  tout  marche.  Pour sortir de
  nslookup, utilisez la commande `exit'.

  Si vous avez une connexion en dialup (ppp ou slip), lisez le  chapitre
  ``Configuration  des  connexions en dialup'', il y a des conseils pour
  vous.

  Maintenant, vous savez comment configurer un  named  qui  fait  cache.
  Servez-vous  une  biere,  un verre de lait ou tout ce que vous voudrez
  pour feter l'evenement, ca le merite.

  44..  UUnn ddoommaaiinnee _s_i_m_p_l_e

  CCoommmmeenntt mmeettttrree eenn ppllaaccee vvoottrree pprroopprree ddoommaaiinnee

  Avant d'entrer _v_r_a_i_m_e_n_t dans le vif du sujet, il  va  falloir  que  je
  vous fasse un brin de theorie sur le principe du service DNS. Et il va
  falloir que vous le lisiez, parce que c'est pour votre bien.  Si  vous
  ne "voulez" pas, vous devriez au moins le survoler rapidement. Arretez
  le survol quand vous en arrivez au point ou j'explique ce  qu'il  faut
  mettre dans le fichier named.boot.

  Le  service  DNS  est  un systeme organise de maniere hierarchique. Le
  sommet est designe par "." et se prononce "root". En dessous de  .  se
  trouvent  un  certain nombre de TLD (Top Level Domains), dont les plus
  connus sont ORG, COM, EDU et NET, mais il y en  a  beaucoup  d'autres.
  Lorsque vous voulez trouver l'adresse IP de prep.ai.mit.edu, votre DNS
  doit trouver un serveur de noms qui serve le domaine  edu.  Votre  DNS
  demande  d'abord  a  un  serveur de noms de fichier root.cache), et le
  serveur de . donne une liste des serveurs d'edu.

  En voici une illustration :

       $ nslookup
       Default Server: localhost
       Address: 127.0.0.1

  Interrogeons un serveur situe a la racine (root).

       > server c.root-servers.net.
       Default Server: c.root-servers.net
       Address: 192.33.4.12

  Positionnons le type  de  requete  (Query  Type)  a  NS  (Name  Server
  records).

        > set q=ns

  Posons la question a propos de edu.

        > edu.

  Le  .  terminal  est  significatif,  il  indique  au  serveur que nous
  interrogeons que edu  se  trouve  juste  sous  .,  ce  qui  permet  de
  faciliter un peu la recherche.

       edu     nameserver = A.ROOT-SERVERS.NET
       edu     nameserver = H.ROOT-SERVERS.NET
       edu     nameserver = B.ROOT-SERVERS.NET
       edu     nameserver = C.ROOT-SERVERS.NET
       edu     nameserver = D.ROOT-SERVERS.NET
       edu     nameserver = E.ROOT-SERVERS.NET
       edu     nameserver = I.ROOT-SERVERS.NET
       edu     nameserver = F.ROOT-SERVERS.NET
       edu     nameserver = G.ROOT-SERVERS.NET
       A.ROOT-SERVERS.NET      internet address = 198.41.0.4
       H.ROOT-SERVERS.NET      internet address = 128.63.2.53
       B.ROOT-SERVERS.NET      internet address = 128.9.0.107
       C.ROOT-SERVERS.NET      internet address = 192.33.4.12
       D.ROOT-SERVERS.NET      internet address = 128.8.10.90
       E.ROOT-SERVERS.NET      internet address = 192.203.230.10
       I.ROOT-SERVERS.NET      internet address = 192.36.148.17
       F.ROOT-SERVERS.NET      internet address = 192.5.5.241
       G.ROOT-SERVERS.NET      internet address = 192.112.36.4

  Ceci  nous  dit que les serveurs *.root-servers.net servent le domaine
  edu., nous pouvons donc continuer en interrogeant c. Maintenant,  nous
  voulons  savoir  qui  sert  le  niveau  suivant  du  nom  de domaine :
  mit.edu.:

       > mit.edu.
       Server:  c.root-servers.net
       Address:  192.33.4.12

       Non-authoritative answer:
       mit.edu nameserver = STRAWB.mit.edu
       mit.edu nameserver = W20NS.mit.edu
       mit.edu nameserver = BITSY.mit.edu

       Authoritative answers can be found from:
       STRAWB.mit.edu  internet address = 18.71.0.151
       W20NS.mit.edu   internet address = 18.70.0.160
       BITSY.mit.edu   internet address = 18.72.0.3

  steawb, w20ns et bitsy servent le domaine mit, prenons-en un au hasard
  et posons-lui la question au sujet de ai.mit.edu:

       > server W20NS.mit.edu.

  Les  noms  de  domaine  ne  sont  pas  sensibles a la difference entre
  lettres minuscules et majuscules, mais comme j'utilise ma souris  pour
  faire  du copier-coller, vous lisez les choses dans ce document telles
  qu'elles apparaissent sur mon ecran.

       Server:  W20NS.mit.edu
       Address:  18.70.0.160

       > ai.mit.edu.
       Server:  W20NS.mit.edu
       Address:  18.70.0.160

       Non-authoritative answer:
       ai.mit.edu      nameserver = WHEATIES.AI.MIT.EDU
       ai.mit.edu      nameserver = ALPHA-BITS.AI.MIT.EDU
       ai.mit.edu      nameserver = GRAPE-NUTS.AI.MIT.EDU
       ai.mit.edu      nameserver = TRIX.AI.MIT.EDU
       ai.mit.edu      nameserver = MUESLI.AI.MIT.EDU

       Authoritative answers can be found from:
       AI.MIT.EDU      nameserver = WHEATIES.AI.MIT.EDU
       AI.MIT.EDU      nameserver = ALPHA-BITS.AI.MIT.EDU
       AI.MIT.EDU      nameserver = GRAPE-NUTS.AI.MIT.EDU
       AI.MIT.EDU      nameserver = TRIX.AI.MIT.EDU
       AI.MIT.EDU      nameserver = MUESLI.AI.MIT.EDU
       WHEATIES.AI.MIT.EDU     internet address = 128.52.32.13
       WHEATIES.AI.MIT.EDU     internet address = 128.52.35.13
       ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.32.5
       ALPHA-BITS.AI.MIT.EDU   internet address = 128.52.37.5
       GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.32.4
       GRAPE-NUTS.AI.MIT.EDU   internet address = 128.52.36.4
       TRIX.AI.MIT.EDU internet address = 128.52.32.6
       TRIX.AI.MIT.EDU internet address = 128.52.38.6
       MUESLI.AI.MIT.EDU       internet address = 128.52.32.7
       MUESLI.AI.MIT.EDU       internet address = 128.52.39.7

  Ainsi, weaties.ai.mit.edu est un  serveur  de  noms  pour  le  domaine
  ai.mit.edu:

       > server WHEATIES.AI.MIT.EDU.
       Default Server:  WHEATIES.AI.MIT.EDU
       Addresses:  128.52.32.13, 128.52.35.13

  Changeons  le  type de requete. Nous avons reussi a trouver le serveur
  de noms, nous allons maintenant chercher tout ce que wheaties sait sur
  le domaine prep.ai.mit.edu.

  > set q=any
  > prep.ai.mit.edu.
  Server:  WHEATIES.AI.MIT.EDU
  Addresses:  128.52.32.13, 128.52.35.13

  prep.ai.mit.edu CPU = dec/decstation-5000.25    OS = unix
  prep.ai.mit.edu
          inet address = 18.159.0.42, protocol = tcp
           #21 #23 #25 #79
  prep.ai.mit.edu preference = 1, mail exchanger = life.ai.mit.edu
  prep.ai.mit.edu internet address = 18.159.0.42
  ai.mit.edu      nameserver = alpha-bits.ai.mit.edu
  ai.mit.edu      nameserver = wheaties.ai.mit.edu
  ai.mit.edu      nameserver = grape-nuts.ai.mit.edu
  ai.mit.edu      nameserver = mini-wheats.ai.mit.edu
  ai.mit.edu      nameserver = trix.ai.mit.edu
  ai.mit.edu      nameserver = muesli.ai.mit.edu
  ai.mit.edu      nameserver = count-chocula.ai.mit.edu
  ai.mit.edu      nameserver = life.ai.mit.edu
  ai.mit.edu      nameserver = mintaka.lcs.mit.edu
  life.ai.mit.edu internet address = 128.52.32.80
  alpha-bits.ai.mit.edu   internet address = 128.52.32.5
  wheaties.ai.mit.edu     internet address = 128.52.35.13
  wheaties.ai.mit.edu     internet address = 128.52.32.13
  grape-nuts.ai.mit.edu   internet address = 128.52.36.4
  grape-nuts.ai.mit.edu   internet address = 128.52.32.4
  mini-wheats.ai.mit.edu  internet address = 128.52.32.11
  mini-wheats.ai.mit.edu  internet address = 128.52.54.11
  mintaka.lcs.mit.edu     internet address = 18.26.0.36

  En  commencant  a  partir  de  ., nous avons successivement trouve les
  serveurs de noms des differents niveaux du nom  de  domaine.  Si  vous
  aviez  utilise  votre propre serveur DNS a la place de tous ces autres
  serveurs, votre named aurait, bien sur, cache toutes ces  informations
  et  il  n'aurait  plus  eu besoin de les redemander pendant un certain
  temps.

  Un domaine dont on parle beaucoup moins, mais qui n'en est  pas  moins
  important,  est  in-addr.arpa.  Ce  domaine  trouve  sa  place dans la
  hierarchie des noms de domaine comme un domaine "normal". in-addr.arpa
  nous  sert  a  obtenir  le  nom  d'hote connaissant l'adresse IP d'une
  machine.  Une chose tres importante ici est de bien remarquer que  les
  adresses  IP  sont notees en sens inverse a l'interieur du domaine in-
  addr.arpa. Si vous avez l'adresse d'une machine : 192.128.52.43, named
  procede exactement comme dans l'exemple de prep.ai.mit.edu : il trouve
  les serveurs pour in-addr.arpa.,  trouve  les  serveurs  pour  192.in-
  addr.arpa.,   trouve   les  serveurs  pour  128.192.in-addr.arpa.,  et
  finalement trouve les  serveurs  pour  52.128.192.in-addr.arpa.  .  On
  obtient bien ainsi l'information liee a 43.52.128.192.in-addr.arpa.

  Malin,  n'est-ce-pas  ?  (dites "oui"). En fait, la resolution de noms
  inverse est assez difficile a admettre les deux premieres annees.

  Pour dire vrai, je viens de vous mentir. Le service DNS ne marche  pas
  vraiment  comme  je  vous  l'ai  expose.  Mais  ca en est suffisamment
  proche.

  NNoottrree pprroopprree ddoommaaiinnee

  Maintenant, nous en sommes a definir notre propre domaine bien a nous.
  Nous  allons  creer  le  domaine  _l_i_n_u_x_._b_o_g_u_s  et  y declarer quelques
  machines.  C'est un nom de domaine totalement factice, afin d'etre sur
  de ne deranger personne dans le Vaste Monde.

  En  fait,  nous  avons deja commence a creer notre propre domaine avec
  cette ligne dans named.boot:

  ______________________________________________________________________
  primary 0.0.127.in-addr.arpa pz/127.0.0
  ______________________________________________________________________

  Notez bien l'absence de `.' a  la  fin  des  noms  de  domaine  de  ce
  fichier.  La  premiere ligne designe le fichier pz/127.0.0 comme etant
  celui qui definit le domaine  0.0.127.in-addr.arpa.  Nous  avons  deja
  configure ce fichier, il se presente comme ceci :

  ______________________________________________________________________
  @               IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                                  1       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      ns.linux.bogus.
  1                       PTR     localhost.
  ______________________________________________________________________

  Notez  bien le `.' a la fin de tous les noms de domaine complets de ce
  fichier, au contraire du fichier named.boot dont nous parlions un  peu
  plus   haut.  Certaines  personnes  aiment  commencer  chaque  fichier
  definissant une zone par une directive $ORIGIN,  mais  en  fait  c'est
  superflu.  L'origine (l'emplacement dans la hierarchie du service DNS)
  d'un fichier de zone est indiquee dans la colonne `domain' du  fichier
  named.boot. Dans notre cas, c'est 0.0.127.in-addr.arpa.

  Ce  `fichier  de  zone'  (`zone  file'), contient 3 `resource records'
  (RRs) : un SOA RR, un NS RR et un PTR RR. SOA  est  l'abbreviation  de
  `Start  Of  Authority'  (Origine  d'Autorite). Le `@' est une notation
  speciale qui designe l'origine. Et comme la  colonne  `domain'  de  ce
  fichier donne 0.0.127.in-addr.arpa, la premiere ligne signifie donc :

       0.0.127.IN-ADDR.ARPA. IN SOA ...

  NS  est  le  `resource  records'  pour  le  serveur de noms (NS = Name
  Server), il dit au service DNS quelle est la machine qui  est  serveur
  de  noms  pour ce domaine. Enfin, le champ PTR dit que 1 (c'est-a-dire
  1.0.0.127.IN-ADDR.ARPA, c'est-a-dire 127.0.0.1) est appele  localhost.

  Le champ SOA est le preambule de _t_o_u_s les fichiers de zone, et il doit
  y en avoir exactement un dans chaque fichier de zone, et ce doit  etre
  le tout premier champ du fichier.

  Ce  champ  SOA  decrit  la  zone,  son  origine  (une  machine appelee
  linux.bogus),    qui    est     responsable     de     son     contenu
  (hostmaster@linux.bogus),  de  quelle  version  du  fichier de zone il
  s'agit (serial : 1), et quelques autres choses qui ont a voir avec  le
  cache  et  les  serveurs  DNS  secondaires.  Pour les champs restants,
  refresh, retry, expire et minimum, utilisez les valeurs  donnees  dans
  ce HOWTO et tout se passera certainement tres bien.

  Le  champ  NS nous dit qui fait serveur DNS pour 0.0.127.in-addr.arpa,
  il  s'agit  de  ns.linux.bogus.  Le  champ  PTR   nous   indique   que
  1.0.0.127.in-addr.arpa (c'est-a-dire 127.0.0.1), est connu sous le nom
  localhost.

  Maintenant, relancez votre named (la  commande  est  ndc  restart)  et
  utilisez nslookup pour regarder le resultat de ce que vous avez fait :

       $ nslookup

       Default Server:  localhost
       Address:  127.0.0.1

       > 127.0.0.1
       Server:  localhost
       Address:  127.0.0.1

       Name:    localhost
       Address:  127.0.0.1

  Tout va bien, on arrive a obtenir localhost  a  partir  de  127.0.0.1.
  Maintenant,  pour le sujet qui nous preoccupe, le domaine linux.bogus,
  inserez une nouvelle ligne primary dans named.boot :

  ______________________________________________________________________
  primary linux.bogus pz/linux.bogus
  ______________________________________________________________________

  Notez qu'encore une fois il n'y a pas de `.' a  la  fin  des  noms  de
  domaine dans le fichier named.boot.

  Dans  le  fichier  de  zone  linux.bogus,  nous allons mettre quelques
  donnees totalement factices :

  ______________________________________________________________________
  ;
  ; Zone file for linux.bogus
  ;
  ; Mandatory minimum for a working domain
  ;
  @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                          199511301       ; serial, todays date + todays serial #
                          28800           ; refresh, seconds
                          7200            ; retry, seconds
                          3600000         ; expire, seconds
                          86400 )         ; minimum, seconds
                  NS      ns.linux.bogus.
                  NS      ns.friend.bogus.
                  MX      10 mail.linux.bogus   ; Primary Mail Exchanger
                  MX      20 mail.friend.bogus. ; Secondary Mail Exchanger

  localhost       A       127.0.0.1
  ns              A       127.0.0.2
  mail            A       127.0.0.4
  ______________________________________________________________________

  Il y a deux choses a noter a propos du champ SOA. ns.linux.bogus  _d_o_i_t
  _a_b_s_o_l_u_m_e_n_t  etre  une vraie machine possedant un champ A. Il n'est pas
  legal d'avoir un champ CNAME pour la machine mentionnee dans le  champ
  SOA.  Il n'est pas necessaire que son nom soit `ns', ce peut etre tout
  autre  nom   valide.   La   deuxieme   chose   a   noter   c'est   que
  hostmaster.linux.bogus  doit  se lire comme hostmaster@linux.bogus. Ce
  doit etre un alias  de  mail,  ou  une  veritable  boite  aux  lettres
  electronique,  et  la  personne  qui  maintient  le  DNS  doit la lire
  regulierement. Tous les mails concernant l'administration  du  domaine
  seront  envoyes  a  cette adresse. Il n'est pas obligatoire que le nom
  soit `hostmaster', ce peut etre toute autre adresse mail legale,  mais
  il faut dans ce cas que l'adresse `hostmaster' fonctionne aussi.

  Il  y  a un nouveau RR (Resource Record) dans ce fichier, c'est le MX,
  pour Mail eXchanger. Il indique aux systemes de  gestion  du  courrier
  electronique   a   quelle   machine   envoyer   le   mail   adresse  a
  someone@linux.bogus,   dans   notre   cas   a   mail.linux.bogus    ou
  mail.friend.bogus.   Le  nombre  devant chaque machine est sa priorite
  vis-a-vis du champ MX, le RR  avec  le  numero  le  plus  faible  (10)
  correspond a la machine vers laquelle le courrier doit etre adresse en
  priorite.  En cas d'echec, le courrier peut etre adresse a la  machine
  qui  a  le  numero  de  priorite immediatement superieur, c'est-a-dire
  mail.friend.bogus qui a une priorite de 20 dans notre cas.

  Relancez named en tapant  ndc  restart.  Examinons  le  resultat  avec
  nslookup :

  $ nslookup
  > set q=any
  > linux.bogus
  Server:  localhost
  Address:  127.0.0.1

  linux.bogus
          origin = linux.bogus
          mail addr = hostmaster.linux.bogus
          serial = 199511301
          refresh = 28800 (8 hours)
          retry   = 7200 (2 hours)
          expire  = 604800 (7 days)
          minimum ttl = 86400 (1 day)
  linux.bogus     nameserver = ns.linux.bogus
  linux.bogus     nameserver = ns.friend.bogus
  linux.bogus     preference = 10, mail exchanger = mail.linux.bogus.linux.bogus
  linux.bogus     preference = 20, mail exchanger = mail.friend.bogus
  linux.bogus     nameserver = ns.linux.bogus
  linux.bogus     nameserver = ns.friend.bogus
  ns.linux.bogus  internet address = 127.0.0.2
  mail.linux.bogus        internet address = 127.0.0.4

  Un  examen  approfondi  vous  montrera  qu'il y a un bug. En effet, la
  ligne

         linux.bogus preference = 10, mail exchanger = mail.linux.bogus.linux.bogus

  est entierement fausse. Il devrait y avoir

         linux.bogus preference = 10, mail exchanger = mail.linux.bogus

  J'ai fait cette erreur deliberement, c'etait juste pour voir  si  vous
  suiviez  :-)  En  regardant dans le fichier de zone, nous trouvons que
  dans la ligne

       @ MX 10 mail.linux.bogus ; Primary Mail Exchanger

  il manque un point. Ou a un 'linux.bogus' de trop. Si, dans un fichier
  de  zone,  un nom de machine ne se termine pas par un point, l'origine
  est ajoutee au nom de la machine. Ainsi, une des deux formes :

  ______________________________________________________________________
  @ MX 10 mail.linux.bogus.  ; Primary Mail Exchanger
  ______________________________________________________________________

  ou

  ______________________________________________________________________
  @ MX 10 mail ; Primary Mail Exchanger
  ______________________________________________________________________

  est correcte. Je prefere la deuxieme forme parce qu'il  y  a  moins  a
  taper.   Dans  un  fichier  de  zone, le nom de domaine doit soit etre
  ecrit et termine par un point, ou ne pas etre inclus du tout. Dans  ce
  dernier cas, le nom de domaine par defaut est l'origine.

  Il  faut  que  j'insiste  sur  le  point  suivant  :   dans le fichier
  named.boot, il ne doit _p_a_s  y  avoir  de  points  apres  les  noms  de
  domaines.  Vous  ne pouvez pas vous imaginer combien de fois un `.' en
  trop ou en moins a tout foutu en l'air et a cause de graves prises  de
  tete aux gens.

  Cela  etant  dit,  voici  le  nouveau  fichier  de zone, avec quelques
  informations supplementaires :

  ______________________________________________________________________
  ;
  ; Zone file for linux.bogus
  ;
  ; Mandatory minimum for a working domain
  ;
  @       IN      SOA     ns.linux.bogus. hostmaster.linux.bogus. (
                          199511301       ; serial, todays date + todays
  serial #
                          28800           ; refresh, seconds
                          7200            ; retry, seconds
                          604800          ; expire, seconds
                          86400 )         ; minimum, seconds

                  NS      ns              ; Inet Address of name server
                  NS      ns.friend.bogus.
                  MX      10 mail         ; Primary Mail Exchanger
                  MX      20 mail.friend.bogus. ; Secondary Mail Exchanger

  localhost       A       127.0.0.1
  ns              A       127.0.0.2
  mail            A       127.0.0.4
  ;
  ; Extras
  ;
  @               TXT     "Linux.Bogus, your DNS consultants"

  ns              MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "Pentium" "Linux 1.2"
                  TXT     "RMS"
  richard         CNAME   ns
  www             CNAME   ns

  donald          A       127.0.0.3
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "i486"  "Linux 1.2"
                  TXT     "DEK"

  mail            MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "386sx" "Linux 1.0.9"

  ftp             A       127.0.0.5
                  MX      10 mail
                  MX      20 mail.friend.bogus.
                  HINFO   "P6" "Linux 1.3.59"
  ______________________________________________________________________

  Vous prefererez certainement changer les trois premiers  champs  A  de
  place  afin  qu'ils se trouvent a cote de leurs autres champs, au lieu
  d'etre en tete du fichier.

  Il y a un certain nombre de nouveaux RR  que  nous  allons  passer  en
  revue  :  HINFO  (Host  INFOrmation),  et  c'est  une bonne habitude a
  prendre que d'encadrer chaque partie de guillemets. La premiere partie
  est  la  descrition  materielle ou le type de processeur de la machine
  tandis que la deuxieme partie decrit le logiciel utilise ou le systeme
  d'exploitation  de  la  machine.   ns  a pour processeur un Pentium et
  tourne sous  Linux  1.2.  Le  champ  TXT  est  libre  et  vous  pouvez
  l'utiliser  pour  tout  ce  qui  vous  passera  par  la  tete.   CNAME
  (Canonical NAME) est un champ qui permet de donner  a  chaque  machine
  plusieurs  noms.  Ainsi, richard et www sont des alias pour ns. Il est
  important de noter que les champs MX, CNAME et SOA ne  doivent  _j_a_m_a_i_s
  mentionner un CNAME, ils ne doivent mentionner que des noms de machine
  possedant un champ A. Ainsi, il serait faux d'avoir :

  ______________________________________________________________________
   foobar CNAME richard ; NO!
  ______________________________________________________________________

  En revanche, ceci serait correct :

  ______________________________________________________________________
   foobar CNAME ns ; Yes!
  ______________________________________________________________________

  Il est aussi important de noter qu'un CNAME n'est pas  un  nom  d'hote
  legal    pour    une    adresse    de    courrier    electronique.   :
  webmaster@www.linux.bogus est une adresse de  mail  illegale  avec  la
  configuration  ci-dessus.   Vous pouvez etre surs qu'il y a un certain
  nombre d'administrateurs systeme dans le Vaste Monde qui sont  tres  a
  cheval  sur  cette regle, meme si elle marche pour vous.  Une facon de
  contourner le probleme est  d'utiliser  des  champs  A  (et  peut-etre
  d'autres, comme un champ MX par exemple) a la place :

  ______________________________________________________________________
   www A 127.0.0.2
  ______________________________________________________________________

  Paul  Vixie,  le  gourou  dont nous avons deja parle, recommande de ne
  _j_a_m_a_i_s utiliser de CNAME. Envisagez donc _t_r_e_s serieusement de  ne  pas
  en utiliser.

  Chargez  la  nouvelle  base  de  donnees en lancant ndc reload, ce qui
  forcera named a relire ses fichiers de configuration.

       $ nslookup
       Default Server:  localhost
       Address:  127.0.0.1

       > ls -d linux.bogus

  Ceci veut dire que l'on souhaite que tous les champs soient  affiches.

  [localhost]
   linux.bogus.                   SOA   ns.linux.bogus
  hostmaster.linux.bogus. (199511301 28800 7200 604800 86400)
   linux.bogus.                   NS    ns.linux.bogus
   linux.bogus.                   NS    ns.friend.bogus
   linux.bogus.                   MX    10   mail.linux.bogus
   linux.bogus.                   MX    20   mail.friend.bogus
   linux.bogus.                   TXT   "Linux.Bogus, your DNS consultants"
   localhost                      A     127.0.0.1
   mail                           A     127.0.0.4
   mail                           MX    10   mail.linux.bogus
   mail                           MX    20   mail.friend.bogus
   mail                           HINFO 386sx       Linux 1.0.9
   donald                         A     127.0.0.3
   donald                         MX    10   mail.linux.bogus
   donald                         MX    20   mail.friend.bogus
   donald                         HINFO i486        Linux 1.2
   donald                         TXT   "DEK"
   www                            CNAME ns.linux.bogus
   richard                        CNAME ns.linux.bogus
   ftp                            A     127.0.0.5
   ftp                            MX    10   mail.linux.bogus
   ftp                            MX    20   mail.friend.bogus
   ftp                            HINFO P6          Linux 1.3.59
   ns                             A     127.0.0.2
   ns                             MX    10   mail.linux.bogus
   ns                             MX    20   mail.friend.bogus
   ns                             HINFO Pentium     Linux 1.2
   ns                             TXT   "RMS"
   linux.bogus.                   SOA   ns.linux.bogus hostmaster.linux.bogus.
  (199511301 28800 7200 604800 86400)

  Tout va bien. Regardons ce qu'il dit pour www tout seul :

       > set q=any
       > www.linux.bogus.
       Server:  localhost
       Address:  127.0.0.1

       www.linux.bogus canonical name = ns.linux.bogus

       linux.bogus     nameserver = ns.linux.bogus
       linux.bogus     nameserver = ns.friend.bogus
       ns.linux.bogus  internet address = 127.0.0.2

  et ns.linux.bogus possede l'adresse 127.0.0.2. Ca a l'air bon aussi.

  OOnn ssee rreellaaxxee

  Bien  sur,  ce  domaine  est  tres  factice,  tout  comme  le sont ses
  adresses. Ce peut-etre, malheureusement, un peu deroutant  pour  vous.
  Un  vrai  exemple  tire  d'un  vrai  domaine  vous  attend au chapitre
  suivant.

  55..  UUnn eexxeemmppllee ttiirree dd''uunn ddoommaaiinnee rreeeell

  OOuu nnoouuss aalllloonnss eennffiinn vvooiirr ddee _v_r_a_i_s ffiicchhiieerrss ddee zzoonnee

  Certains utilisateurs ont suggere que je mette un  vrai  exemple  d'un
  domaine  qui  marche  dans  la  realite  car  mon  explication  de  la
  difference entre un vrai domaine et l'exemple bidon ci-dessus  n'etait
  pas tres claire.

  Une  chose  importante  a propos de cet exemple : ne l'entrez _p_a_s dans
  vos serveurs de nom ! Ne  l'utilisez  que  comme  reference.  Si  vous
  voulez   experimentez,  faites-le  avec  l'exemple  du  domain  bogus.
  J'utilise cet exemple avec la permission de David Bullock  de  LAND-5.
  Ces  fichiers  etaient  a  jour  le  24  Septembre 96, et peuvent donc
  differer de ce que vous pouvez trouver en questionnant les serveurs de
  nom  de  LAND-5 aujourd'hui. Et souvenez-vous : enlevez les caracteres
  blancs en tete de ligne ;-)

  55..11..  //eettcc//nnaammeedd..bboooott ((oouu //vvaarr//nnaammeedd//nnaammeedd..bboooott))

  Voici les deux lignes primary pour les deux zones inverses  dont  nous
  avons  besoin  : le reseau 127.0.0, ainsi que le sous-reseau 206.6.177
  de LAND-5. Et une ligne primary pour la forward zone land-5.com. Notez
  enfin  qu'au lieu de mettre les fichiers dans un repertoire appele pz,
  comme je fais dans ce HOWTO, il les place dans  un  repertoire  appele
  zone.

  ______________________________________________________________________
  ;  Boot file for LAND-5 name server
  ;
  directory /var/named
  ;
  ; type          domain                          source file or host
  cache           .                               root.cache
  primary         0.0.127.in-addr.arpa            zone/127.0.0
  primary         177.6.206.in-addr.arpa          zone/206.6.177
  primary         land-5.com                      zone/land-5.com
  ______________________________________________________________________

  55..22..  //vvaarr//nnaammeedd//rroooott..ccaacchhee

  Souvenez-vous  que  le  contenu  de  ce fichier peut changer, et celui
  donne ici est assez vieux. Vous feriez  mieux  d'utiliser  un  fichier
  plus recent, produit par dig.

  ______________________________________________________________________
  ; <<>> DiG 2.1 <<>>
  ;; res options: init recurs defnam dnsrch
  ;; got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6
  ;; flags: qr rd ra; Ques: 1, Ans: 9, Auth: 0, Addit: 9
  ;; QUESTIONS:
  ;;      ., type = NS, class = IN

  ;; ANSWERS:
   .       518357  NS      H.ROOT-SERVERS.NET.
   .       518357  NS      B.ROOT-SERVERS.NET.
   .       518357  NS      C.ROOT-SERVERS.NET.
   .       518357  NS      D.ROOT-SERVERS.NET.
   .       518357  NS      E.ROOT-SERVERS.NET.
   .       518357  NS      I.ROOT-SERVERS.NET.
   .       518357  NS      F.ROOT-SERVERS.NET.
   .       518357  NS      G.ROOT-SERVERS.NET.
   .       518357  NS      A.ROOT-SERVERS.NET.

  ;; ADDITIONAL RECORDS:
  H.ROOT-SERVERS.NET.     165593  A       128.63.2.53
  B.ROOT-SERVERS.NET.     165593  A       128.9.0.107
  C.ROOT-SERVERS.NET.     222766  A       192.33.4.12
  D.ROOT-SERVERS.NET.     165593  A       128.8.10.90
  E.ROOT-SERVERS.NET.     165593  A       192.203.230.10
  I.ROOT-SERVERS.NET.     165593  A       192.36.148.17
  F.ROOT-SERVERS.NET.     299616  A       192.5.5.241
  G.ROOT-SERVERS.NET.     165593  A       192.112.36.4
  A.ROOT-SERVERS.NET.     165593  A       198.41.0.4

  ;; Total query time: 250 msec
  ;; FROM: land-5 to SERVER: default -- 127.0.0.1
  ;; WHEN: Fri Sep 20 10:11:22 1996
  ;; MSG SIZE  sent: 17  rcvd: 312
  ______________________________________________________________________

  ______________________________________________________________________
  ;  Boot file for LAND-5 name server
  ;
  directory /var/named
  ;
  ; type          domain                          source file or host
  cache           .                               root.cache
  primary         0.0.127.in-addr.arpa            zone/127.0.0
  primary         177.6.206.in-addr.arpa          zone/206.6.177
  primary         land-5.com                      zone/land-5.com
  ______________________________________________________________________

  55..33..  //vvaarr//nnaammeedd//zzoonnee//112277..00..00

  Seulement  l'essentiel,  le  champ  SOA  obligatoire,  et un champ qui
  etablit la correspondance entre 127.0.0.1 et localhost. Ils sont  tous
  les deux indispensables. Rien d'autre ne doit figurer dans ce fichier.
  Il ne sera probablement jamais besoin de le mettre a jour, a moins que
  l'adresse du serveur de noms ou de hostmaster ne change.

  ______________________________________________________________________
  @               IN      SOA     land-5.com. root.land-5.com. (
                                  199609203       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      land-5.com.

  1                       PTR     localhost.
  ______________________________________________________________________

  55..44..  //vvaarr//nnaammeedd//zzoonnee//llaanndd--55..ccoomm

  Nous  trouvons ici le classique et obligatoire champ SOA ainsi que les
  champs NS. Nous pouvons voir qu'il a un  serveur  de  noms  secondaire
  ns2.psi.net. C'est comme ca que tout le monde devrait faire : _t_o_u_j_o_u_r_s
  avoir un serveur  secondaire  sur  un  site  distant  pour  faire  des
  sauvegardes. Nous voyons egalement que le serveur primaire est land-5,
  qui assure tous les services, et que l'administrateur  a  utilise  des
  CNAME pour faire ca (il aurait pu utiliser des champs A).

  Comme  vous pouvez voir d'apres le champ SOA, le fichier de zone a son
  origine a land-5.com, la personne  a  contacter  est  root@land-5.com.
  hostmaster  est  une autre adresse souvent utilisee pour la personne a
  contacter. Le numero de serie est au format obligatoire aaaammjj, avec
  le  numero  de  serie  dans  la  journee  ajoute  a  la fin; il s'agit
  certainement de la sixieme version du fichier de zone pour la  journee
  du  20  septembre  1996.  N'oubliez-pas  que  le  numero de serie doit
  _o_b_l_i_g_a_t_o_i_r_e_m_e_n_t augmenter de maniere monotone,  ici  il  n'y  a  qu'un
  chiffre  pour  le  numero de serie dans la journee, si bien qu'apres 9
  modifications il faudra attendre le lendemain pour modifier le fichier
  a nouveau. Envisagez d'utiliser deux chiffres au lieu d'un seul.

  ______________________________________________________________________
  @       IN      SOA     land-5.com. root.land-5.com. (
                          199609206       ; serial, todays date + todays serial #
                          10800           ; refresh, seconds
                          7200            ; retry, seconds
                          10800           ; expire, seconds
                          86400 )         ; minimum, seconds
                  NS      land-5.com.
                  NS      ns2.psi.net.
                  MX      10 land-5.com.  ; Primary Mail Exchanger

  localhost       A       127.0.0.1

  router          A       206.6.177.1

  land-5.com.     A       206.6.177.2
  ns              CNAME   land-5.com.
  ftp             CNAME   land-5.com.
  www             CNAME   land-5.com.
  mail            CNAME   land-5.com.
  news            CNAME   land-5.com.

  funn            A       206.6.177.3
  illusions       CNAME   funn.land-5.com.
  @               TXT     "LAND-5 Corporation"

  ;
  ;       Workstations
  ;
  ws_177200       A       206.6.177.200
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177201       A       206.6.177.201
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177202       A       206.6.177.202
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177203       A       206.6.177.203
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177204       A       206.6.177.204
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177205       A       206.6.177.205
                  MX      10 land-5.com.   ; Primary Mail Host
  ; {Many repetitive definitions deleted - SNIP}
  ws_177250       A       206.6.177.250
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177251       A       206.6.177.251
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177252       A       206.6.177.252
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177253       A       206.6.177.253
                  MX      10 land-5.com.   ; Primary Mail Host
  ws_177254       A       206.6.177.254
                  MX      10 land-5.com.   ; Primary Mail Host
  ______________________________________________________________________

  Une autre chose qu'il faut noter est que les stations de travail n'ont
  pas de nom personnel, mais plutot un prefixe suivit des deux  derniers
  morceaux  de  leur adresse IP. Utiliser une telle convention simplifie
  grandement la maintenance, mais c'est un peu impersonnel.

  55..55..  //vvaarr//nnaammeedd//zzoonnee//220066

  Les commentaires se trouvent apres ce fichier

  ______________________________________________________________________
  @               IN      SOA     land-5.com. root.land-5.com. (
                                  199609206       ; Serial
                                  28800   ; Refresh
                                  7200    ; Retry
                                  604800  ; Expire
                                  86400)  ; Minimum TTL
                          NS      land-5.com.
                          NS      ns2.psi.net.
  ;
  ;       Servers
  ;
  1       PTR     router.land-5.com.
  2       PTR     land-5.com.
  3       PTR     funn.land-5.com.
  ;
  ;       Workstations
  ;
  200     PTR     ws_177200.land-5.com.
  201     PTR     ws_177201.land-5.com.
  202     PTR     ws_177202.land-5.com.
  203     PTR     ws_177203.land-5.com.
  204     PTR     ws_177204.land-5.com.
  205     PTR     ws_177205.land-5.com.
  ; {Many repetitive definitions deleted - SNIP}
  250     PTR     ws_177250.land-5.com.
  251     PTR     ws_177251.land-5.com.
  252     PTR     ws_177252.land-5.com.
  253     PTR     ws_177253.land-5.com.
  254     PTR     ws_177254.land-5.com.
  ______________________________________________________________________

  La zone inverse est la partie de la configuration qui semble poser  le
  plus  de problemes. Elle est utilisee pour trouver le nom d'hote d'une
  machine connaissant son adresse IP. Exemple : vous etes un serveur IRC
  et  vous  acceptez des connexions provenant de clients IRC. Cependant,
  comme vous etes un serveur IRC norvegien, vous ne voulez accepter  que
  les  connexions  venant  de  Norvege  ou  des autres pays scandinaves.
  Ainsi, lorsqu'un client se connecte chez vous, la bibliotheque C  peut
  vous dire quelle est l'adresse IP du client, puisque cette-derniere se
  trouve dans tous les paquets qui traversent le reseau.  Ensuite,  vous
  pouvez appeler une fonction connue sous le nom de gethostbyaddr qui va
  rechercher  le  nom  d'une  machine  connaissant   son   adresse   IP.
  Gethostbyaddr  va poser la question a un serveur de noms, qui va alors
  faire une recherche de la  machine  dans  le  DNS.  Supposons  que  la
  connexion du client se fasse depuis ws_177200.land-5.com. L'adresse IP
  que la bibliotheque C fournit au serveur IRC est  206.6.177.200.  Pour
  retrouver   le   nom   de   cette   machine,   il  nous  faut  trouver
  200.177.6.206.in-addr.arpa. Le serveur de noms va donc d'abord trouver
  les  serveurs  arpa.,  puis  les serveurs in-addr.arpa., poursuivre la
  recherche inverse par 206, puis 6 et  finalement  trouver  le  serveur
  pour la zone 177.6.206.in-addr.arpa a land-5. C'est ce-dernier qui lui
  dira que pour 200.177.6.206.in-addr.arpa  nous  avons  un  champ  'PTR
  ws_177200.land-5.com',  ce  qui  veut  dire  que  le  nom  qui va avec
  206.6.177.200 est ws_177200.land-5.com. Tout comme pour  l'explication
  de  la resolution de prep.ai.mit.edu, tout ceci est legerement fictif.

  Revenons a l'exemple du serveur IRC.  Le  serveur  n'accepte  que  les
  connexions venant des pays scandinaves, c'est-a-dire *.no, *.se, *.dk.
  Le nom  ws_177200.land-5.com  ne  correspond  evidemment  pas,  et  le
  serveur  va  donc  refuser  la  connexion.  Si  il  n'existait  _p_a_s de
  resolution  inverse  de  206.2.177.200  au  travers  de  la  zone  in-
  addr.arpa,  le  serveur aurait ete tout a fait incapable de trouver le
  nom, et aurait du se contenter de comparer 206.6.177.200 a *.no,  *.se
  et *.dk, dont aucun ne correspond.

  Certains  gens  vous  diront  que  la resolution de noms inverse n'est
  importante que pour les serveurs, ou pas importante du tout. Pas  tant
  que ca : beaucoup de serveurs ftp, news, irc ou http (Web) n'acceptent
  _p_a_s les connexions venant de machines dont ils ne peuvent retrouver le
  nom.  C'est  pourquoi  la resolution de noms inverse pour les machines
  est _o_b_l_i_g_a_t_o_i_r_e.

  66..  MMaaiinntteennaannccee

  GGaarrddeerr vvoottrree DDNNSS eenn eettaatt ddee mmaarrcchhee

  En plus des taches normales, il y a une tache de maintenance  speciale
  a  effectuer  sur les serveurs de nom.  Il s'agit de garder le fichier
  root.cache a jour. La facon la plus simple de le faire est  d'utiliser
  dig.  Lancez  d'abord  dig  sans  argument, vous obtiendrez le fichier
  root.cache de votre propre serveur. Posez alors la meme question a  un
  des  serveurs  de  cette liste avec la commande dig @rootserver.  Vous
  remarquerez que ce que vous obtenez ressemble enormement a un  fichier
  root.cache,   avec   quelques   chiffres   en   plus.   Ces   chiffres
  supplementaires sont inoffensifs. Sauvez-le dans  un  fichier  (dig  .
  @e.root-servers.net  >root.cache.new)  et  remplacez  l'ancien fichier
  root.cache avec.

  N'oubliez pas de  relancer  named  apres  avoir  remplace  le  fichier
  root.cache.

  Al  Longyear  m'a envoye ce script qui peut etre lance automatiquement
  pour mettre a jour named.cache. Lancez-le automatiquement a partir  de
  la crontab et vous pourrez oublier qu'il existe. Ce script suppose que
  l'alias de mail `hostmaster' existe. Il vous faudra  modifier  quelque
  peu ce fichier pour qu'il fonctionne chez vous.

  ______________________________________________________________________
  #!/bin/sh
  #
  # Update the nameserver cache information file once per month.
  # This is run automatically by a cron entry.
  #
  (
   echo "To: hostmaster <hostmaster>"
   echo "From: system <root>"
   echo "Subject: Automatic update of the named.boot file"
   echo

   export PATH=/sbin:/usr/sbin:/bin:/usr/bin:
   cd /var/named

   dig . @rs.internic.net >named.cache.new

   echo "The named.boot file has been updated to contain the following
  information:"
   echo
   cat named.boot.new

   chown root.root named.cache.new
   chmod 444 named.cache.new
   rm -f named.cache.old
   mv named.cache named.cache.old
   mv named.cache.new named.cache
   ndc restart
   echo
   echo "The nameserver has been restarted to ensure that the update is
  complete.
  "
   echo "The previous named.cache file is now called
  /var/named/named.cache.old."
  ) 2>&1 | /usr/lib/sendmail -t
  exit 0
  ______________________________________________________________________

  77..  CCoonnffiigguurraattiioonn aauuttoommaattiiqquuee ppoouurr lleess ccoonnnneexxiioonnss eenn ddiiaalluupp

  Ce  chapitre  explique comment j'ai configure les choses pour que tout
  se fasse de maniere automatique. Le facon dont j'ai  procede  peut  ne
  pas  vous  convenir  du  tout, mais ca peut quand meme vous donner des
  idees. En outre, j'utilise ppp pour faire du dialup alors que beaucoup
  utilisent  slip ou cslip, c'est pourquoi votre configuration peut etre
  totalement differente de la mienne. Mais le programme dip de slip doit
  pouvoir faire beaucoup de ces choses pour vous.

  Normalement,  lorsque  je  ne  suis  pas  connecte au Net, mon fichier
  resolv.conf contient simplement la ligne suivante :

       domain uio.no

  Ca permet d'eviter que la librairie de resolution de nom  n'essaye  de
  se  connecter  a  un  serveur  de noms qui ne peut rien pour moi. Mais
  lorsque je me connecte,  je  veux  demarrer  mon  named  et  avoir  un
  resolv.conf  qui  ressemble  a ceux que nous avons vus plus haut. J'ai
  resolu ce probleme en gardant deux fichiers  'a  la'  resolv.conf  que
  j'ai  appeles  resolv.conf.local  et resolv.conf.connected. Le dernier
  ressemble au fichier resolv.conf decrit plus haut dans ce document.

  Pour me connecter automatiquement au Net, je lance un script appele

  ______________________________________________________________________
  #!/bin/sh
  echo calling...
  pppd
  ______________________________________________________________________

  pppd possede un fichier appele options qui lui donne tous les  details
  necessaires  pour  etablir la connexion. Une fois que ma connexion ppp
  est etablie, le pppd lance un  script  appele  ip-up  (Tout  ceci  est
  decrit dans la page de man de pppd). Voici un extrait de ce script :

  ______________________________________________________________________
  #!/bin/sh
  interface="$1"
  device="$2"
  speed="$3"
  myip="$4"
  upip="$5"
   ...
  cp -v /etc/resolv.conf.connected /etc/resolv.conf
   ...
  /usr/sbin/named
  ______________________________________________________________________

  C'est  ici  que  je  demarre mon named. A la fermeture de la connexion
  ppp, pppd lance un script appele ip-down :

  ______________________________________________________________________
  #!/bin/sh
  cp /etc/resolv.conf.local /etc/resolv.conf
  read namedpid </var/run/named.pid
  kill $namedpid
  ______________________________________________________________________

  De cette maniere, les choses sont configurees lors de la connexion  et
  deconfigurees a la deconnexion.

  Quelques  programmes,  je  pense en particulier a irc et talk, font un
  peu trop de suppositions, et pour  que  l'option  dcc  d'irc  ou  talk
  puissent  fonctionner,  il  faut  modifier  le fichier hosts. J'insere
  cette ligne dans mon script ip-up :

  ______________________________________________________________________

  cp /etc/hosts.ppp /etc/hosts
  echo $myip roke >>/etc/hosts
  ______________________________________________________________________

  hosts.ppp contient tout simplement

  ______________________________________________________________________
   127.0.0.1 localhost
  ______________________________________________________________________

  C'est la ligne echo qui insere l'adresse IP que j'obtiens pour mon nom
  d'hote (roke). Il faut que vous remplaciez roke par le nom sous lequel
  votre machine se connait. On peut l'obtenir par la commande  hostname.

  Il  n'est pas tres malin de faire tourner named lorsque l'on n'est pas
  connecte au Net. En effet, named essaye d'envoyer des requetes sur  le
  Net  et, comme il a un grand timeout, il vous faut attendre ce timeout
  a chaque fois qu'un de vos programmes essaye de resoudre  un  nom.  Si
  vous  utilisez  une connexion en dialup, il vous faut demarrer named a
  la connexion et  l'arreter  lors  de  la  deconnexion.  J'ai  recu  du
  courrier  me  disant  que le comportement normal n'etait pas celui-la,
  mais je n'ai pas reussi a le faire marcher sans avoir  a  attendre  de
  longs  timeouts.  Merci de me mailer _t_o_u_s les details si vous avez des
  informations plus precises.

  Certaines personnes utilisent une directive forwarders parce  qu'elles
  se  trouvent  au  bout  d'une  ligne  tres lente. Si votre fournisseur
  d'acces a des serveurs de nom aux adresses 1.2.3.4  et  1.2.3.5,  vous
  pouvez inserer la ligne suivante :

  ______________________________________________________________________
   forwarders 1.2.3.4 1.2.3.5
  ______________________________________________________________________

  dans  le  fichier  named.boot.   Ceci  vous  permettra  de diminuer la
  quantite de trafic IP genere par votre machine, et peut-etre accelerer
  un  peu  les  choses.  C'est  particulierement  important si vous etes
  facture au volume de donnees transferees.   En  plus,  ca  vous  evite
  d'avoir  a  maintenir un serveur de nom pour faire cache : vous n'avez
  pas a maintenir a jour un fichier root.cache qui est desormais vide.

  88..  FFAAQQ

  Dans cette section, je passe en revue quelques-unes des questions  les
  plus  frequemment  posees  a propos du DNS et de ce HOWTO. Et je donne
  meme les reponses ;-) Merci de bien lire cette  section  avant  de  me
  mailer.

  1. Question  :  Comment  utiliser un DNS si l'on se trouve derriere un
     firewall ?

     Voici quelques indices : `forwarders', `slaves', et jetez  un  coup
     d'oeil a la bibliographie qui se trouve a la fin de ce HOWTO.

  2. Question  :  Comment  dire  a  un DNS qu'il doit faire une rotation
     entre un certain nombre d'adresses pour un service donne, comme par
     exemple  si  l'on veut obtenir un effet d'equilibrage de charge sur
     www.busy.site, ou quelque chose du meme genre ?

     Creez plusieurs champs A pour www.busy.com et utilisez  bind  4.9.3
     ou une version plus recente, qui supporte les reponses a scrutation
     circulaire.  Cela  ne  marchera  _p_a_s  avec  des  versions  de  bind
     anterieures.

  3. Mon systeme ne possede pas le programme ndc. Que puis-je faire ?

     Votre  systeme doit avoir une vieille version de bind, certainement
     obsolete. Si la securite est une chose importante pour vous, passez
     a  une  version  recente  de bind tout de suite. Si ce n'est pas le
     cas, vous pouvez vivre sans ndc. Et a la place de lancer ndc start,
     tapez  named.  ndc reload devient ainsi named.reload et ndc restart
     devient ainsi named.restart. Tous ces  programmes  se  trouvent  le
     plus souvent dans /usr/sbin

  4. Comment mettre en place un serveur secondaire ?

     Si  le  serveur primaire a pour adresse 127.0.0.1, mettez une ligne
     comme celle-ci dans le fichier named.boot du serveur secondaire :

     ___________________________________________________________________
       secondary     linux.bogus             127.0.0.1       sz/linux.bogus

     ___________________________________________________________________

  5. Je veux faire tourner bind lorsque je suis deconnecte du reseau

     J'ai recu le mail suivant de Ian Clark  <ic@deakin.edu.au>,  ou  il
     explique comment il fait ca :

  Ici, je fais tourner named sur la machine qui fais du
  root.cache.real et qui contient les vrais noms des serveurs root, et
  l'autre qui s'appelle root.cache.fake qui contient ceci :

  --------------
  ; root.cache.fake
  ; this file contains no information
  --------------

  Quand je me deconnecte, je copie le fichier root.cache.fake vers
  root.cache et je relance named.

  Quand je me connecte, je copie root.cache.real et je relance named.

  Ces deux manoeuvres sont faites, respectivement, a partir de ip-down et
  ip-up.

  Lorsque je suis deconnecte, named rajoute ceci au fichier messages apres
  la premiere requete concernant un nom de domaine qu'il ne connait pas :

  Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN

  Ce qui n'est pas tres genant.

  Ca marche tres bien dans mon cas. Je peux utiliser le serveur de noms
  pour les machines locales lorsque je suis deconnecte du Net en evitant
  les delais introduits par les timeout lies a la recherche des noms de
  domaine exterieurs. Et lorsque je suis connecte au Net, les requetes
  concernant les noms de domaines exterieurs marchent normalement.

  6. Ou  est-ce  que le serveur de nom qui fait cache stocke son cache ?
     Puis-je controler la taille de ce cache ?

     Le cache est entierement stocke en memoire, il n'est _p_a_s ecrit  sur
     le  disque. Chaque fois que vous tuez named, le cache est perdu. Il
     n'y a _a_u_c_u_n moyen de controler le cache. Named gere le cache  selon
     quelques  regles  simples,  et  c'est  tout.  Vous  ne  pouvez  pas
     controler le cache ou sa taille en aucune maniere. Si  vous  voulez
     vraiment  le  faire,  vous  pouvez le faire en bricolant le code de
     named. Mais ce n'est pas recommande.

  7. Est-ce que named sauvegarde le contenu du cache entre deux restarts
     ? Puis-je le forcer a le faire ?

     Non,  named  ne sauve _p_a_s la contenu du cache lorsqu'il meurt. Cela
     signifie que le cache est reconstruit a partir de zero chaque  fois
     que  vous  tuez puis relancez named. Il n'y a _a_u_c_u_n moyen de forcer
     named a sauvegarder le contenu du cache dans un fichier.   Si  vous
     voulez vraiment le faire, vous pouvez le faire en bricolant le code
     de named. Mais ce n'est, encore une fois, pas recommande.

  99..  CCoommmmeenntt ddeevveenniirr uunn aaddmmiinniissttrraatteeuurr DDNNSS ddee llaa pplluuss hhaauuttee vvoolleeee

  DDooccuummeennttaattiioonn eett oouuttiillss

  La   Vraie  Documentation  existe.  En  ligne  et  imprimee.  Il  faut
  absolument la lire si vous voulez devenir  un  administrateur  DNS  du
  plus  haut  niveau.   Pour ce qui est de la documentation imprimee, le
  livre standard est _D_N_S _a_n_d _B_I_N_D de C. Liu et P.  Albitz chez  O'Reilly
  &  Associates,  Sebastopol, CA, ISBN 0-937175-82-X.  Je l'ai lu, c'est
  excellent. Il y a aussi un chapitre sur le  DNS  dans  _T_C_P_/_I_P  _N_e_t_w_o_r_k
  _A_d_m_i_n_i_s_t_r_a_t_i_o_n,  de  Craig  Hunt chez O'Reilly..., ISBN 0-937175-82-X.
  Un autre passage oblige pour une Bonne administration de DNS (ou Bonne
  n'importe  quoi,  d'ailleurs)  est  _Z_e_n  _a_n_d  _t_h_e  _A_r_t  _o_f  _M_o_t_o_r_c_y_c_l_e
  _M_a_i_n_t_e_n_a_n_c_e by Robert M. Prisig :-) Disponible sous la reference  ISBN
  0688052304.

  Online,  vous  trouverez  des  trucs sur  <http://www.dns.net/dnsrd/>,
  <http://www.vix.com/isc/bind.html>; Une FAQ, un  manuel  de  reference
  (BOG;   Bind  Operations  Guide)  aussi  bien  que  des  papiers,  des
  descriptions de protocoles et des trucs sur le service DNS.   Je  n'ai
  pas  lu  la  plupart de ces trucs-la, c'est pourquoi je ne suis pas un
  Grand administrateur de DNS.  Arnt Gulbrandsen, a l'inverse, a lu  BOG
  et  n'en  dit  que  du  bien  :-).   Le  newsgroup comp.protocols.tcp-
  ip.domains parle de DNS.  En complement, il y a un certain  nombre  de
  RFC sur le DNS, les plus importantes sont certainement celles-ci :

     RRFFCC 22005522
        A.  Gulbrandsen,  P. Vixie, _A _D_N_S _R_R _f_o_r _s_p_e_c_i_f_y_i_n_g _t_h_e _l_o_c_a_t_i_o_n
        _o_f _s_e_r_v_i_c_e_s _(_D_N_S _S_R_V_), October 1996

     RRFFCC 11991188
        Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E.   Lear,
        _A_d_d_r_e_s_s _A_l_l_o_c_a_t_i_o_n _f_o_r _P_r_i_v_a_t_e _I_n_t_e_r_n_e_t_s, 02/29/1996.

     RRFFCC 11991122
        D.  Barr,  _C_o_m_m_o_n  _D_N_S  _O_p_e_r_a_t_i_o_n_a_l  _a_n_d  _C_o_n_f_i_g_u_r_a_t_i_o_n  _E_r_r_o_r_s,
        02/28/1996.

     RRFFCC 11771133
        A. Romao, _T_o_o_l_s _f_o_r _D_N_S _d_e_b_u_g_g_i_n_g, 11/03/1994.

     RRFFCC 11771122
        C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, _D_N_S _E_n_c_o_d_i_n_g _o_f
        _G_e_o_g_r_a_p_h_i_c_a_l _L_o_c_a_t_i_o_n, 11/01/1994.

     RRFFCC 11118833
        R.  Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, _N_e_w _D_N_S _R_R
        _D_e_f_i_n_i_t_i_o_n_s, 10/08/1990.

     RRFFCC 11003355
        P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _i_m_p_l_e_m_e_n_t_a_t_i_o_n _a_n_d _s_p_e_c_i_f_i_c_a_t_i_o_n,
        11/01/1987.

     RRFFCC 11003344
        P.   Mockapetris,   _D_o_m_a_i_n  _n_a_m_e_s  _-  _c_o_n_c_e_p_t_s  _a_n_d  _f_a_c_i_l_i_t_i_e_s,
        11/01/1987.

     RRFFCC 11003333
        M. Lottor, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _o_p_e_r_a_t_i_o_n_s _g_u_i_d_e, 11/01/1987.

     RRFFCC 11003322
        M. Stahl, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _g_u_i_d_e, 11/01/1987.

     RRFFCC 997744
        C. Partridge, _M_a_i_l _r_o_u_t_i_n_g _a_n_d _t_h_e _d_o_m_a_i_n _s_y_s_t_e_m, 01/01/1986.

