relecture [1/N]

This commit is contained in:
Gregory Colpart 2017-07-26 19:53:00 -04:00
parent ac0e266500
commit dedb64fe04

View file

@ -1,43 +1,38 @@
--- ---
categories: openbsd network dns categories: openbsd network DNS
title: HowtoUnbound title: Howto Unbound
--- ---
* Documentation : <https://www.unbound.net/documentation/index.html> * Documentation : <https://www.unbound.net/documentation/index.html>
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/unbound> * Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/unbound>
* Man page : <https://man.openbsd.org/unbound> * Man page : <https://man.openbsd.org/unbound>
Unbound est un serveur DNS récursif avec cache et sachant faire de la [Unbound](https://www.unbound.net/) est un serveur DNS récursif. Il gère du cache et la validation DNSSEC. Par rapport à [Bind](HowtoBind) il est léger et sécurisé, mais il ne sait pas faire autorité pour un domaine. Il a été écrit et est maintenu par [NLnet Labs](https://www.nlnetlabs.nl/).
validation DNSSEC. Contrairement à [Bind](../HowtoBind), il ne sait pas
faire autorité pour un domaine. Il a été écrit et est maintenu par
[NLnet Labs](https://www.nlnetlabs.nl/).
Du fait de la légèreté, de sa modernité et par conséquent de sa ## Installation
meilleure sécurité, unbound a remplacé bind dans un certain nombre de
projet libre.
# Installation ### Debian
## Debian
Sous Debian 9, on installe la version 1.6.0
~~~ ~~~
# apt install unbound # apt install unbound
$ /usr/sbin/unbound -h | tail -5
Version 1.6.0
linked libs: libevent 2.0.21-stable (it uses epoll), OpenSSL 1.1.0f 25 May 2017
linked modules: dns64 python validator iterator
BSD licensed, see LICENSE in source package for details.
Report bugs to unbound-bugs@nlnetlabs.nl
~~~ ~~~
## OpenBSD ### OpenBSD
Unbound est intégré dans la base d'OpenBSD, il n'y a donc pas besoin Unbound est intégré dans la base d'OpenBSD, il est donc déjà présent.
de l'installer. Attention, Unbound est dans un chroot, sa configuration n'est pas présente dans `/etc` mais dans `/var/unbound/etc`.
Néanmoins comme unbound est dans un chroot, sa configuration n'est pas
présente dans `/etc` mais dans `/var/unbound/etc`.
# Configuration ## Configuration
Un exemple de configuration basique mais suffisante en l'absence de cas Un exemple de configuration basique mais suffisante en l'absence de cas particulier :
particulier :
~~~ ~~~
server: server:
@ -62,7 +57,7 @@ server:
En plus de la documentation, on peut se référer à [unbound.conf(5)](https://man.openbsd.org/unbound.conf). En plus de la documentation, on peut se référer à [unbound.conf(5)](https://man.openbsd.org/unbound.conf).
## Sous OpenBSD ### Sous OpenBSD
On active unbound dans `rc.conf.local` et on démarre le daemon ! On active unbound dans `rc.conf.local` et on démarre le daemon !
@ -71,9 +66,9 @@ On active unbound dans `rc.conf.local` et on démarre le daemon !
# rcctl start unbound # rcctl start unbound
~~~ ~~~
# FAQ ## FAQ
## Utiliser un serveur dns particulier pour une zone ### Utiliser un serveur dns particulier pour une zone
On pourra forwarder certaines requêtes vers un serveur différent en rajoutant les directives ci-dessous : On pourra forwarder certaines requêtes vers un serveur différent en rajoutant les directives ci-dessous :
@ -90,7 +85,7 @@ Dans le cas présent, les requêtes concernent une zone locale, ainsi afin d'év
domain-insecure: "foo.local." domain-insecure: "foo.local."
~~~ ~~~
## Rajouter / modifier un enregistrement DNS ### Rajouter / modifier un enregistrement DNS
Parfois on veut pouvoir modifier un enregistrement DNS, par exemple Parfois on veut pouvoir modifier un enregistrement DNS, par exemple
quand on a un VPN. On peut utiliser `/etc/hosts` pour les champs A quand on a un VPN. On peut utiliser `/etc/hosts` pour les champs A
@ -102,12 +97,12 @@ mais pas pour les MX. On peut donc utiliser unbound pour mentir :
local-data: "fakemx.example.com. IN A 192.168.1.3" local-data: "fakemx.example.com. IN A 192.168.1.3"
~~~ ~~~
## Configuration sur un routeur ### Configuration sur un routeur
Il NE faut PAS mettre une configuration de type Il NE faut PAS mettre une configuration de type
~~~ ~~~
interface: 0.0.0.0 interface: 0.0.0.0
~~~ ~~~
car unbound ne va pas forcément répondre avec la bonne interface et on peut avoir des erreurs du type car unbound ne va pas forcément répondre avec la bonne interface et on peut avoir des erreurs du type
@ -119,13 +114,13 @@ $ dig @ipdurouteur
Il faut lister explicitement toutes les interfaces sur lesquelles on souhaite qu'unbound écoute. Il faut lister explicitement toutes les interfaces sur lesquelles on souhaite qu'unbound écoute.
## dig +trace ne fonctionne pas ### dig +trace ne fonctionne pas
C'est certainement parce que le client a une autorisation insuffisante C'est certainement parce que le client a une autorisation insuffisante
pour ce type de requête particulier. Il faut donc remplacer dans la pour ce type de requête particulier. Il faut donc remplacer dans la
directive `access-control:` le mot-clé `allow` par `allow_snoop`. directive `access-control:` le mot-clé `allow` par `allow_snoop`.
## Avoir des statistiques ### Avoir des statistiques
On peut facilement accéder à des statistiques avec [unbound-control(8)](https://man.openbsd.org/unbound-control). On peut facilement accéder à des statistiques avec [unbound-control(8)](https://man.openbsd.org/unbound-control).