Skip to main content

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

  • $TTL dé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