Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
netadmin:proxy-dns-unbound [2016/11/10 16:32] – créée yoann | netadmin:proxy-dns-unbound [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag> | {{tag> | ||
- | ====== | + | ====== |
- | **Unbound** est un proxy DNS idéal pour petite infra. Sa configuration est bien plus simple que le serveur Bind. Dans la même esprit on trouve dnsmasq utilisé notamment sur les routeurs ou les distribution embarquées (OpenWRT). | + | **Unbound** est un serveur |
+ | ===== Rôles ===== | ||
+ | |||
+ | Le serveur DNS est en mesure de fournir plusieurs services: | ||
+ | * DNS cache, les réponses sont stockées pour être fournies rapidement selon les délais (TTL) indiqués dans la configuration de l' | ||
+ | * DNS récursif, répond à toutes les requêtes même celles pour lesquelles ils n'ont pas autorité en consultant le ou les serveurs faisant autorité et en transmettant la réponse. | ||
+ | * Validation, vérifie que la réponse donnée est correcte et sûre (DNSSEC) | ||
+ | |||
+ | Le cache permet de réduire le temps de réponse d'une requêtes de l' | ||
+ | |||
+ | Unbound peut être paramétré comme serveur de nom faisant autorité pour une zone privée associée au lan. | ||
+ | |||
+ | ===== Installation ===== | ||
<code bash> | <code bash> | ||
Ligne 10: | Ligne 22: | ||
</ | </ | ||
- | ===== Configuration ===== | + | ===== Configuration |
Copier le fichier exemple du dossier / | Copier le fichier exemple du dossier / | ||
Ligne 17: | Ligne 29: | ||
$ sudo cp / | $ sudo cp / | ||
</ | </ | ||
+ | |||
+ | Après modifications, | ||
+ | |||
+ | <code bash> | ||
+ | $ unbound-checkconf | ||
+ | </ | ||
+ | |||
===== Directives de configuration ===== | ===== Directives de configuration ===== | ||
Ligne 22: | Ligne 41: | ||
* **interface**: | * **interface**: | ||
* **outgoing-interface**: | * **outgoing-interface**: | ||
+ | |||
+ | ===== zone locale ===== | ||
+ | |||
+ | Le serveur unbound peut faire autorité sur les IPs et noms définis sur le LAN. Pour cela utiliser les directives **local-zone**, | ||
+ | |||
+ | < | ||
+ | private-address: | ||
+ | private-domain: | ||
+ | |||
+ | local-zone: " | ||
+ | local-data: " | ||
+ | local-data: " | ||
+ | local-data: " | ||
+ | local-data: " | ||
+ | |||
+ | local-data-ptr: | ||
+ | local-data-prt: | ||
+ | local-data-ptr; | ||
+ | |||
+ | </ | ||
===== Contrôle du service ===== | ===== Contrôle du service ===== | ||
Ligne 29: | Ligne 68: | ||
$ sudo service restart unbound | $ sudo service restart unbound | ||
</ | </ | ||
+ | |||
+ | La commande **unbound-control** permet notamment: | ||
+ | |||
+ | de contrôler l’état du processus: | ||
+ | <code bash> | ||
+ | $ unbound-control status | ||
+ | </ | ||
+ | |||
+ | Afficher le contenu du cache | ||
+ | <code bash> | ||
+ | $ unbound-control dump_cache | ||
+ | </ | ||
+ | |||
+ | Afficher les forwarders: | ||
+ | <code bash> | ||
+ | $ unbound-control list_forwards | ||
+ | </ | ||
+ | |||
+ | Supprimer un enregistrement ou des enregistrements du cache | ||
+ | |||
+ | |||
+ | Une requête de test, elle est exécutée 2 fois, le temps retourné la seconde fois doit être quasi nul: | ||
+ | |||
+ | <code bash> | ||
+ | $ for i in 1 2; do dig @192.9.200.5 www.example.com | grep ' | ||
+ | </ | ||
+ | |||
+ | Ici on la commande retourne: | ||
+ | < | ||
+ | ;; Query time: 3390 msec | ||
+ | ;; Query time: 0 msec | ||
+ | </ | ||
Les logs sont disponibles par défaut | Les logs sont disponibles par défaut | ||
+ | |||
+ | ===== Les logs ===== | ||
+ | |||
+ | Par défaut les erreurs sont affichées sur la sortie standard. Baisser le niveau de verbosité aux seules erreurs et spécifier le fichier de log: | ||
+ | < | ||
+ | verbosity 0 | ||
+ | </ | ||
+ | |||
+ | ===== Problèmes rencontrés ===== | ||
+ | |||
+ | Malgré une configuration en cache DNS, coté client le temps de réponse de requêtes successives ne chute pas: | ||
+ | |||
===== Références ===== | ===== Références ===== | ||
* https:// | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// |