Réponse rapide
Comment faire tourner un résolveur DNS privé avec Unbound sur un VPS ?
Pour faire tourner un résolveur DNS privé avec Unbound, installez le paquet unbound, indiquez les adresses où il peut écouter, n'autorisez que votre propre réseau avec access-control, et testez avec dig. Le forfait Ember de Gloamport, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic à $3.74 par mois sur 12 mois, suffit pour les requêtes d'une seule personne.
Quels réglages Unbound rendent un résolveur privé ?
| Réglage | Valeur dans ce guide | Ce qu'indique le manuel d'Unbound |
|---|---|---|
| interface | 127.0.0.1 et l'adresse de votre tunnel | Les adresses que les clients peuvent interroger ; sans aucune, Unbound écoute sur localhost |
| access-control | Le réseau autorisé de votre tunnel | Le bloc réseau le plus spécifique l'emporte ; un client qui ne correspond à aucun est refusé |
| hide-identity | oui | Les requêtes id.server et hostname.bind reçoivent REFUSED |
| hide-version | oui | Les requêtes version.server et version.bind reçoivent REFUSED |
| qname-minimisation | oui | Envoie le minimum d'informations aux serveurs en amont |
harden-dnssec-stripped | oui | Une zone qui a une ancre de confiance mais aucune donnée DNSSEC devient invalide (bogus) |
| prefetch | oui | Rafraîchit les entrées consultées dans les derniers 10 % de leur TTL, pour environ 10 % de trafic en plus |
| private-address | Vos plages privées | Ces réponses sont retirées pour les noms publics, ce qui protège contre le DNS rebinding |
Prix vérifiés le
Qu'est-ce qu'un résolveur privé change, et que ne change-t-il pas ?
Un résolveur privé change qui répond à vos requêtes DNS et qui peut les voir depuis le réseau. Unbound résout les noms lui-même, en interrogeant les serveurs racine puis les serveurs de chaque zone, au lieu de transmettre à un fournisseur DNS public. Vos appareils n'envoient leurs requêtes qu'à votre VPS, et les serveurs des zones voient l'adresse du VPS, pas la vôtre.
Il ne masque pas votre navigation. Les sites que vous visitez sont toujours atteints par leurs adresses, et l'hébergeur du VPS achemine vos requêtes jusqu'au VPS. Le DNS classique entre votre appareil et le VPS n'est pas chiffré, c'est pourquoi le plus sûr est d'écouter à l'intérieur d'un tunnel comme WireGuard sur le même VPS. Ne laissez jamais le port 53 ouvert à tout Internet : un résolveur ouvert est un service que d'autres utiliseront, et les lignes access-control ci-dessous refusent ces clients.
Comment faire tourner Unbound comme résolveur privé
Les commandes valent pour Debian 13 et Ubuntu 24.04. Les exemples supposent un tunnel WireGuard avec le VPS à 10.8.0.1.
Installer Unbound et un outil de test DNS
Lancez apt install unbound bind9-dnsutils. Le second paquet fournit dig pour les tests. Debian 13 et Ubuntu 24.04 proposent tous deux ces paquets.
Rédigez la configuration
Créez un fichier dans /etc/unbound/unbound.conf.d/ avec la section server du premier bloc de code. Remplacez 10.8.0.1 et 10.8.0.0/24 par l'adresse et le réseau de votre tunnel, ou n'utilisez que 127.0.0.1 si vous interrogez depuis le VPS lui-même.
Vérifiez le fichier
Lancez unbound-checkconf. Le manuel indique qu'il vérifie unbound.conf avant utilisation ; il signale le fichier et la ligne de toute erreur.
Redémarrez et vérifiez les écouteurs
Redémarrez le service, puis lancez ss avec -lunt et filtrez sur :53. Vous ne devez voir que les adresses que vous avez indiquées, et non 0.0.0.0.
Interrogez-le
Depuis le VPS, lancez dig @127.0.0.1 example.org. Depuis un appareil du tunnel, lancez dig @10.8.0.1 example.org. Une réponse refusée depuis l'extérieur du réseau autorisé est le résultat attendu.
Configurez vos appareils
Réglez le serveur DNS de la configuration du tunnel sur vos appareils avec l'adresse du tunnel du VPS. Gardez le pare-feu fermé sur le port 53 côté interface publique.
server:
interface: 127.0.0.1
interface: 10.8.0.1
access-control: 127.0.0.0/8 allow
access-control: 10.8.0.0/24 allow
hide-identity: yes
hide-version: yes
qname-minimisation: yes
harden-glue: yes
harden-dnssec-stripped: yes
prefetch: yes
private-address: 10.0.0.0/8
private-address: 172.16.0.0/12
private-address: 192.168.0.0/16sudo apt install unbound bind9-dnsutils
sudo unbound-checkconf
sudo systemctl restart unbound
sudo ss -lunt | grep :53
dig @127.0.0.1 example.org
dig @10.8.0.1 example.orgPourquoi faut-il restreindre Unbound avec access-control ?
Parce qu'un résolveur qui répond à tout le monde sera trouvé et utilisé par des inconnus. Le manuel d'Unbound indique qu'avec access-control, c'est la correspondance de bloc réseau la plus spécifique qui s'applique, et qu'un client qui ne correspond à aucun est refusé. Ne listez que les réseaux qui vous appartiennent : tout le reste est refusé par défaut.
Deux valeurs par défaut aident. Sans ligne interface, Unbound n'écoute que sur localhost, et do-not-query-localhost vaut yes par défaut : il n'envoie donc pas ses propres requêtes amont vers des adresses localhost. Ajoutez des lignes private-address pour vos plages internes, afin qu'un nom public ne puisse pas faire pointer vos appareils vers votre propre réseau.
Quel forfait Gloamport suffit pour un résolveur DNS ?
Le plus petit forfait suffit pour un résolveur personnel, et le partager avec un VPN sur le même serveur est la configuration habituelle. Ember, 1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic, coûte $3.74 par mois sur la durée de 12 mois et $7.48 sur un seul mois, et Gloamport le propose pour Un VPN WireGuard pour quelques appareils. Un résolveur et WireGuard tiennent ensemble dessus. Nous n'avons pas mesuré Unbound ; si vous servez de nombreux appareils, Dusk à $5.25 par mois sur la durée de 12 mois ajoute un second Go de mémoire (2 GB).
Le cache est ce que vous réglez. Le manuel signale que cache-min-ttl, désactivé par défaut, peut poser problème au-delà d'environ une heure ; ne le modifiez donc pas, sauf si vous savez pourquoi vous en avez besoin.
Un résolveur auto-géré vaut-il mieux qu'un fournisseur DNS public ?
Cela dépend de la personne à qui vous préférez confier votre journal de requêtes, et un résolveur auto-géré supprime un intermédiaire. Un fournisseur DNS public voit chaque nom que vos appareils consultent ; avec Unbound sur votre propre VPS, le seul endroit où ces requêtes sont collectées est un serveur que vous contrôlez. Les serveurs faisant autorité des zones interrogées voient toujours les requêtes venant de l'adresse du VPS.
Selon l'enquête de Gloamport sur 10 novembre 2026, 28 des 49 hébergeurs listés ne demandent aucun document d'identité à l'inscription : le VPS qui fait tourner le résolveur est donc disponible sans remettre de documents. Pour une vue de l'ensemble des options de tunnel, lisez Un VPN auto-hébergé sur un VPS est-il meilleur qu'un service VPN ? et sécurisez l'hôte avec Comment durcir SSH sur un nouveau VPS ?.
En résumé
- Installez unbound et bind9-dnsutils ; configurez dans /etc/unbound/unbound.conf.d/.
- Utilisez interface et access-control pour que seul votre réseau puisse l'interroger.
- Un client qui ne correspond à aucun bloc access-control est refusé.
- hide-identity et hide-version font recevoir REFUSED aux requêtes d'identité et de version.
- Lancez unbound-checkconf avant chaque redémarrage.
- Placez-le dans un tunnel WireGuard ; le DNS classique n'est pas chiffré.
- Ember, $3.74 par mois sur 12 mois, le fait tourner.
Résolveur privé Unbound : questions fréquentes
Unbound valide-t-il DNSSEC ?
Unbound est un résolveur validant, et son manuel décrit les options trust-anchor et harden-dnssec-stripped. Vérifiez votre installation avec dig +dnssec et cherchez le drapeau ad dans la réponse.
Puis-je plutôt transmettre les requêtes à un autre fournisseur DNS ?
Oui, Unbound gère le transfert, mais ce fournisseur voit alors vos requêtes. Ce guide résout de façon récursive, pour qu'aucun fournisseur ne les voie toutes.
Pourquoi unbound-checkconf a-t-il échoué ?
Il signale le fichier et la ligne de la première erreur. Les causes typiques sont une faute de frappe dans un mot-clé ou un deux-points manquant. Corrigez-la et relancez la commande avant de redémarrer le service.
Faut-il ouvrir le port 53 dans le pare-feu ?
Seulement sur l'interface du tunnel. Gardez-le fermé sur l'interface publique, et limitez la liste access-control à votre propre réseau.
À quoi sert prefetch ?
Avec prefetch à yes, un accès au cache dans les derniers 10 % de la durée de vie d'une entrée déclenche un rafraîchissement en arrière-plan. Le manuel indique que cela ajoute environ 10 % de trafic et de charge en plus.
Sources (1)
- Manuel unbound.conf(5) : options du serveur — NLnet Labs (checked 2026-11-10)