← Retour au portail

Fiche 6 - DNS — Fonctionnement et installation de Bind9

Comprendre le fonctionnement du DNS, les types d'enregistrements, et installer un serveur DNS Bind9 sur Debian.

Intermédiaire — SISR 2ème année ⏱️ 25 min 📁 Réseau

🎯 Objectifs de la fiche

  1. Fonctionnement du DNS — Résolution récursive, hiérarchie, cache
  2. Types d'enregistrements DNS — A, AAAA, CNAME, MX, PTR, NS, TXT
  3. Outils de diagnostic — nslookup, dig, host
  4. Installer Bind9 sur Debian — Installation, configuration de base
  5. Créer une zone DNS interne — Zone directe et zone inverse

Prérequis

Connaître les bases de l'adressage IP. Debian avec accès root. Notions sur les services réseau (ports, systemctl).

1. Fonctionnement du DNS

Le DNS (Domain Name System) traduit les noms de domaine en adresses IP. Quand vous tapez www.google.fr dans un navigateur, votre PC interroge un serveur DNS pour obtenir l'adresse IP correspondante.

Résolution de www.google.fr :

1. PC → Resolver local (cache) : connaît-il www.google.fr ?
   Non → continuer

2. PC → Serveur DNS récursif (box, 8.8.8.8...)
   Le serveur récursif interroge à son tour :

3. DNS récursif → Serveur racine (.) : qui gère .fr ?
   Réponse : serveurs TLD de l'AFNIC

4. DNS récursif → Serveur TLD .fr : qui gère google.fr ?
   Réponse : ns1.google.com, ns2.google.com

5. DNS récursif → ns1.google.com : IP de www.google.fr ?
   Réponse : 142.250.75.100

6. Serveur récursif → PC : 142.250.75.100
   (résultat mis en cache pour la durée du TTL)

2. Types d'enregistrements DNS

TypeNom completRôleExemple
AAddressIP v4 d'un hôtewww.lycee.local → 192.168.1.10
AAAAIPv6 AddressIP v6 d'un hôtewww → 2001:db8::1
CNAMECanonical NameAlias vers un autre nomftp → www.lycee.local
MXMail ExchangerServeur de messagerie du domainelycee.local → mail.lycee.local (prio 10)
PTRPointerRésolution inverse (IP → nom)192.168.1.10 → srv.lycee.local
NSName ServerServeurs DNS autoritaires du domainelycee.local → ns1.lycee.local
SOAStart of AuthorityEnregistrement principal de la zoneInfos admin, numéro de série, TTL
TXTTextTexte libre (SPF, DKIM, vérification...)v=spf1 ip4:192.168.1.0/24 ~all
SRVServiceLocalisation d'un service (SIP, LDAP...)_ldap._tcp.lycee.local

3. Outils de diagnostic DNS

# nslookup — simple et disponible partout
nslookup www.google.fr
nslookup www.google.fr 8.8.8.8    # interroger un serveur DNS spécifique

# dig — plus complet (à installer si absent)
sudo apt install dnsutils -y
dig www.google.fr
dig www.google.fr A               # enregistrement de type A uniquement
dig www.google.fr MX              # enregistrements MX
dig -x 8.8.8.8                    # résolution inverse (PTR)
dig @192.168.1.10 srv.lycee.local # interroger un serveur DNS interne

# host — version courte
host www.google.fr
host -t MX google.fr

4. Installer Bind9 sur Debian

sudo apt update && sudo apt install bind9 bind9utils bind9-doc -y
sudo systemctl enable --now bind9
sudo systemctl status bind9

Fichiers de configuration principaux :

FichierRôle
/etc/bind/named.confFichier principal (inclut les autres)
/etc/bind/named.conf.optionsOptions globales (forwarders, recursion, cache)
/etc/bind/named.conf.localDéclaration des zones locales
/etc/bind/named.conf.default-zonesZones par défaut (root, localhost)
/var/cache/bind/Répertoire des fichiers de zones

4.1 Configurer les forwarders (serveur DNS récursif)

sudo nano /etc/bind/named.conf.options
options {
    directory "/var/cache/bind";

    forwarders {
        8.8.8.8;
        8.8.4.4;
    };

    forward only;
    dnssec-validation auto;
    listen-on { any; };
    allow-query { localhost; 192.168.1.0/24; };
    recursion yes;
};

5. Créer une zone DNS interne

5.1 Déclarer la zone dans named.conf.local

sudo nano /etc/bind/named.conf.local
// Zone directe
zone "lycee.local" {
    type master;
    file "/var/cache/bind/db.lycee.local";
};

// Zone inverse (pour 192.168.1.0/24)
zone "1.168.192.in-addr.arpa" {
    type master;
    file "/var/cache/bind/db.192.168.1";
};

5.2 Créer le fichier de zone directe

sudo nano /var/cache/bind/db.lycee.local
$TTL 86400
@   IN  SOA ns1.lycee.local. admin.lycee.local. (
            2026060101  ; Numéro de série (AAAAMMJJNN)
            3600        ; Refresh
            1800        ; Retry
            604800      ; Expire
            86400 )     ; TTL négatif

; Serveurs de noms
@       IN  NS  ns1.lycee.local.

; Enregistrements A
ns1     IN  A   192.168.1.10
srv-web IN  A   192.168.1.20
srv-ad  IN  A   192.168.1.10

; Alias CNAME
www     IN  CNAME  srv-web.lycee.local.
# Vérifier la syntaxe de la zone
sudo named-checkzone lycee.local /var/cache/bind/db.lycee.local

# Vérifier la configuration Bind9
sudo named-checkconf

# Recharger Bind9
sudo systemctl reload bind9

# Tester la résolution
dig @192.168.1.10 srv-web.lycee.local
Quel type d'enregistrement DNS associe un nom à une adresse IPv4 ?
  • CNAME
  • PTR
  • MX
  • A

✅ Réponse : A

Quel type d'enregistrement permet de définir un alias DNS ?
  • A
  • CNAME
  • NS
  • TXT

✅ Réponse : CNAME

Quelle commande vérifie la syntaxe d'un fichier de zone Bind9 ?
  • bind9-check
  • named-checkzone
  • dig --check
  • bind9 --syntax

✅ Réponse : named-checkzone

Qu'est-ce qu'un enregistrement PTR ?
  • Un pointeur vers un serveur mail
  • La résolution inverse : IP vers nom
  • Un alias de nom de domaine
  • Le serveur de noms autoritaire

✅ Réponse : La résolution inverse : IP vers nom

Dans un fichier de zone Bind9, que signifie le numéro de série ?
  • Le numéro de version de Bind
  • Le nombre d'enregistrements dans la zone
  • Un identifiant incrémental qui déclenche la synchronisation des serveurs secondaires
  • Le TTL de la zone

✅ Réponse : Un identifiant incrémental qui déclenche la synchronisation des serveurs secondaires