Installation et configuration d'Unbound sur Debian/Ubuntu en 2024
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
- Vérifiez la configuration :
sudo unbound-checkconf
- Démarrez le service :
sudo systemctl enable unbound
sudo systemctl start unbound
- 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)
- Activer DNSSEC :
server:
auto-trust-anchor-file: "/var/lib/unbound/root.key"
val-clean-additional: yes
- Améliorer les performances :
server:
prefetch: yes
prefetch-key: yes
serve-expired: no
msg-cache-size: 128m
rrset-cache-size: 256m
- 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.