GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer Bind pour configurer votre serveur DNS ?

Si vous êtes un lecteur régulier de Techglimpse, vous avez peut-être lu nos articles précédents sur le DNS, ses types, son fonctionnement, la différence entre les serveurs faisant autorité et les serveurs récursifs. Nous vous avons également montré comment identifier l'adresse IP du serveur DNS configurée sur vos machines Windows et Linux et comment analyser la vitesse de différents serveurs DNS à l'aide de l'outil d'analyse comparative appelé namebench. Aujourd'hui, je vais vous montrer comment installer et configurer Bind sur vos machines Linux.

Ce tutoriel montrera la configuration de base du serveur DNS à l'aide de bind. Bind est un package gratuit qui vous permet de configurer un serveur DNS. La configuration de base de bind consommera 200 Mo de votre RAM et soyez prêt à en configurer davantage lorsque le serveur entrera en production (pendant que vous ajoutez plus de zones et lorsque le serveur reçoit plus de requêtes).

Considérez la configuration de base ci-dessous,

One machine for setting up the DNS server - I am going to call this machine as 10.180.8.115.

Exemple de domaine ou de zone – Techglimpse.com (10.180.3.74) pour tester la configuration

Authoritative Name server for techglimpse.com will be called as ns1.techglimpse.com

Des exemples de sous-domaines de techglimpse.com sont ftp, www, mail.

Télécharger et installer Bind

Sur les machines basées sur Debian,

apt-get install bind9 dnsutils

Sur les machines basées sur CentOs/Fedora,

yum install bind dnsutils

Remarque :Bind est le serveur DNS, tandis que dnsutils contient quelques commandes liées au DNS pour les tests et le dépannage. Par exemple, creusez.

Créer un fichier de zone pour le domaine

Comme je l'ai dit plus tôt, notre exemple de domaine sera techglimpse.com. Nous allons donc créer un fichier de zone pour ce domaine. Pour ce faire, créons un répertoire pour stocker les fichiers de zone.

cd /var/named
mkdir -p zones/master
cd zones/master/

Remarque :Mon répertoire de liaison est "/var/named", mais cela peut changer dans votre configuration. Par exemple, /etc/named, /etc/bind etc…

Il est maintenant temps de créer un fichier de zone pour techglimpse.com. La zone sera nommée "db.techglimpse.com ” qui contiendra des enregistrements DNS tels que A, MX, CNAME etc…

vi /var/named/zones/master/db.techglimpse.com

Collez le code ci-dessous,

;
; BIND data file for techglimpse.com
;
$TTL 3h
@ IN SOA ns1.techglimpse.com. admin.techglimpse.com. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
@ IN NS ns1.techglimpse.com.
techglimpse.com. IN MX 10 mail.techglimpse.com.
techglimpse.com. IN A 10.180.3.74
ns1 IN A 10.180.3.74
www IN CNAME techglimpse.com.
mail IN A 10.180.3.74
ftp IN CNAME techglimpse.com.

Remarque :Pour configurer des zones, vous devez créer un fichier de zone similaire pour chaque domaine que vous souhaitez résoudre via votre serveur DNS. Apportez les modifications nécessaires à l'exemple de fichier de zone ci-dessus.

Un coup d'œil rapide sur le fichier de zone :

* Enregistrement SOA - Il fait référence au serveur de noms faisant autorité de techglimpse.com en tant que ns1.techglimpse.com et admin.techglimpse.com fait référence à l'adresse e-mail de l'administrateur du serveur DNS.

* NS Records :techglimpse.com a un serveur de noms ns1.techglimpse.com. Normalement, les domaines auront au moins deux serveurs de noms pour une haute disponibilité. Pour la démonstration, j'ai nommé un seul serveur de noms.

* MX (Mail Exchange) :enregistrement d'échange de courrier techglimpse.com.

* Enregistrement CNAME :nom canonique.

D'accord! Quoi que nous ayons fait maintenant, c'est pour le mappage nom-adresse. Créons maintenant le mappage adresse-nom.

Configurer le mappage de l'adresse au nom :

Nous avons configuré la résolution du serveur DNS en adresse IP lorsque le domaine est interrogé. Maintenant, nous devrions dire au serveur de faire également une recherche inversée. Je veux dire, de l'IP au domaine.

vi /var/named/zones/master/db.10.180.3

Collez le code ci-dessous,

;
; BIND reverse data file for 3.180.10.in-addr.arpa
;
$TTL 604800
3.180.10.in-addr.arpa. IN SOA ns1.techglimpse.com. admin.techglimpse.com. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day
;
3.180.10.in-addr.arpa. IN NS ns1.techglimpse.com.
74.3.180.10.in-addr.arpa. IN PTR techglimpse.com.

Ici, 74.3.180.10 est l'adresse inverse de 10.180.3.74. Notez également le nom du fichier.

* Enregistrement PTR :Associe l'adresse IP au nom de domaine.

Configurer named.conf pour lire les fichiers de zone

Nous devrions configurer named.conf pour référencer les fichiers de zone nouvellement créés.

/var/named/zones/master/db.techglimpse.com
/var/named/zones/master/db.10.180.3

Dans ma machine, le named.conf se trouve sous /etc/. Cependant, cela peut changer sur votre machine ; par exemple :/etc/named/named.conf, /etc/bind/named.conf.

vi /etc/named.conf

Copiez et collez les textes ci-dessous

zone "techglimpse.com" {
type master;
file "/var/named/zones/master/db.techglimpse.com";
};

zone "3.180.10.in-addr.arpa" {
type master ;
fichier "/var/named/zones/master/db.10.180.3" ;
} ;

Remarque :Apportez les modifications nécessaires pour refléter le domaine réel et ses emplacements de fichiers de zone.

Vérifiez l'exactitude du fichier de configuration à l'aide de la commande ci-dessous.

named-checkconf

Vérifiez les fichiers de zone pour toute erreur à l'aide de la commande ci-dessous

named-checkzone

Par exemple

named-checkzone techglimpse.com /var/named/zones/master/db.techglimpse.com
zone techglimpse.com/IN: loaded serial 1
OK
named-checkzone 3.180.10.in-addr.arpa /var/named/zones/master/db.10.180.3
zone 3.180.10.in-addr.arpa/IN: loaded serial 1
OK

Si la commande ci-dessus répond avec le statut OK, alors vous pouvez continuer avec les étapes ci-dessous, sinon revérifiez les fichiers de configuration pour toute erreur.

Démarrer le serveur Bind

/etc/init.d/bind9 start

ou

/etc/init.d/named start

S'il y a des erreurs, vous devriez les voir lors du démarrage des démons named ou bind9.

Tester la configuration

Si vous vous en souvenez, j'ai suggéré d'installer dnsutils, qui installera une commande appelée "dig".

dig @10.180.8.115 techglimpse.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 techglimpse.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45562
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; SECTION DES QUESTIONS :
;techglimpse.com. DANS UN

;; SECTION DE RÉPONSE :
techglimpse.com. 10800 DANS UN 10.180.3.74

;; SECTION AUTORITÉ :
techglimpse.com. 10800 IN NS ns1.techglimpse.com.

;; SECTION SUPPLÉMENTAIRE :
ns1.techglimpse.com. 10800 DANS UN 10.180.3.74

;; Temps de requête :2 ms
 ; SERVEUR :10.180.8.115#53(10.180.8.115)
 ; ; QUAND :Mar 15 octobre 12:42:50 2013
;; TAILLE MSG reçu :83

Tester la résolution IP vers hôte,

dig @10.180.8.115 -x 10.180.3.74
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 -x 10.180.3.74
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47357
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; SECTION DES QUESTIONS :
;74.3.180.10.in-addr.arpa. EN PTR

;; SECTION DE RÉPONSE :
74.3.180.10.in-addr.arpa. 604800 EN PTR techglimpse.com.

;; SECTION AUTORITÉ :
3.180.10.in-addr.arpa. 604800 IN NS ns1.techglimpse.com.

;; SECTION SUPPLÉMENTAIRE :
ns1.techglimpse.com. 10800 DANS UN 10.180.3.74

;; Temps de requête :2 ms
 ; SERVEUR :10.180.8.115#53(10.180.8.115)
 ; ; QUAND :Mar 15 octobre 12:44:30 2013
;; TAILLE MSG reçu :105

Remarque :Le premier argument indique à la commande dig de résoudre à l'aide du serveur DNS (10.180.8.115 ; que nous avons installé maintenant) et le deuxième argument est le nom de domaine/IP en question.

C'est ça. Vous avez configuré le Bind avec succès.

Lire aussi : Devez-vous activer la récursivité sur votre DNS ? C'est vulnérable !

A lire également : Comment masquer le nom du logiciel du serveur DNS et sa version ? [Sécurité DNS]

Lire également : Comment activer la journalisation du serveur DNS BIND pour surveiller les requêtes et pour le dépannage ?


Linux
  1. Comment installer et configurer le serveur d'accès OpenVPN

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

  3. Comment installer et configurer le serveur et le client Linux NTP

  4. CentOS / RHEL 5 :Comment installer et configurer le serveur vsftpd

  5. Comment installer et configurer Kerberos dans CentOS/RHEL 7

Comment installer et configurer le serveur Sandstorm sur CentOS 8

Comment installer et configurer Privoxy Server sur CentOS 8

Comment installer et configurer un serveur de base de données sur Jelastic Cloud

Comment installer et configurer un serveur TeamSpeak sur Ubuntu 18.04

Comment installer et configurer un serveur Minecraft sur Ubuntu 18.04

Comment installer et configurer le serveur DNS sous Linux