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

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

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 7 / RHEL 7.

Environnement

Nom du serveur : ns1itzgeek.local

Adresse IP : 192.168.0.10

Installer DNS (BIND)

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 DNS (BIND)

Par défaut, BIND écoute sur l'hôte local. Nous allons donc configurer le serveur DNS pour qu'il écoute l'adresse IP du système afin de permettre aux clients d'accéder au serveur DNS pour résoudre les noms de domaine.

vi /etc/named.conf

Écouter sur toutes les adresses IP :

Configurez BIND pour é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 :

Configurez BIND pour écouter 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. Ce paramètre permettra aux clients du réseau mentionné d'interroger le DNS pour la traduction du nom en IP.

J'ai ajouté 192.168.0.0/24 pour cette démo.

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

Créer des zones

Modifier /etc/named.conf.

vi /etc/named.conf

Zone avant

La zone suivante est l'entrée de zone de transfert pour le domaine itzgeek.local.

zone "itzgeek.local" IN {
         
         type master;
        
         file "/var/named/itzgeek.local.db";

         allow-update { none; };
};

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

Zone Inversée

La zone suivante est l'entrée de zone inverse.

zone "0.168.192.in-addr.arpa" IN {
          
          type master;
          
          file "/var/named/192.168.0.db";
         
          allow-update { 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 principal, il ne devrait en être aucun

Créer des fichiers de zone

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é fwd.itzgeek.local.db pour la recherche directe sous le répertoire /var/named. Tous les noms de domaine doivent se terminer par un point (.).

vi /var/named/itzgeek.local.db

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

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 le fichier de recherche de zone, vous devez modifier/incrémenter le numéro de série comme 1002 ;Serial.

Créez un fichier de zone appelé 192.168.0.db pour la zone inverse sous /var/répertoire nommé.

vi /var/named/192.168.0.db

Créez un pointeur inversé pour les entrées de zone de transfert que nous avons créées précédemment.

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 le fichier de recherche de zone, vous devez modifier/incrémenter le numéro de série comme 1002 ;Serial.

Une fois les fichiers de zone créés, redémarrez le service de liaison.

systemctl restart named

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

systemctl enable named

Pare-feu

Ajoutez une règle d'autorisation dans le pare-feu pour permettre aux clients de se connecter au serveur DNS pour la résolution de noms.

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

firewall-cmd --reload

Vérifier les zones

Visitez n'importe quelle machine cliente et ajoutez une adresse IP de serveur DNS dans /etc/resolv.conf.

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.

systemctl restart NetworkManager

Utilisez la commande suivante pour vérifier la recherche directe.

dig www.itzgeek.local

Sortie : Le serveur DNS doit donner 192.168.0.100 comme IP pour www.itzgeek.local.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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      primary.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: Wed Jul 03 02:00:40 EDT 2019
;; MSG SIZE  rcvd: 100
Installez le package yum install -y bind-utils des utilitaires BIND pour obtenir la commande nslookup ou dig.

Confirmez la recherche inversée.

dig -x 192.168.0.100

Sortie : Le serveur DNS donne www.itzgeek.local comme nom pour 192.168.0.100.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: Wed Jul 03 02:02:47 EDT 2019
;; MSG SIZE  rcvd: 124

Il est maintenant confirmé que les recherches directes et inversées fonctionnent correctement.

Conclusion

C'est tout. Vous avez installé avec succès BIND sur CentOS 7 / RHEL 7 en tant que serveur maître. Vous pouvez configurer un serveur DNS esclave pour la redondance.


Cent OS
  1. Comment installer le serveur DNS sur RHEL 8 / CentOS 8 Linux

  2. Configurer DNS sur CentOS 5 / RHEL 5 avec chroot

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

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

  5. Comment configurer des serveurs DNS privés avec BIND sur CentOS 8

Comment configurer le serveur DNS esclave (BIND) sur Ubuntu 18.04/16.04 et Debian 10/9

Comment configurer le serveur DNS sur Debian 10 / Debian 9

Comment configurer le serveur DNS sur Ubuntu 18.04 / Ubuntu 16.04

Comment configurer FirewallD dans RHEL, CentOS et Fedora

Comment configurer le serveur VNC sur CentOS/RHEL 6

Comment installer et configurer VNC Server sur CentOS/RHEL 8