Serveur DNS cache

Installer un serveur DNS de cache sous CentOS 8

Serveur DNS permet de résoudre les adresse IP en nom de domaine et vice versa, lorsque vous souhaitez accéder à un site web avec un URL, votre ordinateur contacte d’abord un serveur DNS pour récupérer l’adresse IP correspondant.

Dans cette article nous allons voir comment installer un serveur DNS de cache avec BIND sous CentOS 8.

Serveur DNS de cache :

Un serveur de cache DNS ne résout pas les nom de domain, il interroge les serveurs DNS et met en cache les résultats pour les prochaines requêtes.

serveur dns de cache

Installation et configuration de serveur dns de cache

bind & bind-utils :

[root@dns ~]# yum install bind bind-utils

bind : est le package DNS sous Linux

bind-utils : Contient des utilitaires pour intéroger le serveurs DNS comme nslookup, dig …..

Configuration :

Editez le fichier de configuration DNS /etc/named.conf, nous avons besoin de modifier juste la section « options » comme ci-dessous :

options {
        listen-on port 53 { 127.0.0.1; 192.168.139.135; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { localhost; 192.168.139.0/24; };
        allow-query-cache       { localhost; 192.168.139.0/24; };

        recursion yes;

        //dnssec-enable yes;
        //dnssec-validation yes;

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";

        /* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
        include "/etc/crypto-policies/back-ends/bind.config";
};

Voici l’explication :

listen-on port 53 { 127.0.0.1; 192.168.139.135; }; : Le serveur accéptra les requête DNS via son interface ayant l’adresse IP 192.168.139.135, le port utilisé est 53.

allow-query { localhost; 192.168.139.0/24; }; : le serveur résoudra uniquement les requête venant du réseau 192.168.139.0/24 .

allow-query-cache { localhost; 192.168.139.0/24; }; : le serveur mettra en cache les résultats uniquement pour requêtes venant du réseau 192.168.139.0/24 .

recursion yes; : Ici notre serveur DNS permet de traîter les requêtes récursive.

Indiquez ensuite l’adresse d’un serveur DNS au niveau du fichier /etc/resolv.conf

[root@dns ~]# cat /etc/resolv.conf
# Generated by NetworkManager

nameserver 8.8.8.8

Test de votre serveur dns de cache:

Configuration au niveau du client sous CentOS :

Il suffit d’indiquer l’adresse IP du serveur de cache au niveau de fichier /etc/resolv.conf du client :

[root@client ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search lan.com
nameserver 192.168.139.135

Test :

[root@client ~]# dig google.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47022
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             300     IN      A       216.58.212.110

;; AUTHORITY SECTION:
google.com.             171595  IN      NS      ns4.google.com.
google.com.             171595  IN      NS      ns2.google.com.
google.com.             171595  IN      NS      ns3.google.com.
google.com.             171595  IN      NS      ns1.google.com.

;; ADDITIONAL SECTION:
ns2.google.com.         171595  IN      A       216.239.34.10
ns1.google.com.         171595  IN      A       216.239.32.10
ns3.google.com.         171595  IN      A       216.239.36.10
ns4.google.com.         171595  IN      A       216.239.38.10
ns2.google.com.         171595  IN      AAAA    2001:4860:4802:34::a
ns1.google.com.         171595  IN      AAAA    2001:4860:4802:32::a
ns3.google.com.         171595  IN      AAAA    2001:4860:4802:36::a
ns4.google.com.         171595  IN      AAAA    2001:4860:4802:38::a

;; Query time: 227 msec
;; SERVER: 192.168.139.135#53(192.168.139.135)
;; WHEN: Sat Feb 19 13:44:07 EST 2022
;; MSG SIZE  rcvd: 303

Et voilà notre serveur de cache DNS est bien configuré.