Le serveur de noms de domaine (DNS) est un composant essentiel de l’infrastructure Internet, et la création de votre serveur DNS peut être un défi. Eh bien, ce n’est pas le cas avec BIND, où vous pouvez créer votre serveur DNS BIND en un rien de temps. BIND jouit d’une excellente réputation auprès des administrateurs en raison de sa flexibilité et de son support haute disponibilité.
Dans cet article, vous apprendrez comment installer et configurer un serveur DNS BIND sécurisé et vérifier que les sous-domaines sont résolus à la bonne adresse IP.
Lisez la suite et créez votre serveur DNS sans effort !
Prérequis
Ce tutoriel sera une démonstration pratique. Pour suivre, assurez-vous d’avoir ce qui suit.
- A Linux server – This example uses the Ubuntu 20.04 server.
- A non-root user with root privileges or root/administrator user.
- A domain name pointed to the server IP address – This demo uses the atadomain.io domain and server IP address 172.16.1.10.
Installation des packages BIND
Le dépôt par défaut d’Ubuntu propose des packages BIND, mais ils ne sont pas installés sur votre système par défaut. Vous pouvez installer BIND en tant que serveur DNS principal ou uniquement autoritaire. BIND vous offre des fonctionnalités puissantes telles que le support de l’installation maître-esclave, le support DNSSEC et des listes de contrôle d’accès intégrées (ACL).
Pour commencer avec BIND DNS, vous devrez d’abord installer les packages BIND sur votre machine avec le gestionnaire de paquets apt.
1. Ouvrez votre terminal et connectez-vous à votre serveur.
2. Ensuite, exécutez la commande apt update
ci-dessous pour mettre à jour et rafraîchir l’index des packages du dépôt. Cette commande assure que vous installez la dernière version des packages.

3. Une fois mis à jour, exécutez la commande apt install
ci-dessous pour installer les packages BIND pour le serveur Ubuntu.
Les packages bind9-utils et bind9-dnsutils fournissent des outils en ligne de commande supplémentaires pour BIND. Ces packages sont utiles pour tester et gérer le serveur DNS BIND.

4. Enfin, exécutez la commande systemctl
ci-dessous pour vérifier le service BIND.
Le package BIND est livré avec le service named qui démarre automatiquement et est activé lors de l’installation du package BIND.
Maintenant, vous devriez voir que le service BIND named est activé avec le statut actif (en cours d’exécution). À ce stade, le service BIND s’exécutera automatiquement au démarrage du système.

Configuration du Serveur DNS BIND
Vous avez maintenant installé les paquets BIND sur le serveur Ubuntu, il est donc temps de configurer l’installation BIND sur votre serveur Ubuntu. Comment ? En modifiant les configurations de BIND et du service named
.
Toutes les configurations pour BIND sont disponibles dans le répertoire /etc/bind/, et les configurations pour le service named
dans /etc/default/named.
1. Modifiez la configuration de /etc/default/named en utilisant votre éditeur préféré et ajoutez l’option -4
sur la ligne OPTIONS
, comme indiqué ci-dessous. Cette option exécutera le service named
uniquement sur IPv4.
Enregistrez les modifications apportées et fermez le fichier.

2. Ensuite, modifiez le fichier /etc/bind/named.conf.options et ajoutez la configuration suivante en dessous de la ligne directory "/var/cache/bind";
.
Cette configuration définit le service BIND pour fonctionner sur le port UDP par défaut 53 sur l’adresse IP locale et publique du serveur (172.16.1.10). Dans le même temps, il autorise les requêtes de n’importe quel hôte vers le serveur DNS BIND en utilisant le résolveur Cloudflare DNS 1.1.1.1 comme forwarder.
En bas, commentez la ligne listen-on-v6 { any; }; comme indiqué ci-dessous, pour désactiver le service named de s’exécuter sur IPv6.

3. Enfin, exécutez la commande suivante pour vérifier la configuration BIND.
S’il n’y a pas de sortie, les configurations BIND sont correctes sans aucune erreur.

Configuration des Zones DNS
À ce stade, vous avez configuré la configuration de base du serveur DNS BIND. Vous êtes prêt à créer un serveur DNS avec votre domaine et à ajouter d’autres sous-domaines pour vos applications. Vous devrez définir et créer une nouvelle configuration de zones DNS pour ce faire.
Dans ce tutoriel, vous allez créer un nouveau serveur de noms (ns1.atadomain.io) et des sous-domaines (www.atadomain.io, mail.atadomain.io, vault.atadomain.io).
1. Modifiez le fichier /etc/bind/named.conf.local avec votre éditeur préféré et ajoutez la configuration suivante.
Cette configuration définit la zone de transit (/etc/bind/zones/forward.atadomain.io) et la zone inverse (/etc/bind/zones/reverse.atadomain.io) pour le nom de domaine atadomain.io.
Enregistrez les modifications et fermez le fichier.

2. Ensuite, exécutez la commande ci-dessous pour créer un nouveau répertoire (/etc/bind/zones
) pour les configurations de zones DNS.
3. Exécutez chaque commande ci-dessous pour copier la configuration par défaut des zones de transit et inverse dans le répertoire /etc/bind/zones
.

4. Maintenant, modifiez la configuration de la zone de transit (/etc/bind/zones/forward.atadomain.io) avec votre éditeur préféré et remplissez la configuration ci-dessous.
La configuration de la zone avant est l’endroit où vous définissez votre nom de domaine et l’adresse IP du serveur. Cette configuration traduira le nom de domaine vers l’adresse IP correcte du serveur.
La configuration ci-dessous crée le serveur de noms suivant et ses sous-domaines:
ns1.atadomain.io
– Le serveur de noms principal pour votre domaine avec l’adresse IP172.16.1.10
.
- Enregistrement MX pour le domaine
atadomain.io
qui est géré parmail.atadomain.io
. L’enregistrement MX est utilisé pour le serveur de messagerie.
- Sous-domaines pour les applications:
www.atadomain.io
,mail.atadomain.io
etvault.atadomain.io
.
Enregistrez les modifications et fermez le fichier.

5. Tout comme la zone avant, éditez le fichier de configuration de la zone inverse (/etc/bind/zones/reverse.atadomain.io) et remplissez la configuration suivante.
La zone inverse traduit l’adresse IP du serveur vers le nom de domaine. La zone inverse ou l’enregistrement PTR est essentielle pour des services comme le serveur de messagerie, ce qui affecte la réputation du serveur de messagerie.
L’enregistrement PTR utilise le dernier bloc de l’adresse IP, comme l’enregistrement PTR avec le numéro 10 pour l’adresse IP du serveur 172.16.1.10.
Cette configuration crée la zone inverse ou l’enregistrement PTR pour les domaines suivants:
- Serveur de noms
ns1.atadomain.io
avec la zone inverse ou l’enregistrement PTR172.16.1.10
.
- Enregistrement PTR pour le domaine
mail.atadomain.io
vers l’adresse IP du serveur172.16.1.20
.
Enregistrez les modifications et fermez le fichier.

6. Maintenant, exécutez les commandes suivantes pour vérifier et vérifier les configurations BIND.
Quand votre configuration est correcte, vous verrez une sortie similaire ci-dessous.

7. Enfin, exécutez la commande systemctl
ci-dessous pour redémarrer et vérifier le service named
. Ce faisant, appliquez de nouveaux changements au service named
.
Vous pouvez voir ci-dessous que le statut du service nommé est actif (en cours d’exécution).

Ouverture du port DNS avec le pare-feu UFW
À ce stade, vous avez terminé l’installation du serveur DNS BIND. Mais vous devez encore sécuriser votre serveur DNS. Vous configurerez le pare-feu UFW et ouvrirez le port DNS pour toutes les requêtes vers le serveur. Ce faisant, permettez aux clients de faire une requête au serveur DNS BIND.
Pour des raisons de sécurité, il est recommandé d’exécuter et d’activer le pare-feu UFW sur votre serveur Ubuntu.
1. Exécutez la commande ufw
ci-dessous pour vérifier les applications disponibles sur le pare-feu UFW.
Vous devriez voir le programme Bind9 dans la liste d’applications de l’application UFW ci-dessous.

2. Exécutez maintenant la commande ci-dessous pour autoriser
le Bind9
sur le pare-feu UFW.

3. Enfin, exécutez la commande suivante pour vérifier les règles activées sur le pare-feu UFW.
Vous devriez voir l’application Bind9 dans la liste comme dans la capture d’écran ci-dessous.

Vérification de l’installation du serveur DNS BIND
Vous avez maintenant terminé l’installation du serveur DNS BIND et configuré le pare-feu UFW. Mais comment vérifier l’installation de votre serveur DNS ? La commande dig
fera l’affaire.
Dig est un utilitaire en ligne de commande pour dépanner l’installation du serveur DNS. dig
effectue une recherche DNS pour le nom de domaine donné et affiche des réponses détaillées pour la cible du nom de domaine. Sur le système Ubuntu, dig
fait partie du paquet bind9-dnsutil
.
Pour vérifier l’installation de votre serveur DNS BIND :
1. Exécutez chaque commande dig
ci-dessous pour vérifier les sous-domaines www.atadomain.io
, mail.atadomain.io
et vault.atadomain.io
.
Si l’installation de votre serveur DNS est réussie, chaque sous-domaine sera résolu vers la bonne adresse IP en fonction de la configuration forward.atadomain.io.
Voici le résultat de la résolution du sous-domaine www.atadomain.io vers l’adresse IP du serveur 172.16.1.10.

Ci-dessous, le sous-domaine mail.atadomain.io résolu vers l’adresse IP du serveur 172.16.1.20.

Et enfin, le sous-domaine vault.atadomain.io résolu vers l’adresse IP du serveur 172.16.1.50.

2. Ensuite, exécutez la commande dig
ci-dessous pour vérifier l’enregistrement MX du domaine atadomain.io
.
Vous devriez voir que le domaine atadomain.io a l’enregistrement MX mail.atadomain.io.

3. Enfin, exécutez les commandes suivantes pour vérifier l’enregistrement PTR ou la zone inverse des adresses IP du serveur 172.16.1.10 et 172.16.1.20.
Si votre installation BIND est réussie, chaque adresse IP sera résolue vers le nom de domaine défini dans la configuration reverse.atadomain.io.
Vous pouvez voir ci-dessous que l’adresse IP du serveur 172.16.1.10 est résolue vers le nom de domaine ns1.atadomain.io.

Comme vous pouvez le voir ci-dessous, l’adresse IP du serveur 172.16.1.20 est résolue vers le nom de domaine mail.atadomain.io.

Conclusion
Tout au long de ce tutoriel, vous avez appris comment créer et configurer un serveur DNS BIND sécurisé sur votre serveur Ubuntu. Vous avez également créé la zone avant et arrière pour ajouter votre domaine et vérifié les serveurs DNS en exécutant des commandes dig
.
Maintenant, comment pouvez-vous mettre en œuvre un serveur DNS BIND dans votre environnement ? Peut-être mettre en place BIND en tant que serveur autorisé? Ou configurer une haute disponibilité avec une installation BIND maître-esclave?