2_Installation
Installation de BIND9
Mettre à jour les paquets
sudo apt update
Installer BIND9 et les outils DNS
sudo apt install bind9 dnsutils
Configuration du DNS direct
Éditer le fichier de configuration principal
sudo vim /etc/bind/named.conf.local
Ajouter la zone pour votre domaine, par exemple rohba.local
//
// Do any local configuration here
//
acl "acl-lan" { 192.168.2.0/24; };
zone "rohba.local" {
type master;
file "/etc/bind/db.rohba.local";
allow-query { "acl-lan"; };
allow-update { none; };
};
Explication de l’ACL
acl "acl-lan" { 192.168.2.0/24; };
acl: mot‑clé BIND pour définir une liste de contrôle d’accès."acl-lan": nom logique de l’ACL.{ 192.168.2.0/24; };: réseau autorisé.- But : centraliser la définition d’un réseau pour la réutiliser dans plusieurs directives.
- Variantes : plusieurs réseaux possibles, ex.
192.168.2.0/24; 10.0.0.0/8; 127.0.0.1;.
Créer le fichier de zone
sudo vim /etc/bind/db.rohba.local
Ajouter les enregistrements DNS
;
; BIND data file for rohba.local
;
$TTL 604800
@ IN SOA ns1.rohba.local. admin.rohba.local. (
2023101001 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.rohba.local.
ns1 IN A 192.168.2.183
nas IN A 192.168.2.20
portainer IN A 192.168.2.193
git IN A 192.168.2.182
ha IN A 192.168.2.173
Explications des champs importants
TTL
$TTLdéfinit la durée de vie par défaut des enregistrements.- 604800 secondes = 7 jours.
SOA
@représente la zone (rohba.local).ns1.rohba.local.: serveur maître.admin.rohba.local.: e‑mail de l’administrateur (admin@rohba.local).Serial: numéro de version de la zone, à incrémenter à chaque modification.Refresh,Retry,Expire,Negative Cache TTL: paramètres de synchronisation et de cache.
NS
- Déclare le serveur de noms autoritaire de la zone.
A
- Associe un nom d’hôte à une adresse IPv4.
- Les noms sans point final sont relatifs à la zone.
Configuration du reverse DNS
Éditer le fichier de configuration
sudo vim /etc/bind/named.conf.local
Ajouter la zone inverse
//
// Do any local configuration here
//
acl "acl-lan" { 192.168.2.0/24; };
zone "rohba.local" {
type master;
file "/etc/bind/db.rohba.local";
allow-query { "acl-lan"; };
allow-update { none; };
allow-transfer { none; };
};
zone "2.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.2";
allow-query { "acl-lan"; };
allow-update { none; };
allow-transfer { none; };
};
Explications des directives
allow-transfer { none; };
Empêche les transferts AXFR non autorisés.
Si tu as des serveurs esclaves, ajoute leurs IP ou utilise TSIG.
type master;
Indique que ce serveur est maître de la zone.
file "/etc/bind/db.rohba.local";
Chemin du fichier de zone.
allow-query { "acl-lan"; };
Limite les requêtes DNS aux machines du réseau interne.
allow-update { none; };
Interdit les mises à jour dynamiques.
Créer le fichier de zone inverse
sudo nano /etc/bind/db.192.168.2
Ajouter les enregistrements PTR
;
; BIND reverse data file for 192.168.2.0/24
;
$TTL 604800
@ IN SOA ns1.rohba.local. admin.rohba.local. (
2023101001
604800
86400
2419200
604800 )
;
@ IN NS ns1.rohba.local.
183 IN PTR ns1.rohba.local.
20 IN PTR nas.rohba.local.
193 IN PTR portainer.rohba.local.
182 IN PTR git.rohba.local.
173 IN PTR ha.rohba.local.
Vérification et redémarrage de BIND9
Vérifier la configuration
sudo named-checkconf
sudo named-checkzone rohba.local /etc/bind/db.rohba.local
sudo named-checkzone 2.168.192.in-addr.arpa /etc/bind/db.192.168.2
Redémarrer BIND9
sudo systemctl restart bind9
Tests de résolution
dig @localhost ns1.rohba.local
dig @localhost git.rohba.local
dig -x 192.168.2.183
dig -x 192.168.2.20
Droits sur les fichiers de zone
sudo chown root:bind /etc/bind/db.rohba.local
sudo chmod 640 /etc/bind/db.rohba.local