Installation et configuration d'Unbound sur Debian/Ubuntu en 2024

par Korben -

Après vous avoir expliqué comment installer Unbound sous Windows et OSX pour faire votre propre résolution DNS en local chez vous, voici comment faire sous Debian / Ubuntu pour votre serveur.

Méthode moderne (2024)

La méthode la plus simple en 2024 est d’utiliser le gestionnaire de paquets :

sudo apt update
sudo apt install unbound

L’installation via apt configure automatiquement :

  • Le service systemd
  • L’utilisateur unbound
  • Les permissions
  • Le fichier de configuration de base

Configuration de base

Créez ou modifiez le fichier de configuration principal :

sudo nano /etc/unbound/unbound.conf.d/custom.conf

Configuration recommandée en 2024 :

server:
# Logging
verbosity: 0
use-syslog: yes

# Interface
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: yes
do-udp: yes
do-tcp: yes

# Permissions et sécurité
username: "unbound"
directory: "/etc/unbound"

# Cache optimisé pour 2024
msg-cache-size: 128m
rrset-cache-size: 256m

# Sécurité moderne
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
root-hints: "/usr/share/dns/root.hints"

# DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
val-clean-additional: yes

# Contrôle d'accès
access-control: 127.0.0.0/8 allow
access-control: ::1 allow
# Décommentez et ajustez selon votre réseau local
#access-control: 192.168.0.0/24 allow

# Optimisations 2024
prefetch: yes
prefetch-key: yes
serve-expired: no
qname-minimisation: yes
aggressive-nsec: yes

# Protection vie privée
hide-identity: yes
hide-version: yes

Installation manuelle (méthode historique)

Si vous avez besoin d’une version spécifique ou de fonctionnalités particulières, voici la méthode de compilation :

1. Installation des dépendances

sudo apt-get install build-essential libssl-dev

2. Compilation et installation

cd /tmp
wget http://www.unbound.net/downloads/unbound-latest.tar.gz
tar xvfz unbound-latest.tar.gz
cd unbound-x.x.x/
./configure
make
sudo make install

3. Création de l’utilisateur

sudo groupadd unbound
sudo useradd -d /var/unbound -m -g unbound -s /bin/false unbound

4. Configuration du service

Avec systemd (recommandé en 2024), créez le fichier :

sudo nano /etc/systemd/system/unbound.service
[Unit]
Description=Unbound DNS resolver
After=network.target

[Service]
Type=simple
User=unbound
Group=unbound
ExecStart=/usr/local/sbin/unbound -d -c /var/unbound/unbound.conf
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

Vérification et démarrage

  1. Vérifiez la configuration :
sudo unbound-checkconf
  1. Démarrez le service :
sudo systemctl enable unbound
sudo systemctl start unbound
  1. Vérifiez le statut :
sudo systemctl status unbound

Test de fonctionnement

Testez la résolution DNS :

dig @127.0.0.1 google.com

Optimisations recommandées (2024)

  1. Activer DNSSEC :
server:
auto-trust-anchor-file: "/var/lib/unbound/root.key"
val-clean-additional: yes
  1. Améliorer les performances :
server:
prefetch: yes
prefetch-key: yes
serve-expired: no
msg-cache-size: 128m
rrset-cache-size: 256m
  1. Protection vie privée :
server:
qname-minimisation: yes
hide-identity: yes
hide-version: yes

Sécurité

  • Limitez l’accès à votre réseau local uniquement
  • Utilisez un pare-feu (UFW recommandé)
  • Activez DNSSEC
  • Maintenez Unbound à jour

Utilisation

Une fois configuré, utilisez l’IP de votre serveur comme serveur DNS sur vos appareils. Pour une machine locale uniquement, utilisez 127.0.0.1.

Pour aller plus loin