Relecture finale
This commit is contained in:
parent
35d161c7aa
commit
59df75215c
|
@ -5,7 +5,7 @@ title: Howto Unbound
|
||||||
|
|
||||||
* Documentation : <https://www.unbound.net/documentation/>
|
* Documentation : <https://www.unbound.net/documentation/>
|
||||||
* 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 pages : <https://man.openbsd.org/unbound> ou <https://manpages.debian.org/stretch/unbound/unbound.8.en.html>
|
||||||
|
|
||||||
[Unbound](https://www.unbound.net/) est un serveur DNS récursif. Il gère notamment 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 nom de domaine. Il a été écrit et est maintenu par [NLnet Labs](https://www.nlnetlabs.nl/).
|
[Unbound](https://www.unbound.net/) est un serveur DNS récursif. Il gère notamment 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 nom de domaine. Il a été écrit et est maintenu par [NLnet Labs](https://www.nlnetlabs.nl/).
|
||||||
|
|
||||||
|
@ -27,39 +27,60 @@ Report bugs to unbound-bugs@nlnetlabs.nl
|
||||||
### OpenBSD
|
### OpenBSD
|
||||||
|
|
||||||
Unbound est intégré dans la base d'OpenBSD, il est donc déjà présent.
|
Unbound est intégré dans la base d'OpenBSD, il est donc déjà présent.
|
||||||
Attention, 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 particulier :
|
<https://manpages.debian.org/stretch/unbound/unbound.conf.5.en.html> ou <https://man.openbsd.org/unbound.conf>
|
||||||
|
|
||||||
|
Fichiers de configuration sous Debian :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
/etc/unbound/
|
||||||
|
├── unbound.conf
|
||||||
|
├── unbound.conf.d
|
||||||
|
│ ├── qname-minimisation.conf
|
||||||
|
│ └── root-auto-trust-anchor-file.conf
|
||||||
|
├── unbound_control.key
|
||||||
|
├── unbound_control.pem
|
||||||
|
├── unbound_server.key
|
||||||
|
└── unbound_server.pem
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Fichiers de configuration sous OpenBSD (Unbound est dans un chroot) :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
/var/unbound/etc/
|
||||||
|
└── unbound.conf
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Par défaut, Unbound écoute uniquement sur _localhost_, la configuration minimale consiste surtout à le sécuriser :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
server:
|
server:
|
||||||
# interface sur laquelle le daemon écoute
|
hide-identity: yes
|
||||||
interface: XX.XX.XX.XX
|
hide-version: yes
|
||||||
|
auto-trust-anchor-file: "/var/unbound/db/root.key"
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Si l'on veut le faire écouter sur un réseau local, il faut ajuster les directives `interface` et `access-control` :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
server:
|
||||||
|
interface: 192.0.2.254
|
||||||
interface: 127.0.0.1
|
interface: 127.0.0.1
|
||||||
interface: ::1
|
interface: ::1
|
||||||
|
|
||||||
access-control: 0.0.0.0/0 refuse
|
access-control: 0.0.0.0/0 refuse
|
||||||
access-control: 127.0.0.0/8 allow
|
access-control: 127.0.0.0/8 allow
|
||||||
# important, on précise qui pourra interroger le service
|
access-control: 192.0.2.0/24 allow
|
||||||
access-control: XX.XX.XX.0/24 allow
|
|
||||||
access-control: ::0/0 refuse
|
access-control: ::0/0 refuse
|
||||||
access-control: ::1 allow
|
access-control: ::1 allow
|
||||||
|
|
||||||
hide-identity: yes
|
|
||||||
hide-version: yes
|
|
||||||
|
|
||||||
auto-trust-anchor-file: "/var/unbound/db/root.key"
|
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
En plus de la documentation, on peut se référer à [unbound.conf(5)](https://man.openbsd.org/unbound.conf).
|
### Activation sous OpenBSD
|
||||||
|
|
||||||
|
On active Unbound dans `rc.conf.local` et on démarre le daemon :
|
||||||
### Sous OpenBSD
|
|
||||||
|
|
||||||
On active unbound dans `rc.conf.local` et on démarre le daemon !
|
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
# rcctl enable unbound
|
# rcctl enable unbound
|
||||||
|
@ -68,15 +89,15 @@ On active unbound dans `rc.conf.local` et on démarre le daemon !
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### Utiliser un serveur dns particulier pour une zone
|
### Utiliser un serveur DNS particulier pour un nom de domaine
|
||||||
|
|
||||||
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 :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
forward-zone:
|
forward-zone:
|
||||||
name: "foo.local."
|
name: "foo.local."
|
||||||
forward-addr: 192.0.2.1
|
forward-addr: 192.0.2.1
|
||||||
forward-first: yes
|
forward-first: yes
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Dans le cas présent, les requêtes concernent une zone locale, ainsi afin d'éviter une vérification DNSSEC pour ces dernières on ajoutera la directive suivante dans la configuration de unbound :
|
Dans le cas présent, les requêtes concernent une zone locale, ainsi afin d'éviter une vérification DNSSEC pour ces dernières on ajoutera la directive suivante dans la configuration de unbound :
|
||||||
|
@ -92,27 +113,27 @@ quand on a un VPN. On peut utiliser `/etc/hosts` pour les champs A
|
||||||
mais pas pour les MX. On peut donc utiliser unbound pour mentir :
|
mais pas pour les MX. On peut donc utiliser unbound pour mentir :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
local-zone: "example.com." typetransparent
|
local-zone: "example.com." typetransparent
|
||||||
local-data: "example.com. IN MX 10 fakemx.example.com."
|
local-data: "example.com. IN MX 10 fakemx.example.com."
|
||||||
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 JAMAIS 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 :
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
$ dig @ipdurouteur
|
$ dig @IP-routeur
|
||||||
;; reply from unexpected source: autre.ip.du.routeur#53, expected ipdurouteur#53
|
;; reply from unexpected source: autre.ip.du.routeur#53, expected ipdurouteur#53
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue