GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer le serveur DNS (Bind 9) sur Ubuntu / Debian

DNS ou Système de nom de domaine , comme nous le savons, est un service Internet utilisé pour traduire le domaine convivial en adresses IP conviviales pour les ordinateurs. Non seulement pouvons-nous traduire les noms de domaine en adresses IP, mais nous pouvons également effectuer une traduction inverse, c'est-à-dire des adresses IP aux traductions de noms de domaine. Dans ce tutoriel, nous allons apprendre à configurer un serveur DNS privé en implémentant BIND9 sur le système Ubuntu/Debian.

BIND ou BIND 9 est une implémentation open source de DNS, disponible pour presque toutes les distributions Linux. BIND signifie Berkeley Internet Name Domain &cela nous permet de publier des informations DNS sur Internet ainsi que de résoudre les requêtes DNS pour les utilisateurs. BIND est de loin le logiciel DNS le plus utilisé sur Internet. Dans ce tutoriel, j'utiliserai les éléments suivants :

  • IP du serveur de liaison (Ubuntu/Debian) =192.168.0.40
  • Nom de domaine =linuxtechi.local
  • Réseau privé =192.168.0.0/24

Commençons donc le tutoriel avec l'installation sur les packages pour BIND 9….

Installation de Bind 9 sur le système Debian/Ubuntu :

Nous devons installer "bind9 bind9utils bind9-doc dnsutils" pour installer BIND 9 et les outils associés. Ouvrez votre terminal et exécutez la commande suivante,

[email protected]:~$ sudo apt-get install bind9 bind9utils bind9-doc dnsutils

Configuration de bind 9 sur le système Debian/Ubuntu :

Une fois tous les packages installés, nous passerons à la partie configuration. Tous les fichiers de configuration pour BIND se trouvent dans le dossier "/etc/bind".

L'un des fichiers de configuration importants pour bind est "/etc/bind/named.conf.options ", à partir de ce fichier, nous pouvons définir les paramètres suivants :

  • Autoriser la requête à votre DNS à partir de votre réseau privé (comme son nom l'indique, seuls les systèmes de votre réseau privé peuvent interroger le serveur DNS pour la traduction du nom en IP et vice-versa)
  • Autoriser les requêtes récursives
  • Spécifier le port DNS ( 53)
  • Redirecteurs (la requête DNS sera transmise aux redirecteurs lorsque votre serveur DNS local est incapable de résoudre la requête)

Selon mes paramètres de réseau privé, j'ai spécifié les paramètres suivants :

[email protected]:~$ sudo vi /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
     // listen-on-v6 { any; };
        listen-on port 53 { localhost; 192.168.0.0/24; };
        allow-query { localhost; 192.168.0.0/24; };
        forwarders { 8.8.8.8; };
        recursion yes;
        };

Le prochain fichier de configuration important est "/etc/bind/named.conf.local ", dans ce fichier, nous allons définir les fichiers de zone pour notre domaine, modifier le fichier ajouter les entrées suivantes :

[email protected]:~$ cd /etc/bind
[email protected]:~$ sudo vi named.conf.local
zone    "linuxtechi.local"   {
        type master;
        file    "/etc/bind/forward.linuxtechi.local";
 };

zone   "0.168.192.in-addr.arpa"        {
       type master;
       file    "/etc/bind/reverse.linuxtechi.local";
 };

Enregistrez le fichier et quittez. Ici, nous avons mentionné les emplacements de nos fichiers de zone de recherche directe et de nos fichiers de zone de recherche inversée. Ensuite, nous allons créer les fichiers de zone avant et arrière mentionnés.

Créez d'abord le fichier de zone de recherche directe, les exemples de fichiers de zone (db.local) sont déjà présents dans le dossier "/etc/bind ', nous pouvons utiliser et copier un exemple de fichier de zone,

[email protected]:/etc/bind$ sudo cp db.local forward.linuxtechi.local
[email protected]:/etc/bind$ sudo vi forward.linuxtechi.local
$TTL    604800

@       IN      SOA     primary.linuxtechi.local. root.primary.linuxtechi.local. (
                              6         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

;Name Server Information
@       IN      NS      primary.linuxtechi.local.

;IP address of Your Domain Name Server(DNS)
primary IN       A      192.168.0.40

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN  MX  10  mail.linuxtechi.local.

;A Record for Host names
www     IN       A       192.168.0.50
mail    IN       A       192.168.0.60

;CNAME Record
ftp     IN      CNAME    www.linuxtechi.local.

Votre fichier de recherche directe devrait ressembler à ce qui suit :

Ici, nous avons ajouté des informations concernant notre serveur DNS et avons également ajouté des enregistrements A pour quelques serveurs, également ajouté un enregistrement pour un serveur de messagerie et un enregistrement CNAME pour le serveur ftp. Assurez-vous de modifier ce fichier en fonction de votre réseau.

Ensuite, nous allons créer un fichier de zone de recherche inversée au même emplacement, un exemple de fichier de zone de recherche inversée est présent dans '/etc/bind ‘ dossier.

[email protected]:/etc/bind$ sudo cp db.127 reverse.linuxtechi.local
[email protected]:~$ sudo vi /etc/bind/reverse.linuxtechi.local
$TTL    604800
@       IN      SOA     linuxtechi.local. root.linuxtechi.local. (
                             21         ; Serial
                         604820         ; Refresh
                          864500        ; Retry
                        2419270         ; Expire
                         604880 )       ; Negative Cache TTL

;Your Name Server Info
@       IN      NS      primary.linuxtechi.local.
primary IN      A       192.168.0.40

;Reverse Lookup for Your DNS Server
40      IN      PTR     primary.linuxtechi.local.

;PTR Record IP address to HostName
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

Votre fichier de recherche de zone inversée devrait ressembler à ceci :

Enregistrez le fichier et quittez. Il ne nous reste plus qu'à redémarrer le service BIND pour implémenter les modifications apportées,

[email protected]:~$ sudo systemctl restart bind9
[email protected]:~$ sudo systemctl enable bind9

Remarque :- Si le pare-feu du système d'exploitation s'exécute sur votre serveur de liaison, exécutez la commande ci-dessous pour autoriser le port 53

[email protected]:~$ sudo ufw allow 53
Rule added
Rule added (v6)
[email protected]:~$

Validation de la syntaxe de la configuration bind9 et des fichiers de zone

Si vous souhaitez vérifier la syntaxe de votre fichier de configuration bind 9 (nommé.conf.local). Utilisez la commande "named-checkconf ", l'exemple est illustré ci-dessous :

[email protected]:~$ sudo named-checkconf /etc/bind/named.conf.local
[email protected]:~$

S'il n'y a pas d'erreur de syntaxe dans votre fichier de configuration de liaison, il devrait retourner au shell sans afficher aucune erreur.

Pour vérifier la syntaxe de vos fichiers de zone de recherche directe et inversée, utilisez la commande "named-checkzone ", l'exemple est illustré ci-dessous :

[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/forward.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 6
OK
[email protected]:~$
[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/reverse.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 21
OK
[email protected]:~$

Tester le serveur DNS avec dig &nslookup

Pour tester notre serveur DNS BIND 9, nous utiliserons une autre machine Ubuntu et modifierons son DNS pour indiquer notre serveur DNS. Pour changer de serveur DNS, ouvrez '/etc/resol.conf ‘ &faites l'entrée DNS suivante,

[email protected]:~$ sudo vi /etc/resolv.conf
search linuxtechi.local
nameserver 192.168.0.40

enregistrez le fichier et quittez. Nous avons maintenant notre client prêt avec DNS pointant vers notre serveur. Nous allons maintenant utiliser un outil CLI appelé "dig ' commande , qui est utilisée pour découvrir le DNS et ses informations associées. Exécutez la commande suivante depuis le terminal,

[email protected]:~$ dig primary.linuxtechi.local

&nous devrions obtenir la sortie suivante de la commande,

Cette sortie montre que notre DNS fonctionne correctement.

Faisons une requête de recherche inversée (PTR) :

[email protected]:~$ dig -x 192.168.0.40

La sortie de la commande devrait être quelque chose comme ci-dessous :

Nous pouvons également exécuter 'nslookup ' commande contre notre serveur DNS pour confirmer la sortie de la commande dig,

[email protected]:~$ nslookup primary.linuxtechi.local

&il devrait produire la sortie suivante,

Remarque :- Lors de l'exécution de la commande dig, si vous obtenez l'erreur "commande introuvable", nous devons installer le package "dnsutils" car la commande dig fait partie du package "dnsutils",

[email protected]:~$ sudo apt-get install dnsutils -y

Maintenant que notre serveur fonctionne correctement, nous pouvons ajouter d'autres serveurs comme le serveur de messagerie, le serveur ftp ou les serveurs Web aux fichiers de configuration du serveur DNS en créant les enregistrements appropriés selon les besoins. De plus, nous n'avons configuré qu'un serveur DNS local dans ce didacticiel. Si vous devez configurer un DNS public, vous aurez besoin d'une adresse IP publique pour le même.

Avec cela, nous terminons notre didacticiel sur l'installation et la configuration du serveur DNS sur Ubuntu/Debian à l'aide de BIND 9. Veuillez nous envoyer vos précieux commentaires/requêtes, nous serons heureux de toutes les traiter.

Lire aussi  : Comment installer et configurer Webmin sur Debian / Ubuntu


Ubuntu
  1. Comment installer et configurer un serveur NFS sur Ubuntu 20.04

  2. Comment installer et configurer VNC sur Ubuntu 20.04

  3. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  4. Comment installer et configurer le serveur Redis dans Ubuntu

  5. Comment installer et configurer un serveur DNS simple (BIND) sur Debian 9

Comment installer et configurer DNS sur Ubuntu

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Installer et configurer Virtualmin sur le serveur Ubuntu 20.04 / Debian 10

Comment installer et configurer le serveur DNS sur Ubuntu 16.04 LTS