| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| unbound [Le 18/11/2011, 17:50] – [Configuration en serveur cache] pywy | unbound [Le 11/09/2022, 11:04] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art |
|---|
| {{tag>reseau brouillon dns unbound}} | {{tag>réseau dns}} |
| |
| ====== Unbound ====== | ====== Unbound ====== |
| |
| Le service [[:dns|DNS]] (Domain Name Service) est un service TCP/IP permettant la correspondance entre un nom de domaine qualifié (FQDN : Fully Qualified Domain Name) et une adresse IP, par exemple www.ubuntu-fr.org = 88.191.119.240. Ainsi, grâce à DNS, il n'est pas nécessaire de se souvenir des adresses IP. | Le service [[:dns|DNS]] (Domain Name Service) est un service UDP/IP (et parfois TCP/IP) permettant la correspondance entre un nom de domaine qualifié (FQDN : Fully Qualified Domain Name) et une adresse IP, par exemple www.ubuntu-fr.org = 88.191.119.240. Ainsi, grâce à DNS, il n'est pas nécessaire de se souvenir des adresses IP. |
| |
| Un serveur qui héberge le service DNS est appelé "serveur de noms". | Un serveur qui héberge le service DNS est appelé "serveur de noms".\\ |
| Ubuntu propose de base **[[apt>unbound|Unbound]]**, une alternative a bind9. | Ubuntu propose de base **[[apt>unbound|Unbound]]**, une alternative à [[:bind9]].\\ |
| Unbound se veut plus simple a configurer que bind9 pour un LAN de petite taille. | Unbound se veut plus simple a configurer que bind9 pour un LAN de petite taille. |
| |
| Ce guide est destiné aux personnes désireuses d'apprendre comment configurer et maintenir un serveur DNS Unbound. | Ce guide est destiné aux personnes désireuses d'apprendre à configurer et maintenir un serveur DNS Unbound. |
| |
| ===== Pré-requis ===== | ===== Pré-requis ===== |
| |
| |
| * Disposer des [[:sudo|droits d'administration]] sur le serveur. | * Disposer des [[:sudo|droits d'administration]] sur le serveur. |
| |
| ===== Installation ===== | ===== Installation ===== |
| Unbound est disponible dans le dépot principal. Aucun dépot supplémentaire n'est nécessaire; | Unbound est disponible dans le [[:dépôts|dépôt]] principal. Aucun dépôt supplémentaire n'est nécessaire; |
| |
| Pour installer le serveur Unbound , il suffit d'[[:tutoriel:comment_installer_un_paquet#installer_un_paquet_present_dans_les_depots_recommande|installer le paquet]] **[[apt>unbound|unbound]]**. | Pour installer le serveur Unbound , il suffit d'[[:tutoriel:comment_installer_un_paquet#installer_un_paquet_present_dans_les_depots_recommande|installer le paquet]] **[[apt>unbound|unbound]]**. |
| |
| | ===== Configuration en serveur cache - Caching DNS ===== |
| |
| | Dans cette configuration, Unbound va effectuer les requêtes DNS et mettre les réponses en mémoire cache pour les requêtes à venir. |
| ===== Configuration en serveur cache ===== | |
| | |
| Dans cette configuration, Unbound va effectuer les requêtes DNS et mettre les réponses en mémoire cache pour les requêtes à venir. | |
| Cette méthode permet de faire moins de requêtes DNS, et surtout gagner en temps de latence DNS. | Cette méthode permet de faire moins de requêtes DNS, et surtout gagner en temps de latence DNS. |
| |
| Pour la configuration, il faut [[:tutoriel:comment_editer_un_fichier|éditer un seul fichier]] **/etc/unbound/unbound.conf** | Pour la configuration, il faut [[:tutoriel:comment_editer_un_fichier|éditer en tant qu'administrateur un seul fichier]] **/etc/unbound/unbound.conf** |
| |
| Les variables sont nombreuses et relativement bien expliquées en lignes de commentaires. | Exemple de configuration basique : |
| |
| Voici un exemple de configuration, avec des résolutions de 3 machines du LAN : xbox, freeboxplayer et freebox | |
| |
| server: | server: |
| verbosity: 1 | verbosity: 1 #de 0 à 5 en fonction de vos envies de messages ;), 0 seulement les erreurs |
| num-threads: 4 #car cpu 4 coeurs | interface: 192.168.0.1 #Adresse du serveur DNS Unbound, si vous désirez unbound sur plusieurs interfaces remplacer par 0.0.0.0 |
| interface: 0.0.0.0 | access-control: 192.168.0.0/24 allow #autorisez votre réseau |
| do-ip4: yes | # Par défaut tout est refusé ! à part localhost. |
| do-udp: yes | # Possible choix : deny (drop message), refuse (polite error reply), allow (recursive ok), allow_snoop (recursive and nonrecursive ok) |
| do-tcp: yes | |
| access-control: 192.168.0.0/24 allow # j'autorise toutes les machines de mon LAN a interroger le dns | #Ajouter la zone qui transfère les requêtes DNS non effectuées par votre serveur vers le domaine racine (.) |
| chroot: "" #pas de chroot par défaut | |
| logfile: "/var/log/unbound.log" #ici un fichier est dédié aux logs | |
| use-syslog: no #log par défaut dans syslog | |
| hide-identity: yes #pas besoin d être verbeux ici | |
| hide-version: yes #pas besoin d être verbeux ici | |
| harden-glue: yes | |
| harden-dnssec-stripped: yes | |
| use-caps-for-id: yes # on résout gOogLe.cOm et google.com de la même manière | |
| private-domain: "monvlan" #a partir d'ici on définit son propre suffix dns de réseau local | |
| local-zone: "monvlan." static | |
| local-data: "freebox.monvlan. IN A 192.168.0.254" #résolution sens nom -> adresse | |
| local-data: "freeboxplayer.monvlan. IN A 192.168.0.18" | |
| local-data: "xbox.monvlan. IN A 192.168.0.50" | |
| local-data-ptr: "192.168.0.50 xbox.monvlan" #résolution inverse : adresse -> nom | |
| local-data-ptr: "192.168.0.18 freeboxplayer.monvlan" | |
| local-data-ptr: "192.168.0.254 freebox.monvlan" | |
| python: | |
| remote-control: | |
| forward-zone: | forward-zone: |
| name: "." | name: "." |
| forward-addr: 212.27.40.240 #serveur DNS de FAI | forward-addr: 208.67.222.222 #serveur DNS OpenDNS |
| forward-addr: 8.8.8.8 #serveur DNS de google | forward-addr: 208.67.220.220 #serveur DNS OpenDNS |
| | forward-addr: 8.8.8.8 #serveur DNS de google |
| | forward-addr: 8.8.4.4 #serveur DNS de google |
| === Pour utiliser les 13 serveurs racines d'internet, supprimer tout ce qu'il y a apres "forward-zone", et ajouter ceci : === | |
| root-hints: "/etc/unbound/root.hints" | |
| | === Enregistrer votre fichier et redémarrer Unbound : === |
| | sudo service unbound restart |
| | |
| La dernière version du fichier root.hints est a télécharger ici : ftp://FTP.INTERNIC.NET/domain/named.cache | === Enregistrer votre fichier et redémarrer Unbound : (Avec Systemd) === |
| | sudo systemctl restart unbound.service |
| | |
| | === Pour vérifier que la mise en cache fonctionne correctement, utiliser la commande drill (installer le paquet **[[apt>ldnsutils|ldnsutils]]**)sur un site pas encore visité : === |
| | drill maplestage.com @192.168.0.1 |
| |
| Cela permet (entre autres) de court-circuiter les serveurs DNS de son FAI | {{::query1.png?200|}} |
| |
| === Pour utiliser dnssec*, rajouter aussi cette ligne : === | Relancer la commande |
| auto-trust-anchor-file: "/etc/unbound/root.key" | |
| | {{::query2.png?200|}} |
| | |
| | 8-)La mise en cache fonctionne bien et nous pouvons observer le temps gagné !!! |
| | |
| | === Pour contrôler les erreurs éventuelles du fichier conf : === |
| | unbound-checkconf /etc/unbound/unbound.conf |
| | |
| Le fichier root.key est fabriqué depuis a partir du fichier délivré par l'IANA disponible ici : https://data.iana.org/root-anchors/root-anchors.xml | ---- |
| | |
| | ==== Options du serveur ==== |
| | |
| | === Activer IPv4 et Support des Protocols : === |
| | do-ip4: yes |
| | do-ip6 no #désactivez si vous obtenez une erreur au lancement du service |
| | do-udp: yes |
| | do-tcp: yes |
| | |
| | === Activer les logs : === |
| | logfile: /var/log/unbound |
| | |
| | === Cacher l'identité et la version du serveur (Requêtes : id.server et hostname.bind) : === |
| | hide-identity: yes |
| | hide-version: yes |
| | |
| | === Paramètre limitant l'usurpation de DNS === |
| | harden-glue: yes |
| | |
| | === Résout gOogLe.cOm et google.com de la même manière === |
| | use-caps-for-id: yes |
| | |
| | === localhost peut être interrogé ! Seulement no pour test et debuging / Par défaut yes === |
| | do-not-query-localhost: yes |
| | |
| | === Exemple du fichier unbound.conf === |
| | server: |
| | verbosity: 1 |
| | interface: 192.168.0.1 |
| | access-control: 192.168.0.0/24 allow |
| | |
| | do-ip4: yes |
| | do-ip6: no #désactivez si vous obtenez une erreur au lancement du service |
| | do-udp: yes |
| | do-tcp: yes |
| | logfile: /var/log/unbound |
| | hide-identity: yes |
| | hide-version: yes |
| | harden-glue: yes |
| | use-caps-for-id: yes |
| | do-not-query-localhost: yes |
| | |
| | forward-zone: |
| | name: "." |
| | forward-addr: 208.67.222.222 #serveur DNS OpenDNS |
| | forward-addr: 208.67.220.220 #serveur DNS OpenDNS |
| | forward-addr: 8.8.8.8 #serveur DNS de google |
| | forward-addr: 8.8.4.4 #serveur DNS de google |
| | |
| | |
| | |
| | ==== Gestion et Dépannage de Unbound ==== |
| | |
| | ===== Configuration DNS faisant autorité sur notre réseau local ===== |
| |
| Pour l'année 2010/2011 il doit contenir : | |
| |
| . IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5 | |
| ===== Désinstallation ===== | ===== Désinstallation ===== |
| Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. | Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| |
| * **(fr)** [[http://en.wikipedia.org/wiki/Unbound_%28DNS_Server%29]] | * **(en)** [[http://en.wikipedia.org/wiki/Unbound_%28DNS_Server%29]] |
| * **(fr)** [[http://unbound.net/]] | * **(en)** [[http://unbound.net/]] |
| * **(fr)** [[http://www.bortzmeyer.org/unbound.html]] | * **(fr)** [[https://www.bortzmeyer.org/unbound.html]] |
| | * **(fr)** [[wpfr>Domain Name System Security Extensions|DNSSEC]] |
| | * **(fr)**[[https://homeserver-diy.net/wiki/index.php?title=Installer_et_configurer_son_serveur_DNS_connect%C3%A9_aux_serveurs_root_avec_Unbound]] |
| |
| ---- | ---- |
| |
| <note>FIXME Article a développer/compléter</note> | <note>FIXME Article à développer/compléter</note> |
| |