Cache DNS : installer et configurer

OS testé : Fedora 24
Date de test : 12 novembre 2016

Lancer l'installation de bind et bind-utils en utilisant le programme dnf.

bind-utils inclus les programmes nslookup, dig and host.

sudo dnf install bind bind-utils

Le résultat est le suivant :

Vérification de l'expiration des métadonnées effectuée il y a 1:07:23 sur Fri Nov 11 20:10:48 2016.
Le paquet bind-utils-32:9.10.4-2.P3.fc24.x86_64 est déjà installé, ignorer
Dépendances résolues.
====================================================================================================
 Package           Architecture        Version                           Dépôt                Taille
====================================================================================================
Installation de:
 bind              x86_64              32:9.10.4-2.P3.fc24               updates              1.9 M

Résumé de la transaction
====================================================================================================
Installation  1 Paquet

Taille totale des téléchargements : 1.9 M
Taille d'installation : 4.0 M
Est-ce correct [o/N] : o
Téléchargement des paquets :
bind-9.10.4-2.P3.fc24.x86_64.rpm                                    555 kB/s | 1.9 MB     00:03    
----------------------------------------------------------------------------------------------------
Total                                                               382 kB/s | 1.9 MB     00:05     
Test de la transaction en cours
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
  Installation de               : bind-32:9.10.4-2.P3.fc24.x86_64                               1/1 
  Vérification                  : bind-32:9.10.4-2.P3.fc24.x86_64                               1/1 

Installé:
  bind.x86_64 32:9.10.4-2.P3.fc24                                                                   

Terminé !

Les programmes bind et bind-utils sont installés.

1. Modifier le fichier de configuration /etc/named.conf

sudo vim /etc/named.conf

2. Remplacer la ligne suivante (~11)

listen-on port 53 { 127.0.0.1; };

par le bloc suivant

listen-on port 53 { goodclients; };
allow-query { goodclients; };
allow-query-cache { goodclients; };
recursion yes;

3. Supprimer la ligne suivante

allow-query { localhost;};

Voilà a quoi pourrait correspondre le fichier de configuration named.conf

acl goodclients {
    192.168.100.0/24;
    127.0.0.1;
    localhost;
};
 
options {
        listen-on port 53 { goodclients; };
        allow-query { goodclients; };
        allow-query-cache { goodclients; };
        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";
systemctl restart named

# systemctl enable named # systemctl status named

sudo vim /etc/resolv.conf
nameserver 127.0.0.1

Executer le code suivant

dig google.com
; <<>> DiG 9.10.4-P3-RedHat-9.10.4-2.P3.fc24 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15768
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5

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

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

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

;; ADDITIONAL SECTION:
ns2.google.com.		171791	IN	A	216.239.34.10
ns1.google.com.		171791	IN	A	216.239.32.10
ns3.google.com.		171791	IN	A	216.239.36.10
ns4.google.com.		171791	IN	A	216.239.38.10

;; Query time: 116 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: ven. nov. 11 21:47:14 CET 2016
;; MSG SIZE  rcvd: 191
; <<>> DiG 9.10.4-P3-RedHat-9.10.4-2.P3.fc24 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64308
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5

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

;; ANSWER SECTION:
google.com.		248	IN	A	172.217.18.238

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

;; ADDITIONAL SECTION:
ns2.google.com.		171739	IN	A	216.239.34.10
ns1.google.com.		171739	IN	A	216.239.32.10
ns3.google.com.		171739	IN	A	216.239.36.10
ns4.google.com.		171739	IN	A	216.239.38.10

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: ven. nov. 11 21:48:06 CET 2016
;; MSG SIZE  rcvd: 191

1. Vérifier le status

systemctl list-unit-files|grep named

Résultat

named-setup-rndc.service                    static  
named.service                               disabled
systemd-hostnamed.service                   static  

2. Activer le démarrage du service

sudo systemctl enable named

Résultat

Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

3. Vérifier

systemctl list-unit-files|grep named
named-setup-rndc.service                    static  
named.service                               enabled 
systemd-hostnamed.service                   static  

1. Activer le port

Si vous voulez utiliser le cache mis en place par d'autres machines du réseau, il sera nécessaire de lever les restrictions du parefeu.

sudo iptables -A INPUT -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

sudo service iptables save

2. Vérifier les règles mises en place

sudo iptables -L|grep domain

Résultat

ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain ctstate NEW

3. Vérifier l'accessbilité depuis un autre poste

Depuis un autre poste, effectuer une commande nmap sur l'adresse du serveur (192.168.100.1 dans notre cas).

nmap -v 192.168.100.1

Résultat

Starting Nmap 7.12 ( https://nmap.org ) at 2016-11-12 09:49 CET
Initiating Ping Scan at 09:49
Scanning 192.168.100.1 [2 ports]
Completed Ping Scan at 09:49, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 09:49
Scanning srv-prod (192.168.100.1) [1000 ports]
Discovered open port 53/tcp on 192.168.100.1
Completed Connect Scan at 09:49, 0.04s elapsed (1000 total ports)
Nmap scan report for srv-prod (192.168.100.1)
Host is up (0.00025s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
  • informatique/installer-configurer-dns-cache-server-fedora.txt
  • Dernière modification: 2016/11/12 11:10
  • par Cedric ABONNEL