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.
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é.
Le montage sous linux
Protocole du routage
Comment Installer LAMP sur Rocky Linux 9.
Installer et configurer Ansible sur Rocky Linux 9
Fail2Ban : How to protect Linux services