Les serveurs DNS se présentent sous plusieurs types tels que maître, esclave, de relais et de cache, pour n’en citer que quelques exemples, avec le serveur DNS de cache seulement étant celui qui est plus facile à mettre en place. Étant donné que DNS utilise le protocole UDP, cela améliore le temps de requête car il n’exige pas d’acquittement.

Le serveur DNS de cache seulement est également connu sous le nom de résolveur, qui interroge les enregistrements DNS et récupère tous les détails DNS d’autres serveurs, et conserve chaque demande de requête dans son cache pour une utilisation ultérieure afin que lorsque nous effectuons la même demande à l’avenir, il servira à partir de son cache, réduisant ainsi encore plus le temps de réponse.
Si vous cherchez à mettre en place un serveur DNS de cache seulement dans CentOS/RHEL 6, suivez ce guide ici:
Configuration d’un serveur de noms DNS de cache seulement 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 d’un serveur DNS de cache seulement dans RHEL/CentOS 7
1. Le serveur DNS de cache seulement peut être installé via le paquet bind. Si vous ne vous souvenez pas du nom du paquet, vous pouvez effectuer une recherche rapide du nom du paquet à l’aide de la commande ci-dessous.
# yum search bind

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

Étape 2: Configurer un serveur DNS de cache seulement dans RHEL/CentOS 7
3. Une fois les paquets DNS installés, nous pouvons passer à la configuration de 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 utilisez 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 indiquent au serveur DNS d’écouter sur le port UDP 53 et d’autoriser les requêtes et la mise en cache des réponses à partir de localhost et de toute autre machine atteignant 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 avoir modifié le fichier de configuration, nous devons nous assurer que son contexte est défini sur named_conf_t
comme indiqué dans la figure 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 tester la configuration DNS maintenant pour détecter d’éventuelles erreurs de syntaxe avant de démarrer le service bind :
# named-checkconf /etc/named.conf
6. Après avoir vérifié la syntaxe, redémarrez le service named pour prendre en compte les nouvelles modifications et assurez-vous que le service démarre automatiquement à chaque démarrage du système, puis vérifiez son état :
# 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 en mode cache chroot dans RHEL et CentOS 7
8. Si vous souhaitez déployer le serveur DNS Cache-only dans un environnement chroot, vous devez avoir le package chroot installé sur le système et aucune autre configuration n’est nécessaire car il est lié de manière rigide par défaut à chroot.
# yum install bind-chroot -y
Une fois que le package chroot a été installé, vous pouvez redémarrer named pour que les nouveaux changements prennent effet :
# systemctl restart named
9. Ensuite, créez un lien symbolique (également nommé /etc/named.conf
) à l’intérieur de /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
Étape 4 : Configurer le DNS sur la machine cliente
10. Ajoutez les serveurs DNS Cache IP 192.168.0.18 en tant que résolveur sur la machine cliente. 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 cache. Pour ce faire, vous pouvez utiliser l’utilitaire dig ou la commande nslookup.
Choisissez un site web et interrogez-le deux fois (nous utiliserons facebook.com comme exemple). Notez qu’avec dig, la deuxième requête est beaucoup plus rapide 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 DNS Cache-only dans Red Hat Enterprise Linux 7 et CentOS 7, et nous l’avons testé sur un ordinateur client. N’hésitez pas à nous faire part de vos questions ou suggestions à l’aide du formulaire ci-dessous.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/