Configurez le serveur DNS maître-esclave à l'aide d'outils «Bind» dans RHEL / CENTOS 6.5
- 2619
- 786
- Jeanne Dupont
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.5Comment 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érerVé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 * -yInstaller 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.
- Port d'écoute 53 - Ceci est utilisé pour le DNS pour écouter dans les interfaces disponibles.
- Maître DNS - Définissez votre adresse IP Master DNS pour écouter la requête.
- 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.
- Recursion Non - Si c'est réglé sur oui, les requêtes récursives feront du serveur en attaque DDOS.
- Nom de zone - Définissez ici le nom de votre zone définie comme tecminlocal.com.
- maître de type - Comme ce système a été configuré pour un serveur maître, pour le prochain serveur esclave, ce sera esclave.
- ténineux.FWD.zone - Ce fichier a les informations de l'hôte pour cette zone.
- 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.zoneCopier 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'échantillonnageCeci 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 avantMaintenant, 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éeCeci 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 inverseVé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.zoneVé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émarrerOuvrez 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.200Tester la zone DNS inversée
$ nslookup tecmintlocal.com $ nslookup masterdns.ténineux.com $ nslookup slavedns.ténineux.comTester 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 * -yInstaller 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.zoneVé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 iptablesPort 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.
$ ConfigurationAjouter 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.comVé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.200Vérifiez les informations DNS
En compréhension de la sortie de la fouille:
- Entête - Cela dit tout ce que nous avons demandé et comment le résultat était.
- 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.
- Question - La requête qui a été faite par nous, ici ma requête était Masterdns.ténineux.com.
- Répondre - La demande de requête résolue s'il existe des informations disponibles.
- Autorité - La réponse des serveurs de nom pour le domaine et la zone.
- Supplémentaire - Informations supplémentaires concernant les serveurs de noms tels que le nom d'hôte et l'adresse IP.
- 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.comVé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 2Serveurs 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.
- « Elrepo - Community Repo for Enterprise Linux (Rhel, Centos & SL)
- Comment installer un serveur DHCP dans Centos, Rhel et Fedora »