Configurez le serveur DNS maître-esclave à l'aide d'outils «Bind» dans RHEL / CENTOS 6.5

Configurez le serveur DNS maître-esclave à l'aide d'outils «Bind» dans RHEL / CENTOS 6.5

Serveur de noms de domaine (DNS) Utilisé pour la résolution de nom à tous les hôtes. Serveurs Master DNS (Serveur principal) sont les gestionnaires de données de zone d'origine et le serveur DNS d'esclaves (Serveur secondaire) ne sont que des serveurs de sauvegarde qui sont utilisés pour copier les mêmes informations de zone à partir des serveurs maîtres. Master Server résoudra les noms de tous les hôtes que nous avons définis dans la base de données de zone et utilisera le protocole UDP, car les protocoles UDP n'utilisent jamais le processus de reconnaissance tandis que TCP utilise la reconnaissance. Les serveurs DNS utilisent également des protocoles UDP pour résoudre la demande de requête au plus tôt.

Configuration du maître esclave DNS dans rhel / centos 6.5

Comment fonctionne DNS?

Comprendre le DNS pourrait être peu déroutant pour les débutants. Voici une brève explication sur le fonctionnement du DNS.

Disons, si nous devons accéder à n'importe quel site Web, ce que nous ferons? Just Type www.Google.com dans le navigateur et appuyez sur Entrée. Hmm c'est tout ce que nous savons, mais le fait est de savoir comment la douleur DNS le traverse, tout en interrogeant pour nous. Pendant que nous tapons www.Google.com le système recherchera www.Google.com. Chaque fois que nous tapons un nom de domaine, il y a un . (point) à la fin du www.Google.com que dire pour rechercher le serveur racine de l'espace de noms.

À l'échelle mondiale, il y a 13 serveurs racine Disponible pour résoudre la requête. Au début, pendant que nous appuyons sur Entrée en tant que www.Google.com notre navigateur transmettra une demande à notre résolveur local, qui a une entrée sur nos informations de serveur DNS Master and Slave. S'ils n'ont pas d'informations sur une telle requête demandée, ils passeront la demande au domaine de niveau supérieur (TLD), si tld dise que je ne connais pas la demande, peut être le serveur faisant autorité connaît votre demande, elle sera transmise aux serveurs faisant autorité, ici seulement www.Google.com a été défini comme l'adresse 72.36.15.56.

Dans le temps moyen, le serveur faisant autorité donnera la réponse à TLD et TLD passera au serveur racine et la racine fournira les informations au navigateur, donc le navigateur mettra en cache la demande DNS pour une utilisation future. Ainsi, ces longs processus se résoudront avec des millisecondes. S'ils ne connaissent pas la demande, ils répondront comme nxdomain. Cela signifie qu'il n'y a aucun enregistrement dans la base de données de zone. J'espère que cela vous fait comprendre comment fonctionne le DNS.

Lire aussi: Configuration du serveur de cache DNS dans Ubuntu

Mon environnement de test

Pour cet article, j'utilise 3 machines, 2 pour la configuration du serveur (maître et esclave) et 1 pour le client.

--------------------------------------------------- Master DNS Server --------------------------------------------------- Adresse IP: 192.168.0.200 noms hôtes: Masterdns.ténineux.com OS: Centos 6.5 final 
--------------------------------------------------- Serveur DNS esclave --------------------------------------------------- Adresse IP: 192.168.0.201 hôte: esclaves.ténineux.com OS: Centos 6.5 final 
--------------------------------------------------- Machine client pour utiliser DNS --------------------------------------------------- Adresse IP: 192.168.0.210 Nom hôte: Node1.ténineux.com OS: Centos 6.5 final 
Forfaits d'exigences
lier, lier-utils, lib-chroot 
Fichiers de configuration utilisés
Fichier de configuration: / etc / nommé.Fichier de script Conf: / etc / init.d / nommé 
Port et protocoles utilisés
53, UDP

Configuration du serveur DNS Master

Tout d'abord, vérifiez l'adresse IP, le nom d'hôte et la version de distribution du serveur Master DNS, avant de progresser pour la configuration.

$ sudo ifconfig | grep inet $ hostname $ cat / etc / redhat-libérer 
Vérifiez la configuration du maître

Une fois, vous confirmez que les paramètres ci-dessus sont corrects, il est temps d'aller de l'avant pour installer les packages requis.

$ sudo yum install bind * -y 
Installer le package de liaison

Installation et configuration de liaison

Après avoir installé les packages requis, définissez maintenant les fichiers de zone dans la configuration maître 'nommé.confli' déposer.

$ sudo vim / etc / nommé.confli 

Donné ci-dessous est mon nommé.confli Entrée de fichier, modifiez le fichier de configuration selon vos besoins.

// // nommé.Conf // // fourni par le package Red Hat Bind pour configurer le serveur DNS // DNS // ISC Bind (8) comme un serveur de noms de mise en cache uniquement (en tant que résolveur DNS localhost uniquement). // // voir / usr / share / doc / lis. // Options écouter le port 53  127.0.0.1; 192.168.0.200; ; # Ici, nous devons ajouter notre IP de serveur DNS Master. Écouter le port 53 :: 1; ; répertoire "/ var / nommé"; Dump-fichier "/ var / nommé / data / cache_dump.db "; statistique-file" / var / nommé / data / nommé_stats.txt "; memstatistics-file" / var / nommé / data / nommé_mem_stats.txt "; allow-query localhost; 192.168.0.0/24; ; # gamme de sous-réseau où mes hôtes sont autorisés à interroger notre DNS. Autoriser le transfert  localhost; 192.168.0.201; ; # Ici, nous avons besoin de notre IP de serveur DNS d'esclaves. Recursion Non; DNSSEC-ENABLE OUI; DNSSEC-validation Oui; DNSSEC-Lookaside Auto; / * Chemin vers la touche DLV ISC * / bindkeys-file "/ etc / nommé.iscdlv.clé "; managed-keys-directory" / var / nommé / dynamic ";; logging canal default_debug fichier" data / nommé.Run "; Severity Dynamic;;; Zone"."Dans type hint; fichier" nommé.ca ";; ## Définissez notre fichier de zone avant et arrière ici pour Tecmintlocal.com. zone"ténineux.com"Dans type maître; fichier"ténineux.FWD.zone"; Autoriser-Update Aucun;;; Zone"0.168.192.indem.arpa"Dans type maître; fichier"ténineux.tour.zone"; Autoriser-Update Aucun;;; ##### Inclure" / etc / Named.RFC1912.zones "; inclure" / etc / nommé.racine.clé"; 
Créer un fichier de zone dans DNS

Voici l'explication de chaque configuration que nous avons utilisée dans le fichier ci-dessus.

  1. Port d'écoute 53 - Ceci est utilisé pour le DNS pour écouter dans les interfaces disponibles.
  2. Maître DNS - Définissez votre adresse IP Master DNS pour écouter la requête.
  3. DNS esclave - Définissez votre DNS d'esclaves, qui est utilisé pour synchroniser les informations de nos zones pour résoudre les hôtes de Master.
  4. Recursion Non - Si c'est réglé sur oui, les requêtes récursives feront du serveur en attaque DDOS.
  5. Nom de zone - Définissez ici le nom de votre zone définie comme tecminlocal.com.
  6. maître de type - Comme ce système a été configuré pour un serveur maître, pour le prochain serveur esclave, ce sera esclave.
  7. ténineux.FWD.zone - Ce fichier a les informations de l'hôte pour cette zone.
  8. Autoriser la mise à jour - Si aucun ne va. Il n'utilisera pas DNS dynamique (DDNS).

Création de fichiers de zone maîtresse

Au début, définissons l'entrée de la zone de recherche vers l'avant. Ici, nous devons créer les fichiers de zone au nom de ce que nous avons définie dans le nommé.confli fichier comme ci-dessous.

ténineux.FWD.zone Tecmintlocal.tour.zone 

Nous utilisons des exemples de fichiers de configuration pour créer des fichiers de zone avant, pour cela, nous devons copier les exemples de fichiers de configuration.

$ sudo cp / var / nommé / nommé.localhost / var / nommé / tecmintlocal.FWD.Zone $ sudo cp / var / nommé / nommé.LOOPBACK / VAR / NAGME / TECMINTLOCAL.tour.zone 
Copier les fichiers de zone

Une fois, vous avez copié des fichiers de configuration, modifiez maintenant ces fichiers de zones en utilisant vigueur éditeur.

$ sudo vim / var / nommé / tecmintlocal.FWD.zone 

Avant de définir les informations de nos hôtes dans le fichier de zone de transfert, jetez d'abord un aperçu du fichier de la zone d'échantillonnage.

Fichier de zone d'échantillonnage

Ceci est ma configuration de zone avant, ajoutez l'entrée ci-dessous et apportez des modifications selon vos besoins.

$ Ttl 86400 @ dans SOA Masterdns.ténineux.com. racine.ténineux.com. (2014090401; série 3600; rafraîchissement 1800; réessayer 604800; expire 86400); le minimum ; Nom Server's @ In ns Masterdns.ténineux.com. @ Dans NS Slavedns.ténineux.com. ; Nom de serveur nom hôte à IP Resolve. @ Dans un 192.168.0.200 @ dans un 192.168.0.201; Hôtes dans ce domaine @ dans un 192.168.0.210 @ dans un 192.168.0.220 Masterdns dans un 192.168.0.200 esclaves dans un 192.168.0.201 node1 dans un 192.168.0.210 RHEL1 dans un 192.168.0.220 

Enregistrer et quitter le fichier en utilisant wq!. Après avoir modifié la recherche vers l'avant, il semble ci-dessous, utilisez LANGUETTE Pour obtenir un format décent dans le fichier de zone.

Configurer la zone avant

Maintenant, créez un fichier de recherche inverse, nous avons déjà fait une copie du fichier de boucle dans le nom de ténineux.tour.zone. Nous utilisons donc ce fichier pour configurer notre recherche inverse.

$ sudo vim / var / nommé / tecmintlocal.tour.zone 

Avant de définir les informations de nos hôtes dans le fichier de zone inverse, envoyez un aperçu rapide de l'exemple de fichier de recherche inverse comme indiqué ci-dessous.

Exemple de zone de recherche inversée

Ceci est ma configuration de zone inversée, ajoutez l'entrée ci-dessous et apportez des modifications comme votre besoin.

$ Ttl 86400 @ dans SOA Masterdns.ténineux.com. racine.ténineux.com. (2014090402; série 3600; actualisation 1800; réessayer 604800; expire 86400); le minimum ; Nom Server's @ In ns Masterdns.ténineux.com. @ Dans NS Slavedns.ténineux.com. @ Dans PTR Tecmintlocal.com. ; Nom de serveur nom hôte à IP Resolve. Masterdns dans un 192.168.0.200 esclaves dans un 192.168.0.201; hôtes dans le nœud de domaine1 dans un 192.168.0.210 rhel dans un 192.168.0.220 200 en Masterdns PTR.ténineux.com. 201 dans PTR Slavedns.ténineux.com. 210 dans PTR Node1.ténineux.com. 220 en PTR RHEL1.ténineux.com. 

Enregistrer et quitter le fichier en utilisant wq!. Après avoir modifié la recherche inverse, il semble ci-dessous, utilisez LANGUETTE Pour obtenir un format décent dans le fichier de zone.

Configurer la zone de recherche inverse

Vérifiez la propriété du groupe des fichiers de recherche et de recherche inversé vers l'avant, avant de vérifier les erreurs de configuration.

$ sudo ls -l / var / nommé / 

Ici, nous pouvons voir que les deux fichiers sont dans racine La propriété des utilisateurs, car les fichiers que nous faisons une copie à partir d'exemples de fichiers sont disponibles sous / var / nommé /. Changez le groupe en nommé sur les deux fichiers à l'aide des commandes suivantes.

$ sudo chgrp nommé / var / nommé / tecmintlocal.FWD.Zone $ sudo chgrp nommé / var / nommé / tecmintlocal.tour.zone 

Après avoir établi la propriété correcte sur les fichiers, vérifiez-les à nouveau.

$ sudo ls -l / var / nommé / 
Vérifiez les fichiers de zone

Maintenant, vérifiez les erreurs dans les fichiers de zone, avant de démarrer le service DNS. Vérifiez d'abord le nommé.confli fichier, puis vérifiez les autres fichiers de zone.

$ sudo nommé CheckConf / etc / nommé.Conf $ sudo nommé Masterdns-Checkzone.téninlocal.com / var / nommé / tecmintlocal.FWD.ZONE $ sudo nommé Masterdns-Checkzone.téninlocal.com / var / nommé / tecmintlocal.tour.zone 
Vérifier les fichiers de zone d'erreurs

Par défaut, Iptables était en cours d'exécution et que notre serveur DNS est limité à LocalHost, si le client veut résoudre le nom de notre serveur DNS, alors nous devons autoriser la demande entrante, car nous devons ajouter une règle entrante iptables pour le port 53.

$ sudo iptables -i entrée -p udp --dport 53 -m état --state new -j accepter 

Maintenant, vérifiez que les règles ont été ajoutées correctement dans SAISIR chaîne.

$ sudo iptables -l entrée 

Ensuite, enregistrez les règles et redémarrez le pare-feu.

$ Sudo Service iptables Enregistrer $ sudo service iptables redémarrer 
Ouvrez le port DNS sur le pare-feu

Démarrer le service nommé et le rendre persistant.

Service $ sudo nommé start $ sudo chkconfig nommé sur $ sudo chkconfig - list nommé 
Démarrer le serveur DNS

Enfin, testez les fichiers de zone Master DNS configurés (vers l'avant et inversé), en utilisant creuser & nslookup outils.

$ Dig Masterdns.ténineux.com [zone avant] 
Testez la zone DNS vers l'avant
$ DIG -X 192.168.0.200 
Tester la zone DNS inversée
$ nslookup tecmintlocal.com $ nslookup masterdns.ténineux.com $ nslookup slavedns.ténineux.com 
Tester les zones DNS

Cool! Nous avons configuré un Maître DNS, Nous devons maintenant configurer un DNS esclave Serveur. Passons de l'avant pour configurer un serveur d'esclaves, cela ne prendra pas beaucoup de temps en tant que configuration principale.

Configuration du serveur DNS esclave

Dans Slave Machine, nous devons également installer les mêmes packages de liais comme indiqué dans Master, alors installons-les à l'aide de la commande suivante.

$ sudo yum install bind * -y 
Installer DNS Bind

Ouvrir et modifier 'nommé.confort Fichier pour notre base de données de zone et notre port d'écoute.

$ sudo vim / etc / nommé.confli 

Apporter des modifications comme indiqué, selon vos exigences.

// // nommé.Conf // // fourni par le package Red Hat Bind pour configurer le serveur DNS // DNS // ISC Bind (8) comme un serveur de noms de mise en cache uniquement (en tant que résolveur DNS localhost uniquement). // // voir / usr / share / doc / lis. // Options écouter le port 53  127.0.0.1; 192.168.0.201; # Notre port IP Ecount-on-V6 Slave DNS Server 53 :: 1; ; répertoire "/ var / nommé"; Dump-fichier "/ var / nommé / data / cache_dump.db "; statistique-file" / var / nommé / data / nommé_stats.txt "; memstatistics-file" / var / nommé / data / nommé_mem_stats.txt "; allow-query  localhost; 192.168.0.0/24; ; Recursion Non; DNSSEC-ENABLE OUI; DNSSEC-validation Oui; DNSSEC-Lookaside Auto; / * Chemin vers la touche DLV ISC * / bindkeys-file "/ etc / nommé.iscdlv.clé "; managed-keys-directory" / var / nommé / dynamic ";; logging canal default_debug fichier" data / nommé.Run "; Severity Dynamic;;; Zone"."Dans type hint; fichier" nommé.CA ";; ## Définir notre zone d'esclave vers l'avant et la zone inversée, les fichiers de zone sont reproduits à partir de maître. zone"ténineux.com"Dans type esclave; fichier"esclaves / tecmintlocal.FWD.zone"; maîtrise  192.168.0.200; ; ; zone"0.168.192.indem.arpa"Dans type esclave; fichier"esclaves / tecmintlocal.tour.zone"; maîtrise  192.168.0.200; ; ; ##### Inclure "/ etc / nommé.RFC1912.zones "; inclure" / etc / nommé.racine.clé"; 
Configurer les DNS esclaves

Démarrez le service DNS en utilisant.

$ Sudo Service nommé Start 

Après avoir redémarré le service de liaison, nous n'avons pas à définir les informations de zone individuellement, comme notre permettre de transférer reproduira les informations de zone de Master Server comme indiqué dans l'image ci-dessous.

$ sudo ls -l / var / nommé / esclaves 

Vérifiez, les informations de zone utilisant la commande CAT.

$ sudo cat / var / nommé / esclaves / tecmintlocal.FWD.Zone $ sudo cat / var / nommé / esclaves / tecmintlocal.tour.zone 
Vérifiez les fichiers de zone esclave

Ensuite, ouvrez le port DNS 53 sur iptables pour permettre une connexion entrante.

$ sudo iptables -i entrée -p udp --dport 53 -m état --state new -j accepter 

Enregistrez les règles iptables et redémarrez le service iptables.

$ Sudo Service iptables Enregistrer $ sudo service iptables redémarrer 

Rendre le service persistant sur le démarrage du système.

$ sudo chkconfig iptables sur
Vérifiez si un ensemble persistant pour les niveaux de course .
$ sudo chkconfig - list iptables 
Port DNS ouvert

C'est ça!. Il est maintenant temps de configurer nos machines clients et de vérifier le nom d'hôte.

Configurer la machine client

Du côté client, nous devons attribuer le primaire (192.168.0.200) et DNS secondaires (192.168.0.201) Entrée dans les paramètres réseau pour obtenir un nom d'hôte. Pour faire, exécutez la commande de configuration pour définir toutes ces entrées comme indiqué dans l'image.

$ Configuration 
Ajouter l'entrée DNS

Sinon, modifiez le '/ etc / reslov.confli«Fixer et ajouter les entrées suivantes.

$ vim / etc / résolv.confli 
Rechercher Tecmintlocal.com ne nomserver 192.168.0.200 noms de nom 192.168.0.201 

Maintenant, vérifiez la recherche IP, nom d'hôte et serveur de noms.

$ ifconfig | grep inet $ hostname $ nslookup tecmintlocal.com 
Vérifiez l'entrée DNS

Maintenant, vérifiez la recherche DNS avant et inversée en utilisant.

$ Dig Masterdns.ténineux.com $ dig -x 192.168.0.200 
Vérifiez les informations DNS

En compréhension de la sortie de la fouille:

  1. Entête - Cela dit tout ce que nous avons demandé et comment le résultat était.
  2. Statut - Le statut n'était pas une erreur, cela signifie quelle demande de requête envoyée par nous a été réussie sans aucune erreur.
  3. Question - La requête qui a été faite par nous, ici ma requête était Masterdns.ténineux.com.
  4. Répondre - La demande de requête résolue s'il existe des informations disponibles.
  5. Autorité - La réponse des serveurs de nom pour le domaine et la zone.
  6. Supplémentaire - Informations supplémentaires concernant les serveurs de noms tels que le nom d'hôte et l'adresse IP.
  7. Temps de requête - Combien de temps il a fallu pour résoudre les noms des serveurs ci-dessus.

Vérifiez enfin notre nœud et faites un ping.

$ DIG NODE1.ténineux.com 
Vérifiez les informations du client DNS
$ Ping Masterdns.ténineux.com -c 2 $ Ping Slavedns.ténineux.com -c 2 $ ping 192.168.0.200 -C 2 $ ping 192.168.0.201 -C 2 
Serveurs DNS ping

Enfin, la configuration terminée, ici, nous avons configuré avec succès le serveur DNS primaire (maître) et l'esclave (SECONDAY), j'espère que tout le monde a configuré sans aucun problème, n'hésitez pas à abandonner un commentaire si vous faites face à un problème lors de la configuration.