Un premier aper�u de la configuration d'un DNS, tr�s utile pour ceux qui utilisent une connexion en dialup.
Un serveur de noms qui ne sert que de cache trouve la r�ponse aux requ�tes de r�solution de nom et se souvient de cette r�ponse chaque fois qu'on lui posera la m�me question par la suite. Cela r�duira les temps de r�ponse, surtout si vous avez une connexion plut�t lente.
Vous avez tout d'abord besoin du fichier /etc/named.conf
. Ce fichier
est lu au lancement de named
. Pour le moment, il ne doit pas contenir
autre chose que :
// Fichier de config pour un serveur de noms qui ne fait que du cache options { directory "/var/named"; // Enlever les commentaires peut vous aider si vous avez a passer a // travers un firewall et que �a ne marche pas : // query-source port 53; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; };
TR�S IMPORTANT : Dans certaines versions de ce document, les fichiers list�s comme ci-dessus pr�sentent un certain nombre de caract�res espace ou tabulation avant le premier caract�re non blanc de la ligne. Ils ne sont pas suppos�s faire partie du fichier. Effacez donc tous les caract�res blancs de d�but de ligne des fichiers que vous copiez-collez � partir de ce HOWTO.
La ligne ``directory
'' indique � named
l'endroit o� il doit
rechercher ses fichiers. Tous les fichiers dont nous parlerons maintenant
auront un chemin relatif relatifs � ce r�pertoire. Ainsi, pz
est un
sous-r�pertoire de /var/named
, c'est a dire
/var/named/pz
. D'apr�s le Linux Filesystem Standard, ce
r�pertoire doit �tre /var/named
.
On trouve � cet endroit le fichier /var/named/root.hints
, qui doit
ressembler � ceci :
; Il se peut qu'il y ait quelques commentaires ici si vous avez d�j� ce ; fichier. de toutes fa�on, ce sont des commentaires, ils ne sont pas ; important du tout. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241
Souvenez-vous bien de ce que j'ai dit pour les caract�res blancs en t�te de ligne !
Ce fichier donne une description de tous les serveurs de noms du monde qui
se trouvent � la racine (au plus haut niveau) de la hi�rarchie des serveurs de
noms. Il arrive que cette liste change, c'est pourquoi il est essentiel que ce
fichier soit maintenu � jour. Reportez-vous � la section
maintenance pour savoir comment le garder � jour. Le contenu de ce
fichier est d�crit dans la page de man de named
mais cette derni�re
s'adresse plus, � mon humble avis, � ceux qui savent d�j� comment fonctionne
ce programme.
La section suivante de named.conf
est la derni�re partie. Elle sera
expliqu�e dans un chapitre suivant, pour l'instant, cr�ez un fichier appel�
127.0.0
dans le sous r�pertoire pz
:
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. ( 1 ; Serial 8H ; Refresh 2H ; Retry 1W ; Expire 1D) ; Minimum TTL NS ns.linux.bogus. 1 PTR localhost.
Apr�s �a, vous avez besoin d'un fichier /etc/resolv.conf
qui ressemble � peu pr�s � �a :
search subdomain.your-domain.edu your-domain.edu nameserver 127.0.0.1
La ligne search
sp�cifie dans quels domaines il faudra chercher
lorsque vous voudrez vous connecter sur une machine de nom quelconque. La
ligne ``nameserver
'' indique � 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
r�solveur qui utilise named
qui le fait).
Voyons sur un exemple � quoi sert ce fichier : si un client cherche �
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 �a) puis sunsite.unc.edu.your-domain.edu
et enfin
sunsite.unc.edu
. Faites attention � 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 fr�quemment � 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. �videmment, il faut appliquer cet exemple � de vrais noms de domaines. Remarquez qu'ici il n'y a pas de point � la fin des noms de domaine. C'est important, notez l'absence de points aux fins des noms de domaines.
Ensuite, suivant votre version de la libc, vous allez devoir modifier soit
/etc/nsswitch.conf
, soit /etc/host.conf
. Si vous avez d�j�
nsswitch.conf
, c'est celui-l� que nous allons modifier, sinon ce sera
host.conf
.
/etc/nsswitch.conf
C'est un long fichier qui sp�cifie o� trouver diff�rentes sortes de types
de donn�es, dans quel fichier ou quelle base de donn�es. Il contient
g�n�ralement des commentaires pr�cieux au d�but, que vous auriez tout int�r�t
� lire. Ensuite, trouvez la ligne qui commence par ``hosts:
'', elle doit
ressembler � 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
.
/etc/host.conf
Ce fichier contient certainement plusieurs lignes, dont une doit commencer
par order
et ressembler � �a :
order hosts,bind
Si il n'y a pas de ligne ``order
'', il faut en mettre une. Elle
indique aux routines de r�solution de nom de regarder d'abord dans
/etc/hosts
puis de demander au serveur de noms (que vous avez pr�cis�
dans resolv.conf
comme �tant 127.0.0.1).
Apr�s tout �a, il est temps de d�marrer named
. Si vous utilisez une
connexion en dialup, commencez par vous connecter. Tapez ``ndc start
''
et appuyez sur la touche entr�e, sans donner d'options. Si �a ne marche pas,
essayez plut�t ``/usr/sbin/ndc start
''. Si �a ne marche toujours pas,
jetez un coup d'oeil au chapitre
FAQ. Si vous jetez un
oeil � votre fichier de messages syslog (souvent appel�
/var/adm/messages
, mais regardez �galement dans le r�pertoire
/var/log
ou dans le fichier syslog
) tout en lan�ant named
(faites tail -f /var/adm/messages
), vous devriez voir quelque chose
comme �a :
(les lignes se terminant par \ se continuent sur la ligne suivante)
Feb 15 01:26:17 roke named[6091]: starting. named 8.1.1 Sat Feb 14 \
00:18:20 MET 1998 ^Ijanl@roke.uio.no:/var/tmp/bind-8.1.1/src/bin/named
Feb 15 01:26:17 roke named[6091]: cache zone "" (IN) loaded (serial 0)
Feb 15 01:26:17 roke named[6091]: master zone "0.0.127.in-addr.arpa" \
(IN) loaded (serial 1)
Feb 15 01:26:17 roke named[6091]: listening [127.0.0.1].53 (lo)
Feb 15 01:26:17 roke named[6091]: listening [129.240.230.92].53 (ippp0)
Feb 15 01:26:17 roke named[6091]: Forwarding source address is [0.0.0.0].1040
Feb 15 01:26:17 roke named[6092]: Ready to answer queries.
Si il y a un quelconque message d'erreur, named
donnera le nom du fichier
dans lequel se trouve l'erreur (soit named.conf
, soit root.hints, j'esp�re
:-). Tuez le processus named
et re-v�rifiez ce fichier.
Il est maintenant temps de v�rifier votre configuration. Lancez
nslookup
pour regarder le r�sultat de votre petit travail.
$ nslookup
Default Server: localhost
Address: 127.0.0.1>
Si vous obtenez ce message, c'est que �a marche. Nous l'esp�rons tous. Si
vous obtenez quoi que ce soit d'autre, revenez en arri�re et v�rifiez
tout. Chaque fois que vous modifiez le fichier named.conf
, il vous faut
relancer named
avec la commande ndc restart
.
Maintenant, vous pouvez entrer une requ�te. Essayez de contacter une
machine proche de vous. pat.uio.no
est proche de moi, � l'Universit�
d'Oslo :
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Name: pat.uio.no
Address: 129.240.2.50
nslookup a demand� � votre named
de rechercher la machine
pat.uio.no
. Il a ensuite contact� un des serveurs de noms mentionn�s
dans root.cache
et a demand� le chemin � suivre. Il peut s'�couler un
certain temps avant que vous obteniez le r�sultat puisqu'il se peut qu'il
recherche tous les domaines list�s dans /etc/resolv.conf
.
Si vous r�essayez, 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 acc�d� au r�seau pour obtenir
la r�ponse mais a trouv� l'information dans son cache. Cependant,
l'information cach�e pourrait ne plus �tre � jour. C'est pourquoi vous
�tes inform� de cette possibilit� tr�s improbable par le message
``Non-authoritative answer:
'' Quand nslookup
r�pond ceci la
seconde fois qu'on lui demande un certain h�te, c'est un signe certain que
named
cache bien les informations et que tout marche. Pour sortir de
nslookup
, utilisez la commande ``exit
''.
Dans les grands r�seaux, bien administr�s, des universit�s ou FAI
(Fournisseur d'Acc�s a Internet), vous remarquerez peut-�tre que les
administrateurs r�seau ont mis en place une hi�rarchie de serveurs DNS ce qui
permet de soulager le r�seau interne ainsi que le r�seau vers l'ext�rieur. Il
n'est pas facile de savoir si vous �tes dans un r�seau de ce type. Tout cela
n'est pas tr�s important, mais en utilisant le serveur DNS de votre FAI comme
``forwarder'' vous pouvez rendre les r�ponses plus rapides et all�ger la
charge de votre r�seau. Avec un modem, la diff�rence peut �tre sensible. Pour
am�liorer encore notre exemple, supposons que votre FAI aie deux serveurs de
noms qu'il veux vous faire utiliser, ayant pour adresses IP 10.0.0.1
et
10.1.0.1
. Alors, dans votre fichier named.conf
, dans la section
appel�e ``options'' ins�rez les lignes :
forward first; forwarders { 10.0.0.1; 10.1.0.1; };
Red�marrez votre serveur de noms et testez avec nslookup
. Cela
devrait marcher sans probl�mes.
Maintenant, vous savez comment configurer un named
qui sert de
cache. Servez-vous une bi�re, un verre de lait ou tout ce que vous voudrez
pour f�ter l'�v�nement.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:34