Configuration de bind9 (Esclave)¶

Informations¶
- Auteur : Louis MEDO
- Date : 23/09/2026
- Domaine : Exploitation services
1. Sommaire¶
- 2. Contexte
- 3. Configuration globale du service
- 4. Déclaration de la zone DNS
- 5. Configuration de la journalisation
- 6. Configuration de la sécurité AppArmor
- 7. Vérification et validation
2. Contexte¶
Le serveur Bind9 secondaire (esclave) assure la redondance et la haute disponibilité de la résolution DNS pour la zone dortmund.cub.sioplc.fr. Cette procédure documente sa configuration en mode production (IP: 192.36.4.11). Contrairement au serveur maître, l'esclave ne nécessite pas la création manuelle du fichier de zone : il rapatrie automatiquement les enregistrements via un transfert de zone (AXFR) depuis le maître (IP: 192.36.4.10).
3. Configuration globale du service¶
3.1. Définition des options globales. Modification du fichier d'options pour sécuriser l'esclave et définir son interface d'écoute locale.
options {
// Directory permet de définir où se situe le cache du serveur DNS
directory "/var/cache/bind";
// Définit le port et la ou les adresses IPv4 d’écoute du service Bind
listen-on port 53 { 127.0.0.1; 192.36.4.11; };
// Recursion permet d'autoriser ou d'interdire la récursivité sur un serveur DNS.
// Par défaut un serveur DNS faisant autorité ne doit pas être récursif.
recursion no;
// Empêche la diffusion de la version du service Bind utilisée (sécurité).
version none;
};
listen-on: Restreint l'écoute du service DNS à l'adresse de l'interface du serveur esclave (192.36.4.11).recursion no: Désactive la récursivité pour éviter les abus d'amplification DNS.version none: Masque la version du daemon pour ralentir l'exploitation d'éventuelles failles.
4. Déclaration de la zone DNS¶
Synchronisation de la zone
Aucun fichier de zone ne doit être créé manuellement à l'étape suivante. La directive file indique seulement où Bind9 devra stocker le fichier compilé après son transfert depuis le maître. Le répertoire /var/cache/bind/ est utilisé car l'utilisateur bind y possède nativement les droits d'écriture.
4.1. Ajout de la zone esclave. Déclaration de la zone pointant vers le serveur maître.
zone "dortmund.cub.sioplc.fr" {
type slave;
masters { 192.36.4.10; };
file "/var/cache/bind/db.dortmund.cub.sioplc.fr";
};
type slave: Identifie ce serveur comme secondaire pour cette zone. Il ne fait autorité que via les données du maître.masters: Spécifie l'adresse IPv4 du serveur DNS maître (192.36.4.10) à contacter pour récupérer les enregistrements.file: Indique l'emplacement de sauvegarde local du fichier de zone une fois le transfert AXFR réussi.
5. Configuration de la journalisation¶
5.1. Création du fichier de log. Initialisation du fichier texte destiné à recevoir les journaux (y compris les traces de transfert de zone).
touch: Crée un fichier vide s'il n'existe pas.chown: Attribue la propriété du fichier à l'utilisateur et au groupebind.
5.2. Paramétrage du module de log. Création d'un fichier de configuration dédié.
logging {
channel bind_log {
file "/var/log/bind.log" versions 3 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default { bind_log; };
};
file: Définit le chemin absolu, le nombre d'archives conservées (versions 3) et le quota de taille (size 100m).severity: Règle le niveau de détail des événements capturés.
5.3. Inclusion de la configuration. Intégration du fichier de journalisation à la configuration principale.
// This is the primary configuration file for the BIND DNS server named.
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.root-hints";
// Ajout du fichier de parametrage de la journalisation du service BIND
include "/etc/bind/named.conf.log";
include: Importe les directives de log dans le cycle de démarrage de Bind9.
6. Configuration de la sécurité AppArmor¶
6.1. Modification des règles AppArmor. Ajustement des droits MAC (Mandatory Access Control) pour l'écriture des journaux.
# On autorise le daemon Bind 9 à lire et ecrire dans le fichier /var/log/bind.log
/var/log/bind.log rw,
rw,: Accorde explicitement les permissions de lecture (Read) et d'écriture (Write) au service.
6.2. Rechargement d'AppArmor. Application immédiate des règles.
apparmor_parser -r: Recharge et remplace le profil en direct.systemctl restart apparmor: Relance le service global de confinement.
7. Vérification et validation¶
7.1. Contrôle de la syntaxe globale. Analyse de la structure des fichiers de configuration.
named-checkconf: Vérifie la validité syntaxique des fichiers (sans-zici, car le fichier de zone n'existe pas encore avant le premier démarrage et transfert).
7.2. Redémarrage et vérification du statut. Lancement du daemon pour déclencher le premier transfert de zone.
systemctl restart: Arrête puis démarre le processusnamed.systemctl status: Affiche l'état du service.
7.3. Validation du transfert de zone. Vérification de la bonne réception de la zone depuis le maître.
tail -n 20: Affiche les 20 dernières lignes du journal. Permet de confirmer la présence des mentionsTransfer started.etTransfer completed:indiquant que la zone a bien été répliquée.