Pour les étudiants en BTS CIEL ou SIO, configurer un serveur DNS complet est une compétence essentielle.
Cette fiche présente l’installation et la configuration de BIND9 sous Debian avec une zone incluant :
- la résolution web
- la gestion de la messagerie (MX et SPF)
Elle met également l’accent sur deux notions fondamentales :
- l’utilisation du point final
.dans les noms DNS - l’utilisation de
@dans les fichiers de zone

Configuration complète BIND9 (bloc unique)
# =========================================================
# INSTALLATION
# =========================================================
apt update && apt install bind9 bind9utils bind9-doc -y
# =========================================================
# CONFIGURATION GLOBALE
# =========================================================
nano /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
recursion yes;
allow-query { any; };
forwarders {
1.1.1.1;
8.8.8.8;
};
dnssec-validation auto;
listen-on { any; };
};
# =========================================================
# DECLARATION DE LA ZONE
# =========================================================
nano /etc/bind/named.conf.local
zone "eryann.fr" {
type master;
file "/etc/bind/db.eryann.fr";
};
# =========================================================
# FICHIER DE ZONE
# =========================================================
nano /etc/bind/db.eryann.fr
$TTL 86400
@ IN SOA ns1.eryann.fr. admin.eryann.fr. (
2026050101 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
; ================= DNS =================
@ IN NS ns1.eryann.fr.
ns1 IN A 192.168.1.10
; ================= WEB =================
@ IN A 192.168.1.20
www IN CNAME @
; ================= MAIL =================
mail IN A 192.168.1.30
@ IN MX 10 mail.eryann.fr.
@ IN TXT "v=spf1 ip4:192.168.1.30 -all"
; ================= MACHINES =================
srv IN A 192.168.1.40
pc1 IN A 192.168.1.50
# =========================================================
# VERIFICATION
# =========================================================
named-checkconf
named-checkzone eryann.fr /etc/bind/db.eryann.fr
# =========================================================
# DEMARRAGE
# =========================================================
systemctl restart bind9
systemctl enable bind9
# =========================================================
# TESTS
# =========================================================
dig @127.0.0.1 eryann.fr
dig @127.0.0.1 www.eryann.fr
dig @127.0.0.1 mx eryann.fr
dig @127.0.0.1 txt eryann.fr
Explication détaillée
Organisation de BIND9
/etc/bind/named.conf.options: paramètres globaux (résolution, forwarders, sécurité)/etc/bind/named.conf.local: déclaration des zones DNS/etc/bind/db.eryann.fr: fichier de zone contenant les enregistrements
Le point final . dans les noms DNS
Exemple :
ns1.eryann.fr.
Le point final indique un nom de domaine complet (FQDN).
Sans ce point :
ns1.eryann.fr
BIND ajoute automatiquement le nom de la zone :
ns1.eryann.fr.eryann.fr
Cela provoque une erreur de résolution.
Avec le point :
ns1.eryann.fr.
Le nom est absolu et n’est pas modifié.
Le point représente la racine du DNS et doit être utilisé dans :
- SOA
- NS
- MX
- certains CNAME
L’utilisation de @ dans un fichier de zone
Dans une zone DNS :
@ IN A 192.168.1.20
Le symbole @ représente le domaine de la zone, ici :
eryann.fr
Exemple :
@ IN A 192.168.1.20
www IN CNAME @
Correspond à :
- eryann.fr → 192.168.1.20
- www.eryann.fr → eryann.fr
L’utilisation de @ permet d’éviter de répéter le nom de domaine et rend le fichier plus lisible.
Configuration de la messagerie
Enregistrement MX :
@ IN MX 10 mail.eryann.fr.
Indique que les emails du domaine sont gérés par mail.eryann.fr.
Enregistrement SPF :
@ IN TXT "v=spf1 ip4:192.168.1.30 -all"
Autorise uniquement ce serveur à envoyer des emails pour le domaine.
Bonnes pratiques
- incrémenter le numéro de série à chaque modification
- toujours vérifier la configuration avec les outils fournis
- utiliser des noms cohérents et explicites
- limiter les accès en production (
allow-query) - prévoir un serveur DNS secondaire
Récapitulatif des fichiers importants
| Fichier | Rôle |
|---|---|
| /etc/bind/named.conf | fichier principal incluant les autres configurations |
| /etc/bind/named.conf.options | paramètres globaux du serveur DNS |
| /etc/bind/named.conf.local | déclaration des zones DNS locales |
| /etc/bind/db.eryann.fr | fichier de zone contenant les enregistrements |
| /var/log/syslog | journal des événements du service bind |
Conclusion
Cette configuration permet de déployer un serveur DNS complet avec gestion du web et de la messagerie.
La compréhension du point final et du symbole @ est indispensable pour éviter les erreurs de configuration et maîtriser le fonctionnement du DNS.
