Installer et configurer un serveur DNS de mise en cache uniquement sous RHEL/CentOS 7 – Partie 10

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.

RHCE Series: Setup Cache-Only DNS in RHEL and CentOS 7 – Part 11

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
Search DNS Bind Package

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
Install DNS Bind in RHEL/CentOS 7

É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; };
Configure Cache-Only DNS in CentOS and RHEL 7

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
Configure and Start DNS Named Service

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

# firewall-cmd --add-port=53/udp
# firewall-cmd --add-port=53/udp --permanent
Open DNS Port 53 on Firewall

É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
Configure DNS on Client Machine

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
Check Cache only DNS Queries

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

# nslookup facebook.com
Checking DNS Query with nslookup

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/