{"uuid":"dbfa1d31-5230-44ae-bc16-30b8c52bd9ea","slug":"installer-configurer-dns-cache-server-fedora","title":"Cache DNS : installer et configurer","author":"cedric@abonnel.fr","published":true,"published_at":"2020-04-17 18:06:26","created_at":"2020-04-17 18:06:26","updated_at":"2020-04-17 18:06:26","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Cache DNS : installer et configurer\n\nOS testé : **Fedora 24**\\\\\nDate de test : **12 novembre 2016**\n\n## Installer `bind`\nLancer l'installation de `bind` et `bind-utils` en utilisant le programme `dnf`.\n\n`bind-utils` inclus les programmes `nslookup`, `dig` and `host`.\n\n```bash\nsudo dnf install bind bind-utils\n```\n\nLe résultat est le suivant :\n\n```\nVérification de l'expiration des métadonnées effectuée il y a 1:07:23 sur Fri Nov 11 20:10:48 2016.\nLe paquet bind-utils-32:9.10.4-2.P3.fc24.x86_64 est déjà installé, ignorer\nDépendances résolues.\n# ========================================================================================\n Package Architecture Version Dépôt Taille\n# ========================================================================================\nInstallation de:\n bind x86_64 32:9.10.4-2.P3.fc24 updates 1.9 M\n\nRésumé de la transaction\n# ========================================================================================\nInstallation 1 Paquet\n\nTaille totale des téléchargements : 1.9 M\nTaille d'installation : 4.0 M\nEst-ce correct [o/N] : o\nTéléchargement des paquets :\nbind-9.10.4-2.P3.fc24.x86_64.rpm 555 kB/s | 1.9 MB 00:03 \n---\nTotal 382 kB/s | 1.9 MB 00:05 \nTest de la transaction en cours\nLa vérification de la transaction a réussi.\nLancement de la transaction de test\nTransaction de test réussie.\nExécution de la transaction\n Installation de : bind-32:9.10.4-2.P3.fc24.x86_64 1/1 \n Vérification : bind-32:9.10.4-2.P3.fc24.x86_64 1/1 \n\nInstallé:\n bind.x86_64 32:9.10.4-2.P3.fc24 \n\nTerminé !\n```\n\nLes programmes `bind` et `bind-utils` sont installés.\n## Editer `named.conf`\n**1.** Modifier le fichier de configuration `/etc/named.conf`\n\n```bash\nsudo vim /etc/named.conf\n```\n\n**2.** Remplacer la ligne suivante (~11)\n\n```ini\nlisten-on port 53 { 127.0.0.1; };\n```\n\npar le bloc suivant\n\n```ini\nlisten-on port 53 { goodclients; };\nallow-query { goodclients; };\nallow-query-cache { goodclients; };\nrecursion yes;\n```\n\n**3.** Supprimer la ligne suivante\n```ini\nallow-query { localhost;};\n```\n\nVoilà a quoi pourrait correspondre le fichier de configuration `named.conf`\n```ini\nacl goodclients {\n 192.168.100.0/24;\n 127.0.0.1;\n localhost;\n};\n\noptions {\n listen-on port 53 { goodclients; };\n allow-query { goodclients; };\n allow-query-cache { goodclients; };\n listen-on-v6 port 53 { ::1; };\n directory \"/var/named\";\n dump-file \"/var/named/data/cache_dump.db\";\n statistics-file \"/var/named/data/named_stats.txt\";\n memstatistics-file \"/var/named/data/named_mem_stats.txt\";\n```\n \n## Redémarrer le service `named`\n```bash\nsystemctl restart named\n```\n\n# systemctl enable named\n# systemctl status named\n\n## Modifier le paramétrage DNS\n```bash\nsudo vim /etc/resolv.conf\n```\n\n```ini\nnameserver 127.0.0.1\n```\n\n## Tester l'interrogation DNS\nExecuter le code suivant\n\n```bash\ndig google.com\n```\n\n```\n; <<>> DiG 9.10.4-P3-RedHat-9.10.4-2.P3.fc24 <<>> google.com\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15768\n;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 4096\n;; QUESTION SECTION:\n;google.com.\t\t\tIN\tA\n\n;; ANSWER SECTION:\ngoogle.com.\t\t300\tIN\tA\t172.217.18.238\n\n;; AUTHORITY SECTION:\ngoogle.com.\t\t171791\tIN\tNS\tns1.google.com.\ngoogle.com.\t\t171791\tIN\tNS\tns2.google.com.\ngoogle.com.\t\t171791\tIN\tNS\tns4.google.com.\ngoogle.com.\t\t171791\tIN\tNS\tns3.google.com.\n\n;; ADDITIONAL SECTION:\nns2.google.com.\t\t171791\tIN\tA\t216.239.34.10\nns1.google.com.\t\t171791\tIN\tA\t216.239.32.10\nns3.google.com.\t\t171791\tIN\tA\t216.239.36.10\nns4.google.com.\t\t171791\tIN\tA\t216.239.38.10\n\n;; Query time: 116 msec\n;; SERVER: 127.0.0.1#53(127.0.0.1)\n;; WHEN: ven. nov. 11 21:47:14 CET 2016\n;; MSG SIZE rcvd: 191\n```\n\n```\n; <<>> DiG 9.10.4-P3-RedHat-9.10.4-2.P3.fc24 <<>> google.com\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64308\n;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 5\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 4096\n;; QUESTION SECTION:\n;google.com.\t\t\tIN\tA\n\n;; ANSWER SECTION:\ngoogle.com.\t\t248\tIN\tA\t172.217.18.238\n\n;; AUTHORITY SECTION:\ngoogle.com.\t\t171739\tIN\tNS\tns4.google.com.\ngoogle.com.\t\t171739\tIN\tNS\tns3.google.com.\ngoogle.com.\t\t171739\tIN\tNS\tns1.google.com.\ngoogle.com.\t\t171739\tIN\tNS\tns2.google.com.\n\n;; ADDITIONAL SECTION:\nns2.google.com.\t\t171739\tIN\tA\t216.239.34.10\nns1.google.com.\t\t171739\tIN\tA\t216.239.32.10\nns3.google.com.\t\t171739\tIN\tA\t216.239.36.10\nns4.google.com.\t\t171739\tIN\tA\t216.239.38.10\n\n;; Query time: 0 msec\n;; SERVER: 127.0.0.1#53(127.0.0.1)\n;; WHEN: ven. nov. 11 21:48:06 CET 2016\n;; MSG SIZE rcvd: 191\n```\n\n## Activer le service au démarrage de l'OS\n**1.** Vérifier le status\n\n```bash\nsystemctl list-unit-files|grep named\n```\n\nRésultat\n\n```bash\nnamed-setup-rndc.service static \nnamed.service disabled\nsystemd-hostnamed.service static\n```\n\n**2.** Activer le démarrage du service\n```bash\nsudo systemctl enable named\n```\n\nRésultat\n\n```bash\nCreated symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.\n```\n\n**3.** Vérifier\n\n```bash\nsystemctl list-unit-files|grep named\n```\n\n```bash\nnamed-setup-rndc.service static \nnamed.service enabled \nsystemd-hostnamed.service static\n```\n\n## Modifier le parefeu\n**1.** Activer le port\n\nSi 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.\n\n```\nsudo iptables -A INPUT -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT\n\nsudo service iptables save\n```\n\n**2.** Vérifier les règles mises en place\n\n```bash\nsudo iptables -L|grep domain\n```\n\nRésultat\n\n```bash\nACCEPT tcp -- anywhere anywhere tcp dpt:domain ctstate NEW\n```\n\n**3.** Vérifier l'accessbilité depuis un autre poste\n\nDepuis un autre poste, effectuer une commande **nmap** sur l'adresse du serveur (192.168.100.1 dans notre cas).\n\n```bash\nnmap -v 192.168.100.1\n```\n\nRésultat\n\n```bash\nStarting Nmap 7.12 ( https://nmap.org ) at 2016-11-12 09:49 CET\nInitiating Ping Scan at 09:49\nScanning 192.168.100.1 [2 ports]\nCompleted Ping Scan at 09:49, 0.00s elapsed (1 total hosts)\nInitiating Connect Scan at 09:49\nScanning srv-prod (192.168.100.1) [1000 ports]\nDiscovered open port 53/tcp on 192.168.100.1\nCompleted Connect Scan at 09:49, 0.04s elapsed (1000 total ports)\nNmap scan report for srv-prod (192.168.100.1)\nHost is up (0.00025s latency).\nNot shown: 999 closed ports\nPORT STATE SERVICE\n53/tcp open domain\n```","featured":false,"tags":[]}