Learning Center
Système Ubuntu

Configuration d’un serveur DNS BIND

20 févr. 2026
Hostman Team
Hostman Team

Le DNS (Domain Name System) est un système dans lequel tous les noms de domaine des serveurs sont organisés selon une hiérarchie spécifique. Pourquoi en avons-nous besoin ? Imaginez devoir vous connecter à un appareil avec l’adresse IP 91.206.179.207. Vous pourriez saisir cette adresse dans la ligne de commande pour obtenir les informations nécessaires, mais mémoriser de nombreuses combinaisons numériques de ce type est très difficile. C’est pourquoi des serveurs spéciaux ont été créés pour convertir les noms de domaine en adresses IP. Ainsi, lorsque vous saisissez hostman.com dans la barre d’adresse de votre navigateur, la requête est envoyée à un serveur DNS, qui recherche une correspondance dans sa base de données. Le serveur DNS renvoie ensuite l’adresse IP requise à votre appareil, et ce n’est qu’alors que le navigateur accède directement à la ressource.

Configurer votre propre DNS permet une configuration du système plus flexible et plus précise, tout en évitant la dépendance à des tiers. Dans cet article, nous allons voir comment configurer le DNS à l’aide du serveur de noms BIND sur Ubuntu.

Termes
Copier le lien

Zone : Partie de la hiérarchie DNS hébergée sur un serveur DNS. Elle définit les limites dans lesquelles un serveur ou un groupe de serveurs est responsable.

Serveurs racine : Serveurs DNS contenant des informations sur les domaines de premier niveau (.ru, .com, etc.).

Domaine : Partie nommée de la hiérarchie DNS, un nœud spécifique pouvant inclure d’autres nœuds. Les adresses DNS se lisent de droite à gauche et commencent par un point, les domaines étant également séparés par des points. Par exemple, le domaine poddomen.domen.ru doit être lu comme .ru.domen.poddomen. En général, le nom de domaine reflète la structure de la hiérarchie DNS, mais le point final est omis.

FQDN (Fully Qualified Domain Name) : Nom de domaine entièrement qualifié, incluant tous les domaines parents.

Enregistrement de ressource (Resource Record) : Unité de stockage d’informations, c’est-à-dire un enregistrement qui associe un nom à des informations de service. Il se compose de :

  • Nom (NAME) : Le nom ou l’adresse IP propriétaire de la zone

  • Time to Live (TTL) : Durée pendant laquelle un enregistrement est conservé dans le cache DNS avant d’être supprimé

  • Classe (CLASS) : Type de réseau, généralement IN (Internet)

  • Type (TYPE) : Fonction de l’enregistrement

  • Données (DATA) : Informations supplémentaires

Enregistrements de ressources courants
Copier le lien

Enregistrement A : Associe un nom d’hôte à une adresse IPv4. Chaque interface réseau ne peut avoir qu’un seul enregistrement A.

website.com.              520    IN     A      91.206.179.207

Enregistrement AAAA : Identique à l’enregistrement A, mais pour IPv6.

CNAME : Enregistrement de nom canonique, alias d’un nom réel utilisé pour la redirection.

MX : Spécifie les serveurs de messagerie du domaine. Le champ NAME contient le domaine de destination et le champ DATA indique la priorité et l’hôte recevant les e-mails.

website.com.             17790   IN      MX      10 mx.website.com.

website.com.             17790   IN      MX      20 mx2.website.com.

NS : Indique le serveur DNS qui gère le domaine.

PTR : Associe une adresse IP à un nom de domaine (résolution inverse).

SOA : Décrit les paramètres principaux de la zone.

SRV : Contient les adresses des serveurs fournissant des services internes au domaine, comme Jabber.

Prérequis
Copier le lien

Pour suivre les instructions de cet article, vous avez besoin d’au moins deux serveurs Ubuntu dans le même centre de données. Chacun de ces serveurs peut être commandé chez Hostman.

Nous utiliserons deux serveurs Ubuntu 20.04 servant de serveurs DNS primaire et secondaire, respectivement ns1 et ns2. De plus, d’autres serveurs utiliseront les serveurs DNS configurés.

Vous devez disposer des privilèges superutilisateur sur chaque serveur.

Installation de BIND sur les serveurs DNS
Copier le lien

Nous utiliserons bind9 comme serveur DNS. Installez le paquet bind9 depuis le dépôt Linux :

sudo apt update && sudo apt upgrade -y

sudo apt install bind9

Il est également recommandé d’installer des outils de surveillance réseau :

sudo apt install dnsutils

Après l’installation, démarrez le service bind9 :

sudo service bind9 start

Le fichier de configuration principal du serveur est /etc/bind/named.conf. Il décrit les paramètres généraux et est généralement divisé en plusieurs fichiers pour plus de commodité.

named.conf.options
Copier le lien

Ce fichier contient les paramètres généraux du serveur :

options {

        dnssec-validation auto;

        auth-nxdomain no;

        directory "/var/cache/bind";

        recursion no; # désactiver les requêtes récursives vers le serveur

        listen-on {

                     172.16.0.0/16; 

                     127.0.0.0/8;    

        };

        forwarders { 

            172.16.0.1;

            8.8.8.8;  

        };

};

Pour vérifier que tout est correctement configuré, utilisez l’utilitaire named-checkconf :

sudo named-checkconf

S’il n’y a pas d’erreurs, le serveur BIND commencera à fonctionner.

Serveur DNS primaire
Copier le lien

Le serveur DNS primaire stocke la copie principale du fichier de zone. Toutes les zones seront stockées dans le répertoire /etc/bind/master-zones. Créez ce répertoire :

sudo mkdir /etc/bind/master-zones

Créez un fichier décrivant la zone :

sudo touch /etc/bind/master-zones/test.example.com.local.zone

Ajoutez ensuite les enregistrements SOA, NS et A :

$ttl 3600 

$ORIGIN test.example.com. 

test.example.com.               IN              SOA  (      

ns.test.example.com.    

abuse.test.example.com.  

                                2022041201 

                                10800 

                                1200 

                                604800 

                                3600   ) 

@                               IN              NS              ns.test.example.com. 

@                               IN              NS              ns2.test.example.com.

@                               IN              A                172.16.101.3 

ns                              IN               A                172.16.0.5 

ns2                             IN              A                172.16.0.6

Ensuite, vérifiez la zone avec l’utilitaire named-checkzone :

sudo named-checkzone test.example.com. /etc/bind/master-zones/test.example.com.local.zone

named.conf.local
Copier le lien

Il s’agit d’un autre fichier inclus dans la configuration principale du serveur. Nous y définissons les zones locales :

zone "test.example.com." {

                type master;

                file "/etc/bind/master-zones/test.example.com.local.zone";

};

Après avoir saisi les données nécessaires, vérifiez la configuration et redémarrez bind9 (l’option -z vérifie les fichiers de zone) :

sudo named-checkconf

sudo named-checkconf -z

sudo service bind9 restart

sudo service bind9 status

Configuration des vues (Views)
Copier le lien

Les views permettent une gestion flexible de la résolution de noms depuis différents sous-réseaux. Dans le fichier /etc/bind/named.conf, ajoutez :

include "/etc/bind/named.conf.options";

acl "local" { 172.16.0.0/16; };

view "local" {

                include "/etc/bind/named.conf.local";

                match-clients { local; };

};

Redémarrez bind9 :

sudo service bind9 restart

Après le redémarrage du serveur, vous pouvez demander l’enregistrement SOA du serveur 172.16.0.5 depuis un autre ordinateur du réseau local :

dig @172.16.0.5 -t SOA test.example.com

À ce stade, la configuration du serveur DNS primaire est terminée.

Conclusion
Copier le lien

Dans ce guide, nous avons configuré le DNS sur un serveur Ubuntu à l’aide du paquet bind9. Après avoir suivi toutes les étapes, les deux serveurs DNS configurés peuvent être utilisés pour la résolution de noms sur le réseau. Pour utiliser ces serveurs DNS personnalisés, configurez vos autres serveurs afin qu’ils utilisent 172.16.0.5 et 172.16.0.6 comme serveurs DNS.

Cette configuration peut servir de base à des améliorations futures, comme la mise en place d’un serveur de messagerie.