Configurer un serveur DNS bind9 sur Debian
1. Informations de base pour le labo
- Domaine fictif : mywonderful.co
- Réseau local : 172.16.18.0/24
- 1 Serveur Linux (debian) : 172.16.18.110 (il jouera le rôle de DNS, nommé dns.mywonderful.co)
- 1 Serveur Web : 172.16.18.200 (on l'appelle www.mywonderful.co)
- 1 PC Client (windows ou autre) sur le même réseau.
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 mywonderful.co
zone "mywonderful.co" {
type primary;
allow-update { none; };
allow-query { local10; };
file "/etc/bind/primary/mywonderful.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 : mywonderful.co-forward.db
Créez le fichier :
nano /etc/bind/primary/mywonderful.co-forward.db
Copiez-y le contenu suivant (en adaptant le Serial si besoin) :
$TTL 86400
@ IN SOA mywonderful.co. root.mywonderful.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.mywonderful.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.mywonderful.co.
; Enregistrements PTR (résolution IP => nom de domaine)
110 IN PTR dns.mywonderful.co.
200 IN PTR www.mywonderful.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 mywonderful.co /etc/bind/primary/mywonderful.co-forward.db
named-checkzone 18.16.172.in-addr.arpa /etc/bind/primary/18.16.172.in-addr.arpa
Tester une résolution :
- Depuis le serveur lui-même (ou depuis un client linux en précisant que votre DNS est 172.16.18.110) :
dig @172.16.18.110 dns.mywonderful.co
dig @172.16.18.110 www.mywonderful.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 mywonderful.co, avec :
- Une zone directe qui associe les noms dns.mywonderful.co et www.mywonderful.co à leurs adresses IP respectives.
- Une zone inverse qui permet de résoudre les adresses 172.16.18.110 et 172.16.18.200 en noms de domaine.
- Un transfert (forwarders) configuré pour que les requêtes vers l'extérieur (par ex. google.fr) soient résolues via 1.1.1.1.
Vous pouvez adapter ces exemples à votre environnement (plages IP, noms de domaine, etc.) selon vos besoins.
↑ Haut de page