Comprendre le fonctionnement du DNS, les types d'enregistrements, et installer un serveur DNS Bind9 sur Debian.
Connaître les bases de l'adressage IP. Debian avec accès root. Notions sur les services réseau (ports, systemctl).
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)
| Type | Nom complet | Rôle | Exemple |
|---|---|---|---|
| A | Address | IP v4 d'un hôte | www.lycee.local → 192.168.1.10 |
| AAAA | IPv6 Address | IP v6 d'un hôte | www → 2001:db8::1 |
| CNAME | Canonical Name | Alias vers un autre nom | ftp → www.lycee.local |
| MX | Mail Exchanger | Serveur de messagerie du domaine | lycee.local → mail.lycee.local (prio 10) |
| PTR | Pointer | Résolution inverse (IP → nom) | 192.168.1.10 → srv.lycee.local |
| NS | Name Server | Serveurs DNS autoritaires du domaine | lycee.local → ns1.lycee.local |
| SOA | Start of Authority | Enregistrement principal de la zone | Infos admin, numéro de série, TTL |
| TXT | Text | Texte libre (SPF, DKIM, vérification...) | v=spf1 ip4:192.168.1.0/24 ~all |
| SRV | Service | Localisation d'un service (SIP, LDAP...) | _ldap._tcp.lycee.local |
# 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
sudo apt update && sudo apt install bind9 bind9utils bind9-doc -y sudo systemctl enable --now bind9 sudo systemctl status bind9
Fichiers de configuration principaux :
| Fichier | Rôle |
|---|---|
| /etc/bind/named.conf | Fichier principal (inclut les autres) |
| /etc/bind/named.conf.options | Options globales (forwarders, recursion, cache) |
| /etc/bind/named.conf.local | Déclaration des zones locales |
| /etc/bind/named.conf.default-zones | Zones par défaut (root, localhost) |
| /var/cache/bind/ | Répertoire des fichiers de zones |
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;
};
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";
};
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
✅ Réponse : A
✅ Réponse : CNAME
✅ Réponse : named-checkzone
✅ Réponse : La résolution inverse : IP vers nom
✅ Réponse : Un identifiant incrémental qui déclenche la synchronisation des serveurs secondaires