Configurer un serveur DNS bind9 sur Debian

1. Informations de base pour le labo


2. Installation de Bind9

En root :

apt update
apt install bind9 bind9-utils -y

Activez ensuite le service au démarrage :

systemctl enable named

Faites une copie de sauvegarde du fichier de configuration principal :

cp /etc/bind/named.conf /etc/bind/named.conf.BAK

3. Configuration de /etc/bind/named.conf.options

Ouvrez le fichier :

nano /etc/bind/named.conf.options

Redirection (forwarders) :
Remplacez la section des forwarders par :

forwarders { 127.0.0.1; 1.1.1.1; };

Explication : Le serveur Bind effectuera d'abord des recherches récursives (127.0.0.1), puis interrogera le résolveur externe (ici, 1.1.1.1, qui est celui de Cloudflare par exemple).

Interfaces d'écoute :
Supprimez ou commentez la ligne listen-on-v6 ... si elle existe, puis ajoutez :

listen-on { 127.0.0.1; 172.16.18.110; };

Enregistrez et quittez.


4. Configuration de /etc/bind/named.conf.default-zones

Ouvrez le fichier :

nano /etc/bind/named.conf.default-zones

ACL (Access Control List) :
Tout en bas, ajoutez :

// ACL pour autoriser uniquement le localhost et le réseau local 172.16.18.0/24
acl local10 { 127.0.0.1; 172.16.18.0/24; };

Déclaration de la zone directe (forward) :
Toujours sous l'ACL, ajoutez :

// Déclaration d'une zone de recherche pour le domaine mywonderfulafpa.co
zone "mywonderfulafpa.co" {
type primary;
allow-update { none; };
allow-query { local10; };
file "/etc/bind/primary/mywonderfulafpa.co-forward.db";
};

Déclaration de la zone inverse (reverse) :
Ajoutez ensuite :

// Déclaration d'une zone de recherche inverse pour le réseau 172.16.18.0/24
zone "18.16.172.in-addr.arpa" {
type primary;
allow-update { none; };
allow-query { local10; };
file "/etc/bind/primary/18.16.172.in-addr.arpa";
};

Enregistrez et quittez.


5. Création des fichiers de zone

Créez un répertoire dédié pour stocker les fichiers de zone primaires :

mkdir /etc/bind/primary ; cd /etc/bind/primary

5.1. Zone directe : mywonderfulafpa.co-forward.db

Créez le fichier :

nano /etc/bind/primary/mywonderfulafpa.co-forward.db

Copiez-y le contenu suivant (en adaptant le Serial si besoin) :

$TTL 86400
@ IN SOA mywonderfulafpa.co. root.mywonderfulafpa.co. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL

; Définition du serveur DNS principal pour le domaine
@ IN NS dns.mywonderfulafpa.co.

; Enregistrements A
dns IN A 172.16.18.110
www IN A 172.16.18.200

Enregistrez et quittez.

5.2. Zone inverse : 18.16.172.in-addr.arpa

Créez le fichier :

nano /etc/bind/primary/18.16.172.in-addr.arpa

Copiez-y le contenu suivant :

$TTL 86400
@ IN SOA localhost. root.localhost.co. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL

; Définition du serveur DNS principal
@ IN NS dns.mywonderfulafpa.co.

; Enregistrements PTR (résolution IP => nom de domaine)
110 IN PTR dns.mywonderfulafpa.co.
200 IN PTR www.mywonderfulafpa.co.

Enregistrez et quittez.


6. Redémarrage du service Bind

Pour appliquer la configuration, redémarrez le service :

systemctl restart named

7. Vérifications rapides

Vérifier la syntaxe :

named-checkconf

S'il n'y a pas de sortie d'erreur, c'est bon signe.

Vérifier les fichiers de zone :

named-checkzone mywonderfulafpa.co /etc/bind/primary/mywonderfulafpa.co-forward.db

named-checkzone 18.16.172.in-addr.arpa /etc/bind/primary/18.16.172.in-addr.arpa

Tester une résolution :

dig @172.16.18.110 dns.mywonderfulafpa.co

dig @172.16.18.110 www.mywonderfulafpa.co

dig @172.16.18.110 -x 172.12.16.110

Si vous obtenez des réponses cohérentes, la configuration est opérationnelle.


Conclusion

Vous avez maintenant un serveur DNS Bind9 fonctionnel pour le domaine fictif mywonderfulafpa.co, avec :

Vous pouvez adapter ces exemples à votre environnement (plages IP, noms de domaine, etc.) selon vos besoins.


⬆️ Retour en haut de la page