GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer le serveur DNS (BIND) sur CentOS 8 / RHEL 8

Le système de noms de domaine (DNS) est un système de nommage distribué hiérarchique pour les ordinateurs, les services ou toute ressource connectée à Internet ou à un réseau privé. Il associe diverses informations aux noms de domaine attribués à chacune des entités participantes.

Plus important encore, il traduit les noms de domaine significatifs pour les humains en identifiants numériques associés aux équipements réseau dans le but de localiser et d'adresser ces appareils dans le monde entier.

Ce guide vous aidera à configurer le serveur DNS sur CentOS 8 / RHEL 8.

Hypothèses

Nom d'hôte : ns1.itzgeek.local

Adresse IP : 192.168.0.10

Installer le serveur DNS

BIND signifie Berkeley Internet Name Domain, un logiciel qui permet d'effectuer une conversion de nom en IP.

yum -y install bind bind-utils

Configurer le serveur DNS

Le fichier de configuration principal de BIND est /etc/named.conf. Nous allons utiliser ce fichier pour configurer le serveur DNS et définir la zone DNS.

Par défaut, BIND écoute sur l'hôte local. Nous allons donc configurer les serveurs DNS pour écouter sur toutes les interfaces réseau ou une interface particulière.

Modifiez le fichier /etc/named.conf.

vi /etc/named.conf

Commentez la ligne suivante. Cela permettra à BIND d'écouter les interfaces réseau du système autres que l'hôte local.

Écouter sur toutes les adresses IP :

//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };

Écouter sur une adresse IP particulière :

listen-on port 53 { 127.0.0.1; 192.168.0.10; };

Ajoutez votre réseau dans la ligne suivante. J'ai ajouté 192.168.0.0/24 pour permettre aux clients du réseau 192.168.0.0/24 d'interroger le serveur DNS pour la traduction du nom en ip.

allow-query     { localhost;192.168.0.0/24; };

Créer des zones

Modifiez le fichier /etc/named.conf.

vi /etc/named.conf

Zone avant

Voici l'entrée de zone de transfert dans le fichier named.conf, écrite pour le domaine itzgeek.local.

zone "itzgeek.local" IN { // Domain Name
           
           type master;  // Master DNS Server

           file "itzgeek.local.db";  // Zone File (/var/named/)

           allow-update { none; };  // Since master DNS, it is none

};

itzgeek.local – Nom de domaine
maître – DNS principal
itzgeek.local.db – Fichier de recherche directe
autoriser la mise à jour – Puisqu'il s'agit du DNS maître, il ne devrait en être aucun

Zone inversée

Voici l'entrée de zone inversée dans le fichier named.conf.

zone "0.168.192.in-addr.arpa" IN { // Reverse Zone Name, should match with network in reverse order
             
             type master;  // Master DNS Server
             
             file "192.168.0.db";  // Zone File (/var/named/) 
             
             allow-update { none; }; // Since master DNS, it is none
 
};

0.168.192.in-addr.arpa – Nom de recherche inversée
maître – DNS principal
192.168.0.db – Fichier de recherche inversée
autoriser la mise à jour – Puisqu'il s'agit du DNS maître, il ne devrait en être aucun

Créer des fichiers de zone

Il est maintenant temps de créer un fichier de recherche pour une zone créée. Par défaut, les fichiers de recherche de zone sont placés dans le répertoire /var/named. Créez un fichier de zone appelé itzgeek.local.db pour la recherche directe sous /var/named directory.

Tous les noms de domaine doivent se terminer par un point (.).

Zone avant

Il existe des mots clés spéciaux pour les fichiers de zone

Créez un fichier.

vi /var/named/itzgeek.local.db

A – Unenregistrement
NS – Serveur de noms
MX – Courrier pour échange
CNAME– Nom canonique

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)

;Name Server Information
@       IN  NS      ns1.itzgeek.local.

;IP address of Name Server
ns1       IN  A       192.168.0.10

;Mail exchanger
itzgeek.local. IN  MX 10   mail.itzgeek.local.

;A - Record HostName To Ip Address
www     IN  A       192.168.0.100
mail    IN  A       192.168.0.150

;CNAME record
ftp     IN CNAME        www.itgeek.local.

Chaque fois que vous mettez à jour les fichiers de zone pour la mise à jour de l'enregistrement DNS, n'oubliez pas d'incrémenter le numéro de série.

Zone inversée

Créez un fichier de zone appelé 192.168.0.db pour la zone inverse sous le répertoire /var/named, créez un pointeur inverse vers les entrées de zone avant ci-dessus.

vi /var/named/192.168.0.db

PTR – Pointeur
SOA – Début de l'autorité

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)

;Name Server Information
@         IN      NS         ns1.itzgeek.local.

;Reverse lookup for Name Server
10        IN  PTR     ns1.itzgeek.local.

;PTR Record IP address to HostName
100      IN  PTR     www.itzgeek.local.
150      IN  PTR     mail.itzgeek.local.

Chaque fois que vous mettez à jour les fichiers de zone pour la mise à jour de l'enregistrement DNS, n'oubliez pas d'incrémenter le numéro de série.

Valider la configuration du serveur DNS

Utilisez la commande named-checkconf pour valider le fichier de configuration.

named-checkconf /etc/named.conf

Si vous ne voyez aucune erreur, alors vous êtes prêt à partir.

Validez le fichier de zone de transfert que vous avez créé avec la commande ci-dessous.

named-checkzone itzgeek.local /var/named/itzgeek.local.db

itzgeek.localNom de domaine

/var/named/itzgeek.local.dbChemin vers un fichier de zone

Sortie :

zone itzgeek.local/IN: loaded serial 3
OK
Le numéro de série mentionné dans la sortie doit correspondre au numéro de série dans les fichiers de zone.

Faites de même pour la zone inversée.

named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.db

Sortie :

zone 0.168.192.in-addr.arpa/IN: loaded serial 3
OK

Démarrer le service DNS

Une fois que vous avez validé les configurations DNS, redémarrez le service de liaison.

systemctl restart named

Activez-le au démarrage du système.

systemctl enable named

Mise à jour des enregistrements DNS

Chaque fois que vous modifiez un enregistrement DNS, n'oubliez pas de modifier le numéro de série dans le fichier de zone et de recharger la zone.

Changez itzgeek.local &0.168.192.in-addr.arpa avec vos noms de zone.

### Forward Zone ###

rndc reload itzgeek.local

### Reverse Zone ###

rndc reload 0.168.192.in-addr.arpa

Pare-feu

Ajoutez une règle de pare-feu pour autoriser les requêtes DNS à partir des machines clientes.

firewall-cmd --permanent --add-port=53/udp

firewall-cmd --reload

Vérifier le serveur DNS

Visitez n'importe quelle machine cliente et ajoutez l'adresse IP d'un serveur DNS dans /etc/resolv.conf si Network Manager ne gère pas le réseau.

nameserver 192.168.0.10

Si Network Manager gère la mise en réseau, placez l'entrée suivante dans le fichier /etc/sysconfig/network-scripts/ifcfg-eXX.

DNS1=192.168.0.10

Redémarrez le service réseau.

service network restart

OR

systemctl restart NetworkManager

Utilisez la commande suivante pour vérifier la recherche directe, où le serveur DNS donne 192.168.0.100 comme IP pour www.itzgeek.local .

dig www.itzgeek.local

Sortie :

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42679
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 99d94df91828bc8e957709ec5e13f9cd0c242970a9488a91 (good)
;; QUESTION SECTION:
;www.itzgeek.local.             IN      A

;; ANSWER SECTION:
www.itzgeek.local.      86400   IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          86400   IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      86400   IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:53:56 IST 2020
;; MSG SIZE  rcvd: 124
Installez le package bind-utils pour obtenir la commande nslookup ou dig.

Confirmez la recherche inversée, où le serveur DNS donne www.itzgeek.local comme nom pour 192.168.0.100 . Il est maintenant confirmé que les recherches directes et inversées fonctionnent correctement.

dig -x 192.168.0.100

Sortie :

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43305
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: d36aa24edb88f8951b3fbf8c5e13fa2cbf0e3ed754a00eee (good)
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 86400 IN    PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400   IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      86400   IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:55:30 IST 2020
;; MSG SIZE  rcvd: 148

Conclusion

C'est tout. Vous avez installé avec succès BIND sur CentOS 8 / RHEL 8 en tant que serveur maître. Dans notre prochain article, nous verrons comment configurer un serveur DNS esclave sur CentOS 8 / RHEL 8.


Cent OS
  1. Configurer DNS sur CentOS 5 / RHEL 5 avec chroot

  2. Comment configurer le serveur DNS sur CentOS 5 / RHEL 5

  3. Comment configurer le DNS esclave (BIND) sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur DNS (liaison) sur CentOS/RHEL 7/6/5

  5. Comment configurer le serveur et le client NTP dans CentOS / RHEL 7

Comment installer et configurer le serveur VNC dans CentOS 7 / RHEL 7

Comment configurer le serveur DNS (BIND) sur CentOS 7 / RHEL 7

Comment configurer l'adresse IP dans CentOS 7 / RHEL 7 et CentOS 6 / RHEL 6

Comment configurer le serveur DNS (BIND) sur CentOS 8 / RHEL 8

Comment configurer le serveur VNC sur CentOS/RHEL 6

Comment installer et configurer VNC Server sur CentOS/RHEL 8