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

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

BIND, également connu sous le nom de "Berkeley Internet Name Domain", est l'un des systèmes de noms de domaine (DNS) les plus populaires aujourd'hui. Il est open-source et fournit des services DNS sur les systèmes d'exploitation Linux. Généralement, il vous aide à résoudre un nom de domaine complet en une adresse IP ou une adresse IP en un nom de domaine. Il peut être utilisé comme serveur de noms faisant autorité et fournit plusieurs fonctionnalités telles que l'équilibrage de charge, la mise à jour dynamique, le DNS fractionné, etc.

Dans ce tutoriel, nous allons vous montrer comment configurer un serveur DNS privé avec BIND sur CentOS 8. Sur une note connexe, jetez un œil à notre tutoriel sur l'installation et la configuration d'un serveur DNS simple (BIND) sur Debian 9.

Prérequis

  • Un VPS CentOS 8 (nous utiliserons notre plan SSD 2 VPS)
  • Accès au compte utilisateur root (ou accès à un compte administrateur avec privilèges root)

Pour les besoins de ce didacticiel, nous utiliserons la configuration suivante :

Nom d'hôte : ns1.rosehosting.local
Adresse IP : 192.168.1.100
Réseau local : 192.168.1.0/24

Étape 1 :Connectez-vous au serveur et mettez à jour les packages du système d'exploitation du serveur

Tout d'abord, connectez-vous à votre serveur CentOS 8 via SSH en tant qu'utilisateur root :

ssh root@IP_Address -p Port_number

Vous devrez remplacer 'IP_Address' et 'Port_number' par l'adresse IP et le numéro de port SSH respectifs de votre serveur. De plus, remplacez "root" par le nom d'utilisateur du compte administrateur si nécessaire.

Avant de commencer, vous devez vous assurer que tous les packages CentOS installés sur le serveur sont à jour. Vous pouvez le faire en exécutant les commandes suivantes :

dnf update -y

Étape 2 :Installer le serveur DNS BIND

Par défaut, le package de liaison est disponible dans le référentiel standard CentOS 8. Vous pouvez l'installer en exécutant la commande suivante :

dnf install bind bind-utils -y

Une fois le BIND installé, démarrez le service BIND et activez-le pour qu'il démarre au redémarrage du système :

systemctl start named
systemctl enable named

Étape 3 :Configurer le serveur DNS BIND

Par défaut, le serveur BIND écoute uniquement sur localhost. Vous devrez donc le configurer pour écouter sur toutes les interfaces réseau. Vous pouvez le configurer en éditant le fichier /etc/named.conf :

nano /etc/named.conf

Commentez les lignes suivantes :

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

Modifiez la ligne suivante pour autoriser la requête pour votre réseau local :

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 4 :Créer une zone DNS directe et inverse

Une zone directe est utilisée pour résoudre le nom d'hôte en adresse IP tandis qu'une zone inverse est utilisée pour résoudre l'adresse IP en nom d'hôte. Généralement, toutes les requêtes DNS normales sont des requêtes de recherche directe. Vous pouvez définir les zones de recherche directe et inversée dans le fichier /etc/named.conf.

Modifiez le fichier /etc/named.conf avec la commande suivante :

nano /etc/named.conf

Ajoutez les lignes suivantes à la fin du fichier

//Forward Zone
zone "rosehosting.local" IN { 

           type master;  
           file "rosehosting.local.db"; 
           allow-update { none; };  

};

//Reverse Zone
zone "1.168.192.in-addr.arpa" IN { 

             type master;  
             file "192.168.1.db";             
             allow-update { none; };

};

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 5 :Créer des fichiers de zone avant et arrière

Ensuite, vous devrez créer des fichiers de zone avant et arrière définis à l'étape précédente. Par défaut, tous les fichiers de recherche de zone se trouvent dans le répertoire /var/named.

Commencez par créer un fichier de zone de transfert avec la commande suivante :

nano /var/named/rosehosting.local.db

Ajoutez les lignes suivantes :

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

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

;IP address of Name Server
ns1       IN  A       192.168.1.100

;A - Record HostName To Ip Address
www     IN  A       192.168.1.101

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

Enregistrez et fermez le fichier puis créez un fichier de zone inversée avec la commande suivante :

nano /var/named/192.168.1.db

Ajoutez les lignes suivantes :

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

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

;Reverse lookup for Name Server
100       IN  PTR     ns1.rosehosting.local.

;PTR Record IP address to HostName
101      IN  PTR     www.rosehosting.local.

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 6 :Vérifier la configuration DNS

Après avoir configuré tous les fichiers de zone, vous devrez vérifier les fichiers de configuration.

Tout d'abord, validez le fichier de configuration principal avec la commande suivante :

named-checkconf /etc/named.conf

Si tout va bien, vous ne verrez aucune erreur.

Ensuite, vérifiez le fichier de zone de transfert avec la commande suivante :

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

Vous devriez obtenir le résultat suivant :

zone rosehosting.local/IN: loaded serial 3
OK

Ensuite, vérifiez le fichier de zone inversée avec la commande suivante :

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

Vous devriez obtenir le résultat suivant :

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

Enfin, redémarrez le service BIND pour appliquer les modifications :

systemctl restart named

Étape 7 :Configurer le pare-feu

Ensuite, vous devrez créer une règle de pare-feu pour le port 53 afin d'autoriser les requêtes DNS des machines clientes. Vous pouvez le créer avec la commande suivante :

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

Ensuite, rechargez le service de pare-feu pour appliquer les modifications :

firewall-cmd --reload

Étape 8 :Vérifier le serveur DNS

À ce stade, le serveur DNS BIND est installé et configuré. Il est temps de vérifier si cela fonctionne ou non.

Tout d'abord, éditez votre fichier /etc/resolv.conf et ajoutez l'IP de votre serveur DNS :

nano /etc/resolv.conf

Ajoutez la ligne suivante au début du fichier :

nameserver 192.168.1.100

Enregistrez et fermez le fichier, puis vérifiez la recherche directe à l'aide de la commande dig :

dig www.rosehosting.local 

Ou

dig ns1.rosehosting.local

Si tout va bien, vous devriez obtenir la réponse suivante :

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.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: 52518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
www.rosehosting.local.    86400   IN  A   192.168.1.101

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

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:24 EST 2020
;; MSG SIZE  rcvd: 128

Ensuite, vérifiez la recherche inversée avec la commande suivante :

dig -x 192.168.1.100

Vous devriez obtenir la réponse suivante :

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
100.1.168.192.in-addr.arpa. 86400 IN    PTR ns1.rosehosting.local.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:43 EST 2020
;; MSG SIZE  rcvd: 148

Toutes nos félicitations! vous avez configuré avec succès un serveur DNS privé avec BIND sur CentOS 8.

Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de le configurer pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS . Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


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. Configurer le serveur DHCP sur CentOS 8 - Comment faire ?

  4. Comment configurer le fuseau horaire sur CentOS 7

  5. Comment configurer un serveur de messagerie avec PostfixAdmin sur CentOS 7

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

Comment configurer facilement un serveur de messagerie complet sur CentOS 7 avec iRedMail

Configurer la zone de stratégie de réponse (RPZ) dans BIND Resolver sur CentOS/RHEL

Comment configurer facilement un serveur de messagerie complet sur CentOS 8 avec iRedMail

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer un serveur TeamSpeak sur CentOS 7