Serveur DNS esclave faisant autorité
Agence Californie – ns1.californie.cub.sioplc.fr
Attention
Section titled “Attention”Puisque vous allez être amené à modifier des fichiers de configuration présents dans le dossier /etc, vous devez utiliser etckeeper pour assurer le versioning.
1. Vérifications préalables
Section titled “1. Vérifications préalables”Mise à jour du serveur
Section titled “Mise à jour du serveur”sudo apt update && sudo apt upgradeInstallation du service de journalisation
Section titled “Installation du service de journalisation”Sur Debian 12, installation de rsyslog afin de disposer de fichiers de logs exploitables dans /var/log.
sudo apt install rsyslogInstallation de Bind9 et des outils DNS
Section titled “Installation de Bind9 et des outils DNS”sudo apt install bind9 dnsutils2. Configuration réseau du serveur esclave
Section titled “2. Configuration réseau du serveur esclave”Le serveur esclave ns1 aura l’adresse IP : 172.16.3.11
sudoedit /etc/network/interfaces# This file describes the network interfaces available on your system
source /etc/network/interfaces.d/*
# Loopbackauto loiface lo inet loopback
# Interface principaleallow-hotplug ens192auto ens192iface ens192 inet staticaddress 172.16.3.11netmask 255.255.255.0gateway 172.16.3.2533. Définir les serveurs DNS récursifs
Section titled “3. Définir les serveurs DNS récursifs”Le serveur faisant autorité ne doit pas utiliser un résolveur interne. On privilégie des résolveurs publics.
sudoedit /etc/resolv.confnameserver 9.9.9.9nameserver 1.1.1.14. Appliquer les modifications réseau
Section titled “4. Appliquer les modifications réseau”sudo systemctl restart networking5. Configuration du nom de la machine
Section titled “5. Configuration du nom de la machine”/etc/hostname
Section titled “/etc/hostname”sudoedit /etc/hostnamens1/etc/hosts
Section titled “/etc/hosts”sudoedit /etc/hosts127.0.0.1 localhost127.0.1.1 ns1.californie.cub.sioplc.fr ns1
# IPv6::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allroutersRedémarrage du serveur
Section titled “Redémarrage du serveur”sudo shutdown -r now6. Configuration de Bind9 en serveur esclave
Section titled “6. Configuration de Bind9 en serveur esclave”Le serveur maître est :
- ns0.californie.cub.sioplc.fr
- IP : 172.16.3.10
Le serveur esclave :
- ns1.californie.cub.sioplc.fr
- IP : 172.16.3.11
Déclaration de la zone dans /etc/bind/named.conf.local
Section titled “Déclaration de la zone dans /etc/bind/named.conf.local”sudoedit /etc/bind/named.conf.localzone "californie.cub.sioplc.fr" { type slave; masters { 172.16.3.10; }; file "/var/cache/bind/db.californie.cub.sioplc.fr";};Explication
Section titled “Explication”type slave→ Le serveur est esclave.masters→ IP du serveur maître autorisé à effectuer le transfert.file→ Fichier local où sera stockée la copie de la zone.
Création du fichier de zone
Section titled “Création du fichier de zone”sudo touch /var/cache/bind/db.californie.cub.sioplc.frsudo chown bind:bind /var/cache/bind/db.californie.cub.sioplc.fr⚠️ Le contenu sera automatiquement rempli lors du transfert de zone.
7. Configuration globale (vérification)
Section titled “7. Configuration globale (vérification)”Vérifier que /etc/bind/named.conf contient bien :
include "/etc/bind/named.conf.options";include "/etc/bind/named.conf.local";include "/etc/bind/named.conf.default-zones";include "/etc/bind/named.conf.log";/etc/bind/named.conf.options
Section titled “/etc/bind/named.conf.options”Pour un serveur faisant autorité uniquement :
options { directory "/var/cache/bind";
listen-on port 53 { 127.0.0.1; 172.16.3.11; };
recursion no;
version none;};8. Mise en place de la journalisation
Section titled “8. Mise en place de la journalisation”Création du fichier /etc/bind/named.conf.log
Section titled “Création du fichier /etc/bind/named.conf.log”sudoedit /etc/bind/named.conf.loglogging { 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; };};Création du fichier log
Section titled “Création du fichier log”sudo touch /var/log/bind.logsudo chown bind:bind /var/log/bind.log9. Configuration AppArmor
Section titled “9. Configuration AppArmor”Autoriser Bind à écrire dans le fichier log.
sudoedit /etc/apparmor.d/usr.sbin.namedAjouter :
/var/log/bind.log rw,Recharger la configuration :
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.namedsudo systemctl restart apparmor10. Vérifications
Section titled “10. Vérifications”Vérification de la syntaxe
Section titled “Vérification de la syntaxe”sudo named-checkconf -zRedémarrage du service
Section titled “Redémarrage du service”sudo systemctl restart bind9sudo systemctl status bind911. Vérification du transfert de zone
Section titled “11. Vérification du transfert de zone”Sur le serveur esclave :
sudo tail -f /var/log/bind.logVous devez voir un message indiquant un zone transfer completed.
Test DNS
Section titled “Test DNS”dig @localhost californie.cub.sioplc.frdig @localhost www.californie.cub.sioplc.frDepuis une autre machine :
dig @172.16.3.11 www.californie.cub.sioplc.fr