Recherche de site Web

Installer et configurer un serveur DNS avec mise en cache uniquement dans RHEL/CentOS 7 - Partie 10


Les serveurs DNS sont disponibles en plusieurs types, tels que maître, esclave, transfert et cache, pour ne citer que quelques exemples, le DNS avec cache uniquement étant celui qui est le plus facile à configurer. Puisque DNS utilise le protocole UDP, il améliore le temps de requête car il ne nécessite pas d’accusé de réception.

Le serveur DNS en cache uniquement est également connu sous le nom de résolveur, qui interrogera les enregistrements DNS et récupérera tous les détails DNS des autres serveurs, et conservera chaque demande de requête dans son cache pour une utilisation ultérieure afin que lorsque nous effectuerons la même demande à l'avenir, il servira à partir de son cache, réduisant ainsi encore plus le temps de réponse.

Si vous souhaitez configurer un serveur de mise en cache DNS uniquement dans CentOS/RHEL 6, suivez ce guide ici :

Configuration d'un serveur de noms DNS avec mise en cache uniquement dans CentOS/RHEL 6

Mon environnement de test

DNS server		:	dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1)
Server IP Address	:	192.168.0.18
Client			:	node1.tecmintlocal.com (CentOS 7.1)
Client IP Address	:	192.168.0.29

Étape 1 : Installation du serveur DNS en cache uniquement dans RHEL/CentOS 7

1. Le serveur DNS en cache uniquement peut être installé via le package bind. Si vous ne vous souvenez pas du nom du package, vous pouvez effectuer une recherche rapide du nom du package à l'aide de la commande ci-dessous.

yum search bind

2. Dans le résultat ci-dessus, vous verrez plusieurs packages. Parmi ceux-ci, nous devons choisir et installer uniquement les packages bind et bind-utils à l'aide de la commande yum suivante.

yum install bind bind-utils -y

Étape 2 : configurer le DNS en cache uniquement dans RHEL/CentOS 7

3. Une fois les packages DNS installés, nous pouvons continuer et configurer DNS. Ouvrez et modifiez /etc/named.conf à l'aide de votre éditeur de texte préféré. Apportez les modifications suggérées ci-dessous (ou vous pouvez utiliser vos paramètres selon vos besoins).

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };

Ces directives demandent au serveur DNS d'écouter sur le port UDP 53 et d'autoriser les requêtes et de mettre en cache les réponses de localhost et de toute autre machine qui atteint le serveur.

4. Il est important de noter que la propriété de ce fichier doit être définie sur root:named et également si SELinux est activé, après l'édition le fichier de configuration, nous devons nous assurer que son contexte est défini sur named_conf_t comme le montre la Fig. 4 (même chose pour le fichier auxiliaire /etc/named.rfc1912.zones ) :

ls -lZ /etc/named.conf
ls -lZ /etc/named.rfc1912.zones

Sinon, configurez le contexte SELinux avant de continuer :

semanage fcontext -a -t named_conf_t /etc/named.conf
semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones

5. De plus, nous devons maintenant tester la configuration DNS pour détecter certaines erreurs de syntaxe avant de démarrer le service de liaison :

named-checkconf /etc/named.conf

6. Une fois que les résultats de la vérification de la syntaxe semblent parfaits, redémarrez le service nommé pour prendre en compte les nouvelles modifications et faites également en sorte que le service démarre automatiquement lors des démarrages du système, puis vérifiez son statut:

systemctl restart named
systemctl enable named
systemctl status named

7. Ensuite, ouvrez le port 53 sur le pare-feu.

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

Étape 3 : Serveur DNS Chroot Cache uniquement dans RHEL et CentOS 7

8. Si vous souhaitez déployer le serveur DNS en cache uniquement dans un environnement chroot, vous devez avoir le package chroot installé sur le système et aucune configuration supplémentaire n'est nécessaire car il s'agit par défaut d'un lien physique vers chroot.

yum install bind-chroot -y

Une fois le package chroot installé, vous pouvez redémarrer nommé pour prendre en compte les nouvelles modifications :

systemctl restart named

9. Ensuite, créez un lien symbolique (également nommé /etc/named.conf) dans /var/named/chroot/etc/ :

ln -s /etc/named.conf /var/named/chroot/etc/named.conf

Étape 4 : configurer le DNS sur la machine client

10. Ajoutez les serveurs de cache DNS IP 192.168.0.18 comme résolveur sur la machine client. Modifiez /etc/sysconfig/network-scripts/ifcfg-enp0s3 comme indiqué dans la figure suivante :

DNS=192.168.0.18

Et /etc/resolv.conf comme suit :

nameserver 192.168.0.18

11. Enfin, il est temps de vérifier notre serveur de cache. Pour ce faire, vous pouvez utiliser l'utilitaire dig ou la commande nslookup.

Choisissez n'importe quel site Web et interrogez-le deux fois (nous utiliserons facebook.com comme exemple). Notez qu'avec dig la deuxième fois, la requête est terminée beaucoup plus rapidement car elle est servie à partir du cache.

dig facebook.com

Vous pouvez également utiliser nslookup pour vérifier que le serveur DNS fonctionne comme prévu.

nslookup facebook.com

Résumé

Dans cet article, nous avons expliqué comment configurer un serveur avec cache DNS uniquement dans Red Hat Enterprise Linux 7 et CentOS 7, et l'avons testé sur une machine client. N'hésitez pas à nous faire savoir si vous avez des questions ou des suggestions en utilisant le formulaire ci-dessous.