Accueil
» Comment faire
»
Chiffrer le DNS amont de Pi-hole sur un serveur Ubuntu 24.04
Chiffrer le DNS amont de Pi-hole sur un serveur Ubuntu 24.04
Dans cet exemple, Linh utilise Pi-hole sur Ubuntu Server 24.04 et souhaite chiffrer les requêtes DNS envoyées par Pi-hole au serveur. Installez le proxy local dnscrypt-proxy, associez-le à un 127.0.0.1:5053serveur local, choisissez un résolveur DNS sur HTTPS (DoH), testez ce proxy, puis configurez Pi-hole pour qu'il l'utilise. Ce guide suppose que Pi-hole est déjà installé et fonctionnel ; Linh est un exemple hypothétique, et non une installation réelle ou un compte rendu de test.
Choisissez une méthode DoH actuelle
Pi-hole n'utilise pas DoH directement pour communiquer avec son résolveur DNS en amont ; il redirige généralement les requêtes DNS vers une adresse IP et un port. Un proxy local assure la liaison entre les deux protocoles : Pi-hole envoie les requêtes DNS standard à un écouteur local privé, et le proxy envoie les requêtes chiffrées au résolveur sélectionné. Dans cet exemple, Linh utilise dnscrypt-proxyle même serveur et configure son écouteur sur une interface de bouclage (loopback), empêchant ainsi les autres appareils de se connecter directement à ce proxy.
Évitez d'utiliser l'ancienne cloudflared proxy-dnsconfiguration pour une nouvelle installation. La page actuelle de Pi-hole concernant Cloudflare indique que cette fonctionnalité a été dépréciée par Cloudflare en novembre 2025 et que son utilisation est déconseillée pour les nouvelles installations. Les instructions de Pi-hole concernant dnscrypt-proxy proposent une alternative maintenue. La liste des paquets pour Ubuntu Noble inclut actuellement cette configurationdnscrypt-proxy ; les versions des paquets varient selon l'architecture et peuvent évoluer lors des mises à jour.
Commande du terminal Ubuntu pour installer dnscrypt-proxy à partir des dépôts de paquets Noble.
1. Installez le paquet Ubuntu
Mettez à jour les listes de paquets d'APT et installez le paquet du dépôt Noble :
sudo apt update
sudo apt install dnscrypt-proxy
Le paquet se trouve dans le composant Universe d'Ubuntu. Si APT ne le trouve pas, vérifiez que Universe est activé et relancez la commande sudo apt update. Ne téléchargez pas une version tierce quelconque pour contourner un problème de configuration du dépôt.
Avant de continuer, vérifiez qu'Ubuntu a bien installé l'unité de socket systemd utilisée par la procédure Pi-hole :
systemctl list-unit-files dnscrypt-proxy.socket
La liste des fichiers du paquet Ubuntu Noble inclut dnscrypt-proxy.socket, et les instructions Pi-hole utilisent ce socket pour fournir un écouteur DNS local sans concurrencer le service de port 53 propre à Pi-hole.
Remplacement du socket avec les écouteurs TCP et UDP effacés et redirigés vers localhost sur le port 5053.
2. Liez le proxy au port 5053 de localhost
Le service DNS FTL de Pi-hole utilise normalement le port 53. Attribuez un port différent à dnscrypt-proxy et configurez-le pour qu'il se lie uniquement au serveur lui-même. Créez une directive systemd personnalisée :
sudo systemctl edit dnscrypt-proxy.socket
Ajoutez ces lignes au fichier de remplacement vide, enregistrez et quittez :
Les affectations vides effacent les écouteurs du port 53 d'origine de l'unité socket avant l'ajout des nouvelles adresses. 127.0.0.1Il est important de conserver l'écouteur par défaut : ne le modifiez pas 0.0.0.0pour cette configuration sur le même hôte, car cela exposerait le proxy sur toutes les interfaces réseau.
Paramètres TOML de dnscrypt-proxy qui utilisent l'activation de socket systemd et sélectionnent le résolveur Cloudflare Security.
3. Sélectionnez le résolveur DoH
Ouvrez le fichier de configuration du paquet :
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
Définissez les valeurs suivantes, en conservant intact le reste de la configuration du package :
Une listen_addressesliste vide indique à dnscrypt-proxy d'utiliser l'activation par socket systemd. Le résolveur Cloudflare Security, nommé en exemple, est utilisé dans le guide dnscrypt-proxy de Pi-hole ; il applique le filtrage anti-malware du résolveur en plus des listes de blocage propres à Pi-hole. Si vous préférez un autre fournisseur ou si vous n'utilisez aucun filtrage de sécurité supplémentaire, choisissez un résolveur DoH à jour dans la liste publique des résolveurs et utilisez son nom de serveur exact. Les noms disponibles et les politiques des résolveurs peuvent changer ; vérifiez donc l'entrée actuelle plutôt que de copier un nom obsolète provenant d'une ancienne publication.
Redémarrez le socket et le service pour que les paramètres de remplacement et TOML soient pris en compte :
Ensuite, testez l'écouteur local avant de modifier la configuration en amont de Pi-hole :
dig @127.0.0.1 -p 5053 example.com
Une réponse DNS et un code de sortie nul indiquent que le proxy local a répondu à la requête. Pour confirmer que le serveur en amont sélectionné utilise DoH, consultez les messages de service récents et recherchez le résolveur marquéOK (DoH) :
Si le paquet dign'est pas installé, installez dnsutilscelui d'Ubuntu. Si la requête expire ou si le journal ne mentionne aucun résolveur DoH, consultez sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.servicele journal des services avant de poursuivre.
Commande CLI Pi-hole pour configurer le proxy DNS chiffré local comme résolveur en amont.
4. Configurez Pi-hole pour qu'il utilise le proxy local.
Une fois le test local concluant, remplacez la liste des serveurs en amont de Pi-hole par le serveur local :
Cette valeur utilise le format de serveur DNS amont personnalisé de Pi-hole : 127.0.0.1l'hôte local et #5053le port DNS non standard. Vous pouvez également la saisir 127.0.0.1#5053dans Paramètres > DNS > Serveurs DNS amont personnalisés de l'interface d'administration de Pi-hole. Décochez les serveurs DNS amont publics prédéfinis et enregistrez, sinon Pi-hole risque de continuer à leur envoyer directement certaines requêtes sans utiliser DoH.
Vérifiez le chemin complet
Interrogez Pi-hole lui-même, en utilisant son adresse LAN à la place dePIHOLE_IP :
dig @PIHOLE_IP example.com
Vérifiez que la résolution DNS réussit : le journal des requêtes de Pi-hole affiche la requête du client, et l’état du service ou les journaux de dnscrypt-proxy indiquent que le serveur DNS sélectionné est accessible. Le chemin résultant devrait être le suivant : client vers Pi-hole sur votre réseau local, puis Pi-hole vers le proxy local, et enfin le proxy vers le résolveur DoH. Ceci chiffre la liaison entre le serveur et le résolveur ; cela ne chiffre pas le trafic DNS ordinaire entre un client et Pi-hole sur le réseau local, ne masque pas les requêtes provenant du résolveur choisi et ne transforme pas Pi-hole en VPN.