Services Linux 2026-04-30

Installation et Configuration d'un Serveur DNS avec Bind9

Documentation technique pour le déploiement et la configuration d'un serveur DNS Bind9 au sein d'une infrastructure Linux locale

Installation et Configuration d'un Serveur DNS avec Bind9

Introduction

Bind9 est un serveur DNS open-source largement utilisé sur les systèmes Linux. Il permet la gestion de zones DNS locales et la mise en place d'un cache DNS. Cette documentation vous guide dans l'installation et la configuration d'un serveur Bind9 avec les paramètres suivants :

RôleNomAdresse IP
Domaine locallocal.mondomaine.lan
Serveur DNS principalns110.0.0.1
Serveur DNS secondairens210.0.0.2
Serveur mailmail10.0.0.3
Machine clienteclient110.0.0.4

Prérequis

PrérequisDescription
Système d'exploitationDebian 12
Accès root ou sudoRequis pour l'installation et la configuration
Configuration réseauInterface réseau correctement configurée

Installation de Bind9

Mettez à jour les paquets :

sudo apt update && sudo apt upgrade -y

Installez Bind9 et les outils associés :

sudo apt install bind9 bind9-host dnsutils -y

Vérifiez que le service est actif :

sudo systemctl status bind9

Configuration du Résolveur et du Nom d'Hôte

Modifier le Nom de la Machine

sudo hostnamectl set-hostname client1

Configuration du fichier /etc/hosts

Ajoutez votre machine et les serveurs DNS :

127.0.0.1 localhost
10.0.0.4  client1.local.mondomaine.lan client1
10.0.0.1  ns1.local.mondomaine.lan ns1
10.0.0.2  ns2.local.mondomaine.lan ns2
10.0.0.3  mail.local.mondomaine.lan mail

Vérifier la configuration DNS locale

cat /etc/resolv.conf

Exemple de contenu attendu :

search mondomaine.lan
nameserver 10.0.0.1
nameserver 1.1.1.1
nameserver 9.9.9.9
nameserver 8.8.8.8

Configuration de Bind9

Modifier les options de Bind9

Éditez /etc/bind/named.conf.options :

sudo nano /etc/bind/named.conf.options

Ajoutez ces paramètres :

options {
    directory "/var/cache/bind";
    version "Non disponible";
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on-v6 { any; };
    listen-on { 127.0.0.1; 10.0.0.1; };
    notify no;
};

Déclarer les zones DNS

Éditez /etc/bind/named.conf.local :

sudo nano /etc/bind/named.conf.local

Ajoutez :

zone "local.mondomaine.lan" in {
    type master;
    notify yes;
    file "/etc/bind/zones/db.local.mondomaine.lan";
};

zone "0.0.10.in-addr.arpa" in {
    type master;
    notify yes;
    file "/etc/bind/zones/db.10.0.0";
};

Création des Zones DNS

Créez le répertoire destiné à accueillir les fichiers de zone :

sudo mkdir -p /etc/bind/zones

Fichier de Zone Directe

Créez le fichier /etc/bind/zones/db.local.mondomaine.lan :

sudo nano /etc/bind/zones/db.local.mondomaine.lan

Ajoutez cette configuration :

$TTL 21600
@ IN SOA ns1.local.mondomaine.lan. postmaster.local.mondomaine.lan. (
                2024031201 ; Serial
                10800      ; Refresh
                900        ; Retry
                604800     ; Expire
                86400 )    ; Minimum TTL
;
@ IN NS  ns1.local.mondomaine.lan.
@ IN NS  ns2.local.mondomaine.lan.
@ IN A   10.0.0.1
@ IN MX  10 mail.local.mondomaine.lan.

ns1      IN A      10.0.0.1
ns2      IN A      10.0.0.2
mail     IN A      10.0.0.3
client1  IN CNAME  ns1.local.mondomaine.lan.
smtp     IN CNAME  mail.local.mondomaine.lan.

Fichier de Zone Inverse

Créez /etc/bind/zones/db.10.0.0 :

sudo nano /etc/bind/zones/db.10.0.0

Ajoutez cette configuration :

$TTL 21600
@ IN SOA ns1.local.mondomaine.lan. postmaster.local.mondomaine.lan. (
                2024031201 ; Serial
                10800      ; Refresh
                900        ; Retry
                604800     ; Expire
                86400 )    ; Minimum TTL
;
@ IN NS  ns1.local.mondomaine.lan.
@ IN NS  ns2.local.mondomaine.lan.

1 IN PTR ns1.local.mondomaine.lan.
2 IN PTR ns2.local.mondomaine.lan.
3 IN PTR mail.local.mondomaine.lan.

Vérification et Démarrage

Vérification de la Configuration

Vérifiez la syntaxe globale de Bind9 :

sudo named-checkconf

Vérifiez la zone directe :

sudo named-checkzone local.mondomaine.lan /etc/bind/zones/db.local.mondomaine.lan

Vérifiez la zone inverse :

sudo named-checkzone 0.0.10.in-addr.arpa /etc/bind/zones/db.10.0.0

Aucune erreur ne doit être retournée. Un message OK doit apparaître pour chaque zone.

Redémarrage du Service

sudo systemctl restart bind9
sudo systemctl status bind9

Tests de Résolution

Résolution directe (nom vers IP) :

dig @localhost local.mondomaine.lan

Résolution inverse (IP vers nom) :

dig @localhost -x 10.0.0.1

Le champ ANSWER SECTION doit retourner les enregistrements correspondants définis dans les fichiers de zone.


Conclusion

Votre serveur Bind9 est désormais configuré et opérationnel. Il prend en charge :

  • La résolution des noms locaux (local.mondomaine.lan)
  • La gestion des zones inverses (10.0.0.0/24)
  • Le cache DNS pour améliorer les performances

Vous pouvez maintenant configurer vos clients pour utiliser l'adresse 10.0.0.1 comme serveur DNS principal.