Tous les paramétrages du serveur de noms BIND sont enregistrés dans
le fichier /etc/named.conf. Les données de zone, les
noms des machines, les adresses IP, etc. des domaines à gérer
sontenregistrées dans des fichiers séparés du répertoire
/var/lib/named. Vous trouverez davantage d'informations
à ce sujet plus loin.
Le fichier /etc/named.conf se divise
principalement en deux parties : d'une part, la section
options pour les paramètres d'ordre général et, d'autre
part, les déclarations de zone des différents domaines.
La section logging (journalisation) et les déclarations
d'acl (contrôle d'accès) sont optionnelles. Les lignes de
commentaires commencent par le signe dièse # ou par une
barre de division //. L'Exemple 40.2, « Fichier /etc/named.conf minimaliste »
présente un fichier /etc/named.conf minimaliste.
Exemple 40.2. Fichier /etc/named.conf minimaliste
options {
directory "/var/lib/named";
forwarders { 10.0.0.1;};
notify no;
};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "127.0.0.zone";
};
zone "." in {
type hint;
file "root.hint";
};nom"indique le répertoire dans lequel BIND trouve les fichiers
contenant les données de zones. Il s'agit en général de
/var/lib/named.
adresse-ip; };indique les serveurs de noms (la plupart du temps ceux du
fournisseur d'accès) vers lesquels on redirige les requêtes DNS
auxquelles il n'est pas possible de répondre directement. À la place
d'adresse-ip vous devez mettre une
adresse IP comme 10.0.0.1.
a pour effet que les requêtes DNS sont redirigées avant même
que le serveur de noms racine n'essaie de les résoudre. Vous pouvez
utiliser forward only à la place de forward
first pour que toutes les requêtes soient redirigées et que
le serveur de noms racine ne soit plus du tout consulté. Cela peut se
révéler utile pour la configuration des pare-feu.
adresse-ip; };indique à BIND sur quelles interfaces réseau et sur quel port
il doit écouter les requêtes des clients. Vous n'êtes pas obligé de
saisir 53 dans la mesure où 53 est de toute façon le
port par défaut. 127.0.0.1 permet d'accepter les
requêtes de la machine locale. Si vous omettez complètement cette ligne,
par défaut toutes les interfaces sont utilisées.
indique à BIND sur quel port il doit écouter les requêtes des
clients qui utilisent IPv6. Outre any, seul
none est également autorisé car le serveur écoute
toujours l'adresse joker IPv6.
Cette directive peut être utile lorsqu'un pare-feu bloque les requêtes DNS externes. Cela oblige BIND à effectuer ses requêtes vers l'extérieur à partir du port 53 et pas des ports supérieurs à 1024.
Cette directive doit être utilisée pour les requêtes basées sur IPv6.
réseau; };précise les réseaux à partir desquels les clients ont le
droit d'envoyer des requêtes DNS. Il faut mettre à la place de
réseau une adresse de la forme
192.168.1/24 où /24 est un
raccourci pour le nombre de bits dans le masque réseau, soit dans ce cas
255.255.255.0.
détermine quels ordinateurs sont autorisés à effectuer des
transferts de zone. Cet exemple les interdit complètement du fait de la
présence de ! *. Sans cette directive, il est
possible de réaliser des transferts de zone sans aucune limitation et
depuis n'importe où.
Sans cette directive, BIND produit toutes les heures
plusieurs lignes de messages de statistiques dans
/var/log/messages. Paramétrez-la à
0 pour les supprimer complètement ou spécifiez un
intervalle en minutes.
Cette option définit au bout de quel intervalle BIND vide son
cache. Cette action est à chaque fois consignée dans un enregistrement
du fichier /var/log/messages. Le temps est indiqué
ici en minutes. La valeur par défaut est de 60 minutes.
BIND parcourt régulièrement les interfaces réseau pour
détecter de nouvelles interfaces ou celles qui ne sont plus disponibles.
Réglez cette valeur à 0 pour l'en empêcher et pour
que BIND n'écoute que les interfaces trouvées au démarrage. Vous pouvez
aussi préciser l'intervalle en minutes. La valeur par défaut est de
60 minutes.
Le no signifie qu'aucun autre serveur de
noms n'est averti en cas de modifications apportées aux données de zone
ou lors du redémarrage du serveur de noms.
BIND vous permet de configurer complètement ce qui est consigné dans un journal, comment et à quel endroit. Les paramétrages par défaut sont normalement suffisants. L'Exemple 40.3, « La journalisation est désactivée » montre la forme la plus simple d'une telle directive et permet d'empêcher complètement la journalisation.
Exemple 40.4. Déclaration de zone pour mon-domaine.fr
zone "mon-domaine.fr" in {
type master;
file "mon-domaine.zone";
notify no;
};Après le mot-clé zone, on indique le nom
du domaine géré (mon-domaine.fr), suivi de
in puis, entre accolades, d'un bloc d'options qui
s'appliquent à ce domaine comme le montre l'Exemple 40.4, « Déclaration de zone pour mon-domaine.fr ». Si vous souhaitez définir une zone
esclave (slave), changez la valeur du
type en slave et indiquez un
serveur de noms qui gère cette zone en tant que maître
(master) (qui peut à son tour être l'esclave d'un autre
maître) comme le montre l'Exemple 40.5, « Déclaration de zone pour autre-domaine.fr ».
Exemple 40.5. Déclaration de zone pour autre-domaine.fr
zone "autre-domaine.fr" in {
type slave;
file "slave/autre-domaine.zone";
masters { 10.0.0.1; };
};Les options de zones :
Le mot-clé master indique que cette zone
est gérée par ce serveur de noms. Cela suppose que l'on dispose d'un
fichier de zone correct.
Cette zone est transférée depuis un autre serveur de noms. Elle doit être utilisée en conjonction avec des serveurs maîtres.
La zone . de type hint
est utilisée pour indiquer le serveur de noms racine. Vous pouvez
laisser cette définition de zone telle quelle.
Cette déclaration indique le fichier dans lequel figurent les
données de zone du domaine. Dans le cas d'un esclave, ce fichier n'est
pas nécessaire car son contenu est récupéré sur un autre serveur de
noms. Pour bien distinguer les fichiers maîtres des fichiers esclaves,
on place les fichiers esclaves dans le répertoire
slave.
adresse-ip-du-serveur; };Cette directive n'est utile que pour les zones esclaves et elle indique depuis quel serveur de noms le fichier de zones doit être transféré.
Cette option régit l'accès en écriture depuis l'extérieur, ce
qui permettrait à des clients de s'inscrire eux-mêmes dans le DNS
— ce qui, pour des raisons de sécurité, n'est normalement pas
souhaitable. Lorsque cette directive n'est pas présente, les mises à
jour des zones ne sont pas autorisées du tout. Dans cet exemple, cela ne
changerait rien non plus dans la mesure où ! *
interdit également toute action de ce type.