Unbound

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Résolveur DNS récursif / cache
Commandes unbound, unbound-control, unbound-checkconf
Config /etc/unbound/unbound.conf
Service systemctl restart unbound.service
Voir aussi Firewalld (ouverture du port DNS), Systemctl (gestion du service)

Unbound est un résolveur DNS récursif et cache, validant DNSSEC, disponible en standard sur RHEL7 et plus comme alternative légère à BIND/named pour un usage de résolveur cache (par opposition à un serveur faisant autorité sur une zone).

Installation et démarrage

yum install unbound

systemctl start unbound.service
systemctl enable unbound.service

Configuration

La configuration se fait dans /etc/unbound/unbound.conf.

Interface d'écoute et contrôle d'accès

# écouter sur toutes les interfaces
interface: 0.0.0.0

# autoriser les clients d'un réseau donné à interroger le résolveur
access-control: 172.25.0.0/24 allow

Forwarding vers un autre résolveur

Pour transmettre toutes les requêtes (zone racine .) à un résolveur amont plutôt que de résoudre soi-même en itératif :

forward-zone:
  name: "."
  forward-addr: 172.25.254.254

Exclusions DNSSEC

Pour exempter un domaine de la validation DNSSEC (utile si sa chaîne de confiance est cassée) :

domain-insecure: example.com

Trust anchors DNSSEC

Il est possible de signer la validation des zones avec des ancres de confiance via l'option trust-anchor. La KSK (Key Signing Key, la clé qui signe les autres clés de la zone) d'une zone peut être identifiée avec :

dig +dnssec DNSKEY google.fr

Validation et rechargement de la configuration

unbound-checkconf
systemctl restart unbound.service

Pare-feu

Ouvrir le port DNS (53) via firewalld — voir Firewalld :

firewall-cmd --permanent --add-service=dns
firewall-cmd --reload

Cache

# dumper et recharger le cache complet
unbound-control dump_cache
unbound-control load_cache dump.out

# vider une entrée précise ou toute une zone
unbound-control flush www.google.fr
unbound-control flush_zone google.fr

Pour la gestion des ancres de confiance DNSSEC en particulier, voir aussi l'outil dnssec-trigger.

Interroger avec dig

dig A google.fr
dig @serverX.example.fr A lab.example.fr
dig +tcp A example.fr
dig +trace A example.fr

Codes de retour DNS

  • SERVFAIL : le nameserver a rencontré une erreur et n'a pas pu fournir de réponse
  • NXDOMAIN : le nom de domaine demandé n'existe pas dans la zone
  • REFUSED : le nameserver refuse de répondre au client pour des raisons de sécurité (contrôle d'accès)

Voir aussi

  • Firewalld — ouverture du port DNS pour un résolveur exposé sur le réseau
  • Systemctl — gestion du service unbound.service