Dans cette section, je passe en revue quelques-unes des questions les plus fréquemment posées à propos du DNS et de ce HOWTO. Et je donne même les réponses ;-) Merci de bien lire cette section avant de me mailer.
named
me réclame un fichier named.boot
Vous vous êtes trompés de HowTo. allez voir l'ancienne version de ce HowTo, celle qui parle de bind 4, à www.math.uio.no/~janl/DNS/
Voici quelques indices : `forwarders', `slaves', et jetez un coup d'oeil à la bibliographie qui se trouve à la fin de ce HOWTO. Vous aurez probablement aussi besoin de mettre
query-source port 53;
dans la partie options de votre named.conf comme il l'est suggéré dans l'exemple 3 serveur qui ne fait que du cache.
Créez plusieurs champs A pour www.busy.com et utilisez bind 4.9.3 ou une version plus récente, qui supporte les réponses à scrutation circulaire. Cela ne marchera pas avec des versions de bind antérieures.
Vous effacez rageusement le root.hints
et vous faites juste les fichiers de zone. Cela veut aussi dire que vous n'aurez pas à créer des nouveaux fichiers hints tout le temps.
Si le serveur primaire a pour adresse 127.0.0.1, mettez une ligne comme celle-ci dans le fichier named.conf du serveur secondaire :
zone "linux.bogus" { type slave; file "sz/linux.bogus"; masters { 127.0.0.1; }; };
Vous pouvez mettre plusieurs serveurs maîtres, ajoutez les sur la ligne masters en les séparant par un ';' (point-virgule)
Ici, je fais tourner named sur la machine qui fais du 'Masquerading'. J'ai deux
fichiers root.cache, un qui s'appelle 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.hints.fake
; Ce fichier ne contient pas d'informations
--------------
Quand je me déconnecte, je copie le fichier root.hints.fake vers root.hints et
je relance named.
Quand je me connecte, je copie root.hints.real et je relance named.
Ces deux manoeuvres sont faites, respectivement, à partir de ip-down et ip-up.
Lorsque je suis déconnecté, named rajoute ceci au fichier messages après la
première requête concernant un nom de domaine qu'il ne connaît pas :
Jan 28 20:10:11 hazchem named[10147]: No root nameserver for class IN
Ce qui n'est pas très gênant.
Ça marche très bien dans mon cas. Je peux utiliser le serveur de noms pour les
machines locales lorsque je suis déconnecté du Net en évitant les délais
introduits par les timeout liés à la recherche des noms de domaine extérieurs.
Et lorsque je suis connecté au Net, les requêtes concernant les noms de
domaines extérieurs marchent normalement.
J'ai pris l'habitude d'utiliser named sur toutes mes machines qui sont
seulement connectées à Internet de façons occasionnelles grâce à un modem.
Le serveur de nom n'agit qu'en tant que cache, il n'a aucune zone d'autorité
et demande tout aux serveurs du fichier root.cache. Comme d'habitude avec une
Slackware, named est démarré avant nfsd et mountd.
Avec l'une de mes machines (un portable Libretto 30), j'ai eu le problème
suivant : de temps en temps, je pouvais monter ses disques depuis un autre
système connecté sur mon LAN local, mais la plupart du temps, ça ne marchait
pas. Il se passait la même chose que ce soit en utilisant PLIP, une carte
Ethernet PCMCIA ou PPP avec une interface série.
Après quelques temps de réflexions et d'expériences, j'ai découvert que named
empêchait nfsd et mountd de s'enregistrer avec portmapper au démarrage (Je
démarre ces daemons au boot d'habitude). Le fait de lancer named après nfsd et
mountd éliminait ce problème complètement
Comme il n'y a pas de désavantages à modifier ainsi la séquence de boot de
cette façon, j'encourage tout le monde à en faire de même pour éviter des
problèmes potentiels.
Le cache est entièrement stocké en mémoire, il n'est pas écrit sur le disque. Chaque fois que vous tuez named, le cache est perdu. Il n'y a aucun moyen de contrôler le cache. Named gère le cache selon quelques règles simples, et c'est tout. Vous ne pouvez pas contrôler le cache ou sa taille en aucune manière. Si vous voulez vraiment le faire, vous pouvez le faire en bricolant le code de named. Mais ce n'est pas recommandé.
Non, named ne sauve pas la contenu du cache lorsqu'il meurt. Cela signifie que le cache est reconstruit à partir de zéro chaque fois que vous tuez puis relancez named. Il n'y a aucun moyen de forcer named à 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 recommandé.