🛠 Pi-hole : bloqueur de pub DNS sur Zero W
Objectifs
Transformer la Zero W en serveur DNS filtrant Pi-hole : 512 MB suffisent largement, et le Wi-Fi supprime le dongle Ethernet qu'exigeait la Zero sans radio.
Matériel
- 1 Raspberry Pi Zero W connectée au Wi-Fi (tuto connexion) et à jour
- Adresse IP statique de la carte sur le LAN
Étapes
- Installez l'installeur officiel :
curl -sSL 0 | bash(lisez les invites : l'interface de résolution écoutera surwlan0). - Fixez l'adresse : bail DHCP statique dans la box, sinon le DNS suivra une IP fantôme.
- Pointez les clients vers la carte : soit en DHCP option 6 sur la box, soit manuellement (DNS = IP de la Zero W) sur un appareil test.
- Suivez l'activité :
pihole -cdans le terminal affiche requêtes bloquées/autorisées en direct ; l'interface web est surhttp://<ip>/admin.
free -m # le démon pihole-FTL reste sous ~100 Mo
pihole -g # met à jour les listes de blocage
Vérification
nslookup doubleclick.net 127.0.0.1 renvoie l'IP de la Zero W (0.0.0.0 selon la config) : le filtrage fonctionne.
Erreurs fréquentes
- Oublier de remettre le DNS à jour côté clients : rien ne transite par Pi-hole.
- Ne pas monitorer la RAM : avec 512 MB partagés CPU/GPU, évitez d'ajouter un serveur web lourd à côté.
- Wi-Fi encombré : la latence perçue vient du lien radio, pas de Pi-hole.
Autres tutoriels pour cette carte
- Premier démarrage headless de la Zero W (Wi-Fi + SSH)
- Suder le header 40 broches et faire clignoter une LED
- Se connecter au Wi-Fi en ligne de commande (nmcli)
- Gadget USB : Ethernet sur le port OTG + relais Wi-Fi
- Balise BLE : diffuser un beacon avec le CYW43438
- Nœud capteur autonome sur batterie : énergie et fiabilité
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash