
Sommaire
Ce tutoriel s’adresse aux personnes souhaitant configurer un serveur DNS Bind9 sous Linux.
Il détaille également comment déclarer et gérer ses domaines dans le manager d’OVH.
Il s’appuie sur un cas concret rencontré lors de la configuration du domaine idneo.fr sur un serveur kimsufi tournant sous ubuntu mais pourra être facilement adapté aux autres distributions linux.
Configuration du serveur
- Ubuntu 9.10
- Bind 9.6
- Adresse ip : 91.121.172.143
- Nom : ks362230.kimsufi.com
Introduction sur le DNS
Tous les ordinateurs connectés à un réseau possèdent une adresse IP permettant leur identification et la communication entre les machines (exemple d’adresse au format IPv4 : 91.121.172.143).
Ces identifiants numériques sont très facilement manipulables par les ordinateurs mais difficilement mémorisable pour les utilisateurs. C’est pourquoi avec le développement des réseaux est rapidement né la nécessité de pouvoir accéder à une machine par un identifiant alphanumérique facilement mémorisable plutôt que par une adresse IP. Pour répondre à cette problématique, le système des noms de domaine a été mis en place ainsi que des services permettant de convertir les noms de domaines manipulés par les utilisateurs en adresses IP manipulables par les ordinateurs.
Le Domain Name System (DNS) est le service assurant actuellement cette tâche.
Il a fait sont apparition en 1983 en remplacement d’un système de résolution par l’intermédiaire d’un fichier texte centralisé HOSTS.TXT maintenu par le Network Information Center. Le DNS est un système réparti, composé de centaines de milliers de serveur à travers le monde, permettant de résoudre les noms de domaine en IP et inversement de déterminer quels noms de domaines sont associés à une IP.
Les deux type de serveur DNS qui nous intéressent sont :
- Serveur DNS primaire : chargé de la résolution des noms et de la résolution inverse
- Serveur DNS secondaire : seconde le DNS primaire en cas de défaillance
Il existe également des serveurs DNS cache qui conservent en mémoire la réponse des résolutions de nom afin d’améliorer le temps de réponse du système.
La partie culturelle du tutoriel est terminée on va pouvoir passer aux choses sérieuses !
Déclaration du domaine sur le DNS secondaire d’OVH
On se connecte au manager d’ovh, on sélectionne le serveur dédié et on accède à la section DNS secondaire :
Serveur dédié -> Services -> Gestion DNS -> DNS secondaire

Accès à la déclaration du domaine sur le DNS d'ovh
On demande le prise en charge de notre domaine pour le dns secondaire d’Ovh.
Important : Il faut ajouter le nom de domaine seul. Il ne doit pas être précédé de « www » ou tout autre préfixe.

Inscription du domaine sur le DNS d'ovh
Avant de quitter le manager, on relève le Nom d’host secondaire qui sera nécessaire pour la configuration de Bind9.
Configuration de Bind9
Déclaration des zones dans /etc/bind/named.conf
On édite le fichier /etc/bind/named.conf et l’on y ajoute les deux zones qui vont être utilisées par le domaine.
Zone assurant la résolution de domaine
Cette zone assure la traduction du nom de domaine en adresse IP.
zone "idneo.fr" {
type master;
file "/etc/bind/db.idneo.fr";
allow-transfer {213.186.33.199;};
};
Zone de reverse
Elle assure l’opération inverse en permettant de retrouver un domaine à partir d’une adresse IP.
Le nom de la zone est constitué de l’adresse IP du serveur prise en sens inverse à laquelle on ajoute « .in-addr.arpa ».
Dans notre cas, l’adresse du serveur est 91.121.172.143, on devra donc définir la zone de la manière suivante :
zone "143.172.121.91.in-addr.arpa" {
type master;
file "/etc/bind/143.172.121.91.in-addr.arpa";
allow-transfer {213.186.33.199;};
notify no;
};
Explications complémentaires
type master : Précise que cette configuration est celle du serveur primaire.
file : Adresse du fichier de zone.
allow-transfer : Adresse IP autorisée à copier le fichier de zone.
Création des fichiers de zone
On crée à présent les fichiers détaillant les deux zones déclarées précédemment.
/etc/bind/db.idneo.fr
$TTL 12H
$ORIGIN idneo.fr.
@ IN SOA ks362230.kimsufi.com. postmaster.idneo.fr. (
2010080801 ; Serial
8H ; Refresh
30M ; Retry
4W ; Expire
8H ; Minimum TTL
)
IN NS ks362230.kimsufi.com.
IN NS ns.kimsufi.com.
IN MX 10 mail.idneo.fr.
idneo.fr. IN A 91.121.172.143
ns IN A 91.121.172.143
mail IN A 91.121.172.143
www IN CNAME idneo.fr.
ftp IN CNAME idneo.fr.
/etc/bind/143.172.121.91.in-addr.arpa
$TTL 12H
@ IN SOA ks362230.kimsufi.com. postmaster.idneo.fr. (
2010080801 ; Serial
8H ; Refresh
30M ; Retry
4W ; Expire
8H ; Minimum TTL
)
IN NS ks362230.kimsufi.com.
IN NS ns.kimsufi.com.
IN PTR idneo.fr.
Explications complémentaires
$TTL (Time To Live) : Définit la durée pendant laquelle l’enregistrement sera conservé par les DNS cache.
$ORIGIN : Le nom du domaine.
Détail du SOA :
- ks362230.kimsufi.com. : Nom pleinement qualifié du serveur de nom.
- postmaster.idneo.fr. : Adresse mail de l’administrateur du domaine (l’arobase de l’adresse est remplacée par un . ).
- Serial : Numéro de série permettant au serveur secondaire de savoir si il doit se mettre à jour. Il doit dont être incrémenté à chaque modification du fichier. Son écriture est libre mais par convention il est généralement composé de la manière suivante : yyyymmdd + numéro de la modification. Dans notre cas, il s’agit de la première modification du 8 août 2010.
- Refresh : Fréquence à laquelle le serveur secondaire vient consulter le serveur primaire.
- Retry : Délai au bout duquel il retente de consulter le serveur primaire si il n’a pas répondu lors du refresh.
- Expire : Durée après laquelle il considérera que le serveur primaire a été retiré du service.
- Minimum TTL : Durée de vie minimum du cache.
NS : Noms des serveurs de nom gérant le domaine (la deuxième ligne correspond au « Nom d’host secondaire » que l’on a relevé dans le manager d’ovh) .
MX : Adresse des relais pour le courrier électronique.
A : Enregistrement associant un nom à une adresse IP.
CNAME : Alias renvoyant le nom à droite vers le serveur inscrit à gauche (très utile pour les hôtes virtuels).
PTR : Précise les zones gérées par cette IP.
Important : La présence ou l’absence des ‘.‘ derrière les noms permet à bind de savoir si il s’agit de nom complet ou non.
Par exemple idneo.fr. sera laissé comme tel alors que mail sera compris comme mail.idneo.fr.
Tests de la configuration
Avant de charger les nouvelles zones, on s’assure qu’elles sont correctes.
Test de named.conf
$ named-checkconf /etc/bind/named.conf
Si aucun message d’erreur n’apparait c’est que tout fonctionne.
Test des fichiers de zone
$ named-checkzone idneo.fr db.idneo.fr zone idneo.fr/IN: loaded serial 2010080801 OK $ named-checkzone idneo.fr 143.172.121.91.in-addr.arpa zone idneo.fr/IN: loaded serial 2010080801 OK
Notre configuration fonctionne, on peut forcer bind à la prendre en compte.
/etc/init.d/bind9 reload
Tests du serveur DNS
On teste à présent si notre serveur DNS répond correctement aux demandes depuis l’extérieur.
Grâce à la commande nslookup (disponible dans le paquet dnsutils) on commence par tester si la résolution de domaine fonctionne.
$ nslookup idneo.fr. ks362230.kimsufi.com Server: ks362230.kimsufi.com Address: 91.121.172.143#53 Name: idneo.fr Address: 91.121.172.143
Tout fonctionne, on peut à présent tester la résolution inverse
$ nslookup 91.121.172.143 ks362230.kimsufi.com Server: ks362230.kimsufi.com Address: 91.121.172.143#53 143.172.121.91.in-addr.arpa name = idneo.fr.
On teste à présent le serveur secondaire afin de s’assurer qu’il a bien copié le fichier de résolution de domaine.
Pour cela on peut utiliser la première fonction nslookup en remplaçant ks362230.kimsufi.com par le nom d’host secondaire (ici ns.kimsufi.com). On peut également utiliser la commande dig qui nous fourni une multitude d’informations très utiles et notamment des informations sur les serveurs de nom gérant notre domaine.
$ dig idneo.fr +nssearch SOA ks362230.kimsufi.com. postmaster.idneo.fr. 2010080801 [...] from server ks362230.kimsufi.com in 37 ms. SOA ks362230.kimsufi.com. postmaster.idneo.fr. 2010080801 [...] from server ns.kimsufi.com in 33 ms.
On voit que deux serveurs de nom gèrent notre domaine et qu’ils ont tout les deux la version 2010080801 du fichier de zone.
Important : Si le serveur secondaire ne répond pas, c’est qu’il n’a pas encore chargé vos fichiers de zone. Il faudra attendre que cela soit fait pour continuer le tuto.
Si il répond, on s’assure que notre configuration est valide grâce au zonecheck disponible sur le site de l’afnic.

Test du domaine idneo.fr avec Zonecheck
Si le test passe, on va pouvoir modifier nos DNS depuis le manager d’OVH.
Modification des DNS du domaine depuis le manager d’OVH
On retourne dans le manager d’OVH et on sélectionne le domaine idneo.fr, puis on accède à la section Serveur DNS
:
Mutualisé -> Dommaine & DNS -> Nom de domaine -> Serveurs DNS

Accès à la gestion des DNS de idneo.fr dans la manager d'OVH
On accède à la section modification et l’on renseigne nos nouveaux paramètres.

Modification des DNS
Il ne reste plus qu’à valider les changements et attendre que les modifications soient prises en compte.
Bonne configuration à tous !
[Photo]
Dernières recherches pour cet article:
- dns linux
- serveur dns linux
- zone bind configure
- configurer un dns avec bind9
- configuration dns sous linux
- configuration de dns sous linux
- serveur dns sous linux
- configuration dun serveur DNS sous Linux
- configuration dns linux
- configurer dns linux




Bonjour,
es ce qu’il faut faire la reverse sur le serveur? Es également le cas pour les ip fail over?
Bonjour,
merci pour ce beau tutorial, es ce qu’il nécéssaire de faire la reverse sur le serveur? Es le même traitement pour les ip failover? Comment organise ton le basculement d’un serveur à l’autre? En particulier au niveau du Bind et de la propagation des dns!!!
Excellente info
Merci énormément pour ce tuto.
Un grand bravo pour ce tuto très clair et efficace !
Merci
Merci pour le tuto. Installation nickel et du 1er coup sans soucis en suivant pas à pas le tuto.
Par contre, comment faire pour ajouter des sous-domaines ?
Pour un sous domaine il suffit d’ajouter un enregistrement A dans ton fichier de zone.
Dans l’exemple du dessus, j’ai par exemple rajouté dans le fichier /etc/bind/db.idneo.fr :
blog.idneo.fr. IN A 91.121.172.143
Il faudra ensuite créer un VirtualHost dans apache pour faire pointer se sous domaine vers le bon DocumentRoot.
j’aime avoir les documents sur les configurations des serveurs avec les systemes d’exploitation libre
bonjour,
je ne comprend pas j’ai tout bien mis en place est au mome du test:
Test des fichiers de zone
$ named-checkzone idneo.fr db.idneo.fr
je recois:
zone idneo.fr/IN: loading from master file db.idneo.fr failed: file not found
zone idneo.fr/IN: not loaded due to errors.
$ named-checkzone idneo.fr 143.172.121.91.in-addr.arpa
je recois:
zone idneo.fr/IN: loading from master file db.idneo.fr failed: file not found
zone idneo.fr/IN: loading from master file db.idneo.fr failed: file not found
zone idneo.fr/IN: not loaded due to errors.
une idée? merci d’avance
La commande « named-checkzone » doit être lancée sur le serveur dans le répertoire /etc/bind
Bonjour,
Je suis resté bloqué un bon moment à l’étape Tests du serveur DNS. nslookup me renvoyait systématiquement « ;; connection timed out; no servers could be reached »
Pour m’en sortir, j’ai mis en commentaire la ligne 127.0.0.1; (localhost) du fichier /etc/bind/named.conf.options :
listen-on port 53 {
127.0.0.1;
};
Je n’ai pas encore terminé de faire cette config de DNS, mais pour l’instant, votre tuto est ce que j’ai trouvé de plus utile sur le net.
Merci bcp,
Pierre
Merci pour ce commentaire Pierre.
N’hésite pas si tu a un souci pour terminer ta config.
Salut et merci pour ce tuto enrichissant.
J’ai tout de même une question : est-il important de configurer la zone de reverse ? ou plutôt quand est-il util de configurer la zone reverse?
Merci par avance
La mise en place du DNS Reverse permet de retrouver un domaine à partir d’une adresse IP.
Cette fonctionnalité peut être nécessaire pour plusieurs programme et sont absence pourrait provoquer des erreurs. Mais elle est surtout indispensable pour les serveurs envoyant des mails car la plus part des mails envoyés depuis une IP n’ayant pas de reverse sont rejetés.
Merci bien c’est assez clair. j’ai en effet plusieurs domaines sur une meme ip et un seul des domaines servira pour un mail server. je configurerai donc son reverse.