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ôle | Nom | Adresse IP |
|---|---|---|
| Domaine local | local.mondomaine.lan | — |
| Serveur DNS principal | ns1 | 10.0.0.1 |
| Serveur DNS secondaire | ns2 | 10.0.0.2 |
| Serveur mail | mail | 10.0.0.3 |
| Machine cliente | client1 | 10.0.0.4 |
Prérequis
| Prérequis | Description |
|---|---|
| Système d'exploitation | Debian 12 |
| Accès root ou sudo | Requis pour l'installation et la configuration |
| Configuration réseau | Interface 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.