Fiche installation bind9 avec zone complète (web + messagerie)

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 à :

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

FichierRôle
/etc/bind/named.conffichier principal incluant les autres configurations
/etc/bind/named.conf.optionsparamètres globaux du serveur DNS
/etc/bind/named.conf.localdéclaration des zones DNS locales
/etc/bind/db.eryann.frfichier de zone contenant les enregistrements
/var/log/syslogjournal 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.

Retour en haut