Cache DNS : installer et configurer
OS testé : Fedora 24
Date de test : 12 novembre 2016
Installer ''bind''
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.
Editer ''named.conf''
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";
Redémarrer le service ''named''
systemctl restart named
# systemctl enable named # systemctl status named
Modifier le paramétrage DNS
sudo vim /etc/resolv.conf
nameserver 127.0.0.1
Tester l'interrogation DNS
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
Activer le service au démarrage de l'OS
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
Modifier le parefeu
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