Table des matières

Configuration de WireGuard, Pi-hole et Android pour utiliser les DNS de Pi-hole

Ce guide vous explique comment configurer WireGuard, Pi-hole et un appareil Android pour que les requêtes DNS de l'appareil Android soient traitées par Pi-hole.

Configuration de Pi-hole

1. Installer Pi-hole :

  1. Exécutez la commande suivante sur votre Raspberry Pi ou un autre serveur pour commencer l'installation de Pi-hole :
     curl -sSL https://install.pi-hole.net | bash
     
  1. Suivez les instructions à l'écran pour configurer Pi-hole. Notez l'adresse IP de votre Pi-hole.

2. Configurer Pi-hole :

  1. Accédez à l'interface web de Pi-hole (généralement http://<adresse_IP_de_pi-hole>/admin) et configurez les paramètres selon vos besoins.
  2. Assurez-vous que Pi-hole est configuré pour écouter sur l'adresse IP que vous utiliserez pour votre réseau VPN.

Configuration de WireGuard

1. Installer WireGuard :

  1. Sur votre serveur (qui peut être le même que celui où Pi-hole est installé), installez WireGuard. Par exemple, sur un Raspberry Pi :
     sudo apt update
     sudo apt install wireguard
     

2. Configurer WireGuard :

  1. Générez les clés pour le serveur et les clients :
     wg genkey | tee server_private_key | wg pubkey > server_public_key
     wg genkey | tee client_private_key | wg pubkey > client_public_key
     
  1. Créez un fichier de configuration pour le serveur (`/etc/wireguard/wg0.conf`) :
     [Interface]
     PrivateKey = <contenu_de_server_private_key>
     Address = 10.0.0.1/24
     ListenPort = 51820

     [Peer]
     PublicKey = <contenu_de_client_public_key>
     AllowedIPs = 10.0.0.2/32
     
  1. Activez et démarrez WireGuard :
     sudo wg-quick up wg0
     sudo systemctl enable wg-quick@wg0
     

3. Configurer le client WireGuard :

  1. Sur votre appareil Android, installez l'application WireGuard depuis le Google Play Store.
  2. Créez un fichier de configuration pour le client (`client.conf`) :
     [Interface]
     PrivateKey = <contenu_de_client_private_key>
     Address = 10.0.0.2/24
     DNS = <adresse_IP_de_pi-hole>

     [Peer]
     PublicKey = <contenu_de_server_public_key>
     Endpoint = <adresse_IP_du_serveur>:51820
     AllowedIPs = 0.0.0.0/0, ::/0
     
  1. Importez ce fichier de configuration dans l'application WireGuard sur votre appareil Android.

Configuration d'Android

1. Installer l'application WireGuard :

  1. Téléchargez et installez l'application WireGuard depuis le Google Play Store.

2. Importer la configuration WireGuard :

  1. Ouvrez l'application WireGuard.
  2. Appuyez sur le bouton “+” pour ajouter un nouveau tunnel.
  3. Sélectionnez “Importer depuis un fichier ou un QR code”.
  4. Importez le fichier de configuration `client.conf` que vous avez créé précédemment.

3. Configurer les paramètres DNS :

  1. Dans l'application WireGuard, ouvrez le profil que vous venez d'importer.
  2. Assurez-vous que la ligne `DNS` dans la section `[Interface]` pointe vers l'adresse IP de votre Pi-hole.
  3. Enregistrez les modifications.

4. Activer le VPN WireGuard :

  1. Activez le profil WireGuard en appuyant sur le bouton d'activation.
  2. Une fois activé, toutes les requêtes DNS de votre appareil Android devraient passer par Pi-hole.

Vérification finale

1. Tester la connexion :

  1. Assurez-vous que votre appareil Android peut accéder à Internet via le VPN WireGuard.
  2. Vérifiez que les requêtes DNS sont bien filtrées par Pi-hole en consultant les logs de Pi-hole dans l'interface web.

2. Vérifier les paramètres DNS :

  1. Utilisez une application de diagnostic réseau ou un outil en ligne comme [dnsleaktest.com](https://www.dnsleaktest.com) pour vérifier que les requêtes DNS sont dirigées vers l'adresse IP de votre Pi-hole.

Résolution des problèmes

- Si les requêtes DNS ne passent pas par Pi-hole :

  1. Vérifiez que l'adresse IP de Pi-hole est correctement configurée dans le fichier de configuration WireGuard.
  2. Assurez-vous que Pi-hole est configuré pour écouter sur l'adresse IP que vous avez spécifiée.
  3. Vérifiez les logs de Pi-hole pour voir si les requêtes DNS sont reçues.

En suivant ces étapes, vous devriez être en mesure de configurer WireGuard, Pi-hole et Android pour que les DNS de votre appareil Android soient ceux fournis par Pi-hole.