AS201281 Wiki

Your check engine light is on!

User Tools

Site Tools


gnu_linux_server:nameserver_bind9:main_configuration

Prérequis

Avant toute tentative de gestion DNS de votre nom de domaine, il vous est nécessaire d'avoir un contrôle total sur ce dernier. Un serveur DNS exige une machine sous Linux avec accès root.

Ce document décrit la marche à suivre sous distribution Debian Squeeze, de légères modifications devront, peut-être, être faites sous d'autres distributions.

Installation

BIND9 (pour Berkeley Internet Name Daemon) reste le standard en terme de serveur et de gestion DNS. La version 10 étant toujours en cours de développement, nous nous pencherons exclusivement sur la 9.

Exécuter la commande suivante dans le terminal de votre session (sous root, rappelons-le):

aptitude install bind9 dnsutils
Le paquet dnsutils est optionnel mais est fortement recommandé pour la suite.

Acceptez l'installation des diverses dépendances qui pourraient apparaitre et passez à l'étape suivante: la configuration.

Configuration

La configuration du serveur DNS passe par plusieurs fichiers, détaillés ci-dessous:

Fichier Localisation Description
resolv.conf /etc/resolv.conf Contient l'adresse IP de votre serveur et des DNS secondaires.
named.conf /etc/bind/named.conf contient les configurations principales de votre serveur DNS.
named.conf.local /etc/bind/named.conf.local Permet de définir les zones relatives à vos domaines assurant leurs résolutions par votre serveur DNS.
named.conf.options /etc/bind/named.conf.options Permet de définir de nombreuses options sur votre serveur DNS.
db.<domaine>.ext /etc/bind/zones/db.<domaine>.ext Fichier de configuration principal d'un domaine (NS, SOA, CNAME etc.)
x.x.x.x.in-addr.arpa /etc/bind/zones/x.x.x.x.in-addr.arpa Fichier définissant la zone de reverse de l'adresse IP de votre machine.

resolv.conf

FIXME
resolv.conf permet de définir des adresses de serveurs de noms nécessaires à la résolution des adresses IP.
Son contenu est généralement déjà généré à l'installation de votre distribution par la société hébergeant votre machine.

L'édition de ce fichier est destinée aux utilisateurs avancés ! N'effacez ou n'éditez pas son contenu sans en avoir fait une copie au préalable !

Ouvrez le fichier avec la commande:

nano /etc/resolv.conf

Par défaut, son contenu est le suivant:

nameserver 127.0.0.1
nameserver x.x.x.x

La deuxième ligne correspond, fréquemment, à l'adresse reverse d'un DNS secondaire de votre société d'hébergement, il n'est pas conseillé de la supprimer.

Ajoutez à la fin du fichier:

search <Votre nom de domaine>
nameserver <Adresse IP de votre machine>
nameserver <DNS secondaire>

Exemple:

search exampledomain.com
nameserver 91.121.28.186
nameserver 213.186.33.199

Le DNS secondaire (ici 213.186.33.199) est généralement fournit par la société hébergeant votre domaine.

Pour une aide plus complète sur la gestion de ce fichier, veuillez vous référer à cet article.

named.conf

named.conf contient les configurations principales de votre serveur DNS.

Ouvrez le fichier avec la commande:

nano /etc/bind/named.conf

Avant toute modification, prenez compte du commentaire d'avertissement:

If you are just adding zones, please do that in /etc/bind/named.conf.local

Passez donc à la configuration du fichier named.conf.local

Pour une aide plus complète sur la gestion de ce fichier, veuillez vous référer à cet article.

named.conf.local

named.conf.local permet de définir les zones relatives à vos domaines assurant leurs résolutions par votre serveur DNS.

Ouvrez le fichier avec la commande:

nano /etc/bind/named.conf.local

Puis ajouter une zone correspondant à votre nom de domaine:

zone "<domaine>.ext" {
      type master;
      file "/etc/bind/zones/db.<domaine>.ext";
      allow-transfer {"none";};
};

Exemple:

zone "exampledomain.com" {
      type master;
      file "/etc/bind/zones/db.exampledomain.com";
      allow-transfer {"none";};
};
  • zone définit votre nom de domaine complet.
  • type master définit le type de votre domaine.
  • file définit le chemin du fichier contenant toutes les informations relatives à votre domaine.
  • allow-transfer définit si votre domaine peut être transféré par une adresse ou un domaine spécifique (“none” indique qu'il ne peut pas être tranférable).

Pour une aide plus complète sur la gestion de ce fichier, veuillez vous référer à cet article.

named.conf.options

named.conf.options permet de définir de nombreuses options sur votre serveur DNS.

Voir cet article

db.<domaine>.ext

db.<domaine>.ext correspond au fichier de configuration principal de votre domaine. Si votre domaine est exampledomain.com alors le fichier sera db.exampledomain.com.

Créez et ouvrez le fichier avec les commandes (en prenant comme exemple le domaine exampledomain.com):

touch /etc/bind/zones/db.exampledomain.com
nano /etc/bind/zones/db.exampledomain.com

Un contenu typique se présente comme ceci:

$TTL 12H
$ORIGIN exampledomain.com.
@          IN              SOA         servername.com. webmaster.exampledomain.com. (
           2012021401      ; Serial (yyyy mm dd rev)
           6H              ; Refresh
           10M             ; Retry
           2W              ; Expire
           8H              ; Minimum TTL
)
                    IN              NS              servername.com.
                    IN              NS              ns.hoster.com.
                    IN              MX      10      mail.exampledomain.com.
exampledomain.com.  IN              A 91.121.28.186
ns                  IN              A 91.121.28.186
mail                IN              A 91.121.28.186
www                 IN              CNAME           exampledomain.com.
ftp                 IN              CNAME           exampledomain.com.
  • $TTL (Time To Live) : Définit la durée pendant laquelle l'enregistrement sera conversé en cache par les DNS.
  • $ORIGIN : Nom de domaine complet.
    • servername.com. : Nom pleinement qualifié du serveur de nom.
    • webmaster.exampledomain.com. : Adresse mail de l’administrateur du domaine (l'arobase doit être remplacer par un point).
    • Serial : Numero de série permettant au serveur secondaire de savoir quand l'enregistrement doit être mis à jour. Il s'écrit par convention de la façon suivante AnnéeMoisJourRevision, ce qui donne par exemple 2012021401 (14 février 2012 révision 1). Le numéro de révision doit être incrémenté A CHAQUE modification du fichier.
    • Refresh : Fréquence à laquelle le serveur secondaire vient consulter de nouveau le serveur primaire (rafraichissement) (ici 6 heures).
    • Retry : Délai au bout duquel le serveur secondaire tente de reconsulter le serveur primaire si la dernière tentative à échouer (ici 10 minutes).
    • Expire : Durée après laquelle il considérera que le serveur primaire a expiré (retiré du service) (ici 2 semaines).
    • Minimum TTL : Durée de vie minimum du cache (ici 8 heures).
  • NS : Noms des serveurs de nom gérant le domaine. Le premier étant la machine elle-même, le deuxième est le host secondaire (DNS) fourni par l'hébergeur de votre domaine.
  • MX : Adresse des relais pour les emails.
  • A : Enregistrement associant un nom à une adresse IP.
  • CNAME : Alias renvoyant au nom de domaine principal (utilisé pour créer des sous-domaines et configuré via un Virtual Host).

Exemple:
Pour le domaine inyourface.net ayant pour serveur de nom ks25090.kimsufi.com (IP: 91.121.28.186), le host secondaire ns.kimsufi.com fournit par la société d'hébergement du domaine et une adresse email d'administration en owner@inyourface.net:

$TTL 12H
$ORIGIN inyourface.net.
@          IN              SOA             ks25090.kimsufi.com. owner.inyourface.net. (
           2012021405      ; Serial (yyyy mm dd rev) - Revision 5
           6H              ; Refresh
           10M             ; Retry
           2W              ; Expire
           8H              ; Minimum TTL
)
                 IN              NS              ks25090.kimsufi.com. ; Host primaire
                 IN              NS              ns.kimsufi.com.      ; Host (DNS) secondaire
                 IN              MX      10      mail.inyourface.net. ; Relais email
inyourface.net.  IN              A 91.121.28.186                      ; Définition du domaine par l'adresse IP
ns               IN              A 91.121.28.186                      ; Définition du ns.inyourface.net par l'adresse IP
mail             IN              A 91.121.28.186                      ; Définition du mail.inyourface.net par l'adresse IP
www              IN              CNAME           inyourface.net.      ; Définition de l'alias www.inyourface.net
ftp              IN              CNAME           inyourface.net.      ; Définition de l'alias ftp.inyourface.net (accès ftp)
forum            IN              CNAME           inyourface.net.      ; Définition de l'alias forum.inyourface.net (espace communautaire)
www.inyourface.net.              CNAME           inyourface.net.      ; Sous-domaine www pleinement déclaré (parfois nécessaire à son bon fonctionnement)

x.x.x.x.in-addr.arpa

x.x.x.x.in-addr.arpa correspond au fichier définissant la zone de reverse de l'adresse IP de votre machine. Si l'adresse IP de votre machine est 91.121.28.186 alors le reverse est 186.28.121.91 (l'inverse), le fichier de configuration sera donc 186.28.121.91.in-addr.arpa.

Créez et ouvrez le fichier avec les commandes (en partant du principe que le reverse est 186.28.121.91):

touch /etc/bind/zones/186.28.121.91.in-addr.arpa
nano /etc/bind/zones/186.28.121.91.in-addr.arpa

Un contenu typique se présente comme ceci (reprenant l'exemple du domaine inyourface.net):

$TTL 12H
@          IN              SOA             ks25090.kimsufi.com. owner.inyourface.net. (
           2012021401      ; Serial (yyyy mm dd rev) - Revision 1
           8H              ; Refresh
           30M             ; Retry
           4W              ; Expire
           8H              ; Minimum TTL
)
           IN NS   ks25090.kimsufi.com. ; Host primaire
           IN NS   ns.kimsufi.com.      ; Host (DNS) secondaire
           IN PTR  inyourface.net.      ; Zone(s) gérée(s)
  • PTR : Précise les zones (domaines) gérées par cette IP.

Tests des configurations

Avant d'indiquer à BIND9 de prendre en compte nos nouvelles zones, quelques tests s'imposent.

named.conf.local

Vérifiez la configuration du fichier named.conf.local via la commande:

named-checkconf /etc/bind/named.conf.local

Si aucun message d'erreur n'apparait c'est que la configuration est correcte.

Si le fichier named.conf à été modifié, vous pouvez réitérez la commande afin de le vérifier également

db.<domaine>.ext

Vérifiez la configuration du fichier de votre domaine via la commande:

named-checkzone domaine fichier_zone_domaine

Exemple:

named-checkzone exampledomain.com db.exampledomain.com

Execution de la commande:

zone domaine/IN: load serial XXXXXXXX
OK

Si un message de ce type apparait alors la configuration du fichier est correcte.

x.x.x.x.in-addr.arpa

Même procédé que précédemment.

Relancement de BIND9

Lorsque tous les fichiers de configurations ont été validés, nous pouvons forcer BIND9 a les prendre en compte via la commande:

/etc/init.d/bind9 reload

Tests du serveur DNS

Il est nécessaire de vérifier à présent que le serveur DNS répond correctement aux demandes extérieures.

Testez la résolution de domaine via la commande:

nslookup exampledomain.com. servername.com

Exemple:

nslookup inyourface.net. ks25090.kimsufi.com

Execution de la commande:

Server:         ks25090.kimsufi.com
Address:        91.121.28.186#53
Name:           inyourface.net
Address:        91.121.28.186

Si un message de ce type apparait alors la résolution est correcte.

Testez la résolution inverse (reverse):

nslookup 91.121.28.186 ks25090.kimsufi.com
nslookup nécessite que le paquet dnsutils soit installé.

On interroge le serveur secondaire afin de s'assurer qu'il a bien pris en compte le fichier de résolution du domaine:

dig inyourface.net +nssearch

Execution de la commande:

SOA ks25090.kimsufi.com owner.inyourface.net. XXXXXXXXXX [...] from server ks25090.kimsufi.com in 31 ms.
SOA ks25090.kimsufi.com owner.inyourface.net. XXXXXXXXXX [...] from server ns.kimsufi.com in 22 ms.

Si un message de ce type apparait alors la résolution est correcte.

Le serveur secondaire peut mettre jusqu'à plusieurs jours pour prendre en compte le fichier de résolution de votre domaine.

Conclusion

FIXME
boring mode: on

gnu_linux_server/nameserver_bind9/main_configuration.txt · Last modified: 2021/01/04 20:41 by 127.0.0.1