Praxis'

Super modérateur
Inscription
7 Février 2016
Messages
9 906
Réactions
4 342
Points
20 421
1586686953683.png


Les pubs, trackers, nous envahissent au quotidien. Une solution existe pour bloquer tous ces éléments indésirables et protéger ainsi sa vie privée, son nom ? Le PiHole !

Le PiHole tient son nom du principe des trous noirs, il agira en tant que filtre sur les requêtes qui transitent sur votre réseau. Les requêtes indésirables seront alors redirigées.. nul part.

Le principe en détail.. Le filtrage du PiHole se fait au niveau des requêtes DNS, en effet : Avant de vous connecter à un site, un échange est fait avec un serveur DNS qui va vous fournir l'adresse IP du serveur en question, afin de vous connecter à celui-ci.

Schéma d'explication

1586687038620.png



Plutot simple me direz-vous, mais extrêmement efficace. Le PiHole bien configuré est une barrière infranchissable pour les serveurs indésirables, dans certains cas il peut bloquer jusqu'à 60% du trafic de votre réseau, c'est à dire que 60% des requêtes transitant sur le réseau étaient de la pub, des tracker ou autre!

Prenons pour exemple mon réseau personnel de 10 machines.

1586687067460.png




Dans ce tutoriel, nous allons voir comment installer PiHole sur un Orange Pi et ensuite comment le configurer correctement avec vos différents appareils.

Pour réaliser ce projet, du matériels ainsi que certains logiciels sont requis, je vous conseil de garder PuTTY installé sur votre ordinateur car il sera utile pour débugger le Pi si il y a un soucis.​

Matériels:
  • Un Orange Pi Zero 512Mo RAM |
  • Une carte SD de 16Go vierge |
  • Un câble Ethernet*
  • Un câble micro-USB
Logiciels:
  • Etcher :
  • PuTTY :
  • Armbian OS :
  • 7zip :

*le câble Ethernet n'est pas indispensable car le Orange Pi peut se connecter en WiFi, cependant je ne traiterais pas ce cas spécifique dans ce tutoriel. Cependant, je vous recommande fortement de passer par un câble ethernet.​
1586687101253.png


Installation de l'OS & connexion

Une fois les logiciels installés et tout le matériels réunis, lançons-nous dans l'installation !

Pré-requis : ArmbianOS, Etcher, carte SD, Orange pi, câble micro-USB, câble ethernet

Premièrement, dézipper le fichier téléchargé au format .7z

1586687118589.png


Insérer la carte SD dans l'ordinateur

Lancer le logiciel Etcher suivez la procédure pour flasher l'OS.

1jk1f40.gif


Cliquer sur "Flash!"

1586687135563.png


Une fois terminé la carte SD ne devrait plus être reconnu par l'ordinateur, vous pouvez alors la débrancher.

Ensuite, insérer la carte SD dans le Orange Pi, brancher le cable Ethernet et pour finir le câble USB

L'OS va s'installer, patienter quelques instant, une led verte devrait s'allumer à gauche du port USB

Connectez-vous à l'interface de votre box : 192.168.1.1

Les logins de ce panel sont : admin adminadmin <les 8 premiers caractères de votre clé de sécurité>*

Sur la page "Mon réseau" trouver l'IP du Pi

Configurer une adresse IP statique pour le Pi. **​
*Cela peut varier en fonction des opérateurs

**Chercher sur Google : Comment attribuer une IP statique à un appareil sur box <votre opérateur>

Ensuite, lancez PuTTY pour se connecter au Pi via SSH. Dans mon cas, l'adresse IP est 192.168.1.49

A vous de rentrer l'adresse IP correspondante à votre Pi.

1586687151397.png


Une fênetre s'ouvre vous signalant un soucis de sécurité, cliquer sur "Oui"
C'est juste que Putty ne connait pas encore cette machine.
1586687156985.png


Au premier démarrage, le login sera "root" et le mot de passe "1234" vous êtes invité à le changer.

1586687162301.png


Vous allez ensuite créer un utilisateur avec un pseudo que vous choisirez, mettez le même mot de passe que précédemment. Pour les informations personnelles appuyez sur "Entrer" pour les passer.

Installation et configuration du PiHole

On y est, l'OS est installé et nous allons installer le PiHole et ensuite le configurer

Tapez cette commande qui lancera l'installeur du PiHole

Code:
curl -L https://install.pi-hole.net | bash

Laisser le programme tourner, il va installer les différents composants nécessaires au fonctionnement du PiHole.


Le menu de configuration apparait, appuyez sur "Entrer" sur les premières fenêtres


1586687170515.png


1586687175697.png



1586687181518.png


Pour sélectionner le "Ok" appuyer sur la touche "Tab"

1586687191555.png


1586687198239.png


1586687203067.png


Penser à noter votre mot de passe !

Pour finir, on met à jour l'installation et on redémarre.
Code:
sudo apt-get update && sudo apt-get upgrade
sudo reboot

Si ce message apparaît :
1586687211542.png


Sélectionner "Keep the local version currently installed" et appuyer sur "Entrer"

Il arrive parfois que l'installation ne fonctionne pas, et que la page d'administration renvoie une erreur. Dans ce cas, reprenez le tutoriel à partir de la partie "Installation et configuration du PiHole".

Vous pouvez changer le mot de passe par défaut avec cette commande :

Code:
pihole -a -p lenouveaumotdepasse

Découverte de l'interface du PiHole

Dans votre navigateur préféré, entrez l'adresse IP de votre PiHole, dans mon cas :
  • 192.168.1.49/admin
Entrez votre mot de passe, vous tomberez alors sur cette page :

1586687218730.png

  • Dashboard
    • Page principal affichant les statistiques du PiHole
  • Query Log
    • Affiche la listes des requêtes traitées par le PiHole
  • Long Terme data
    • Affiche les statistiques sur le long terme
  • Whitelist
    • Permet d'ajouter des domaines à une liste blanche pour les autoriser manuellement
  • Blacklist
    • Permet d'ajouter des domaines à une liste noir pour les bloquer manuellement
  • Disable
    • Permet de désactiver le filtrage du PiHole pendant un certains temps
  • Tools
    • Plusieurs outils de debugging et de maintenace
  • Network
    • Affiche les appareils utilisant le PiHole en tant que DNS
  • Settings
    • Affiche les paramètres du PiHole
  • Logout, Donate, Help..

Comment utiliser le PiHole en tant que DNS sur ses appareils ?

Il est possible d'utiliser le PiHole en tant que serveur DNS de sa box, cependant certains opérateurs (Orange par ex) bloquent cette opération avec des DNS fixes. Il est possible de contourner ce soucis en utilisant le serveur DHCP du PiHole, mais il se peut que des éléments du réseau dysfonctionnent, par exemple le décodeur qui a besoins de DNS spécifiques chez Orange.

Solutions:
  • Chercher sur Internet "Comment changer DNS sur box <nom-opérateur>
  • Utiliser le serveur DHCP du PiHole (Utilisateur avancé)
  • Configurer les DNS du PiHole soit même sur chaque appareil (solution recommandée)

Pour Windows

Panneau de configuration --> Réseau et Internet --> Centre réseau et partage
Cliquer sur "Ethernet" Ou "WiFi"
1586687238019.png


Une petite fenêtre s'ouvre, cliquer sur "Propriétés" en bas à gauche.

Chercher & double cliquer sur "Protocole Internet Version 4 (TCP/IPv4)"

1586687244691.png


Remplissez ensuite "Serveur DNS préféré" avec l'adresse IP de votre PiHole.
1586687269405.png


Pour Android, Mac & iOS je vous invite à consulter ce tutoriel :

Procédures utiles

Ajouter des blocklists au PiHole


Pour bloquer plus de domaine, il faut mettre à jour les blocklists du PiHole.
Pour cela, cliquer sur "Settings" puis onglet "Blocklists"

1586687279601.png


Ajouter vos liens de listes, un lien par ligne, puis cliquer sur "Save and Update"

Voici des liens de regroupement de blacklists utiles :
  • Vous devez être inscrit pour voir les médias
Vous pouvez toutes les copier coller d'un seul coup, n'oubliez pas de cliquer sur "Save and Update"!

Remarque: Plus vous ajoutez de blacklist liste, plus vous aurez de faux positif. Il vous faudra alors whitelist vous même les sites que vous voulez visiter.​

Ajouter des domaines dans la whitelist

Il se peut parfois que des sites auxquels vous souhaitez accéder soit blacklisté dans les listes que vous avez installé.

Solution:
  1. Aller sur l'interface admin du PiHole (par exemple 192.168.1.100/admin)
  2. Rubrique "Queries"
  3. Trouver le site blacklist auquel vous souhaitez accéder
  4. Cliquer sur "Whitelist"
Accélérer le PiHole

Il se peut parfois que votre PiHole soit lent à traiter certaines requêtes.
Pour palier à ce problème, connectez vous au PiHole en SSH et entrez les commandes suivantes :


Code:
sudo -s
iptables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp-port-unreachable

ip6tables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
ip6tables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp6-port-unreachable
ip6tables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp6-port-unreachable

Puis on sauvegarde les nouvelles règles iptables :

Code:
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

Sources & explications :

Changer le nom de domaine du PiHole

Si vous disposez de plusieurs services, il peut être intéressant de les mettre sur le même nom de domaine, même si cela ne sont pas exposés sur internet. Ainsi, au lieu de taper l'adresse IP de votre PiHole pour vous connecter à l'interface, vous taperez un nom de domaine choisi par vos soins. Exemple : pihole.monserveur.fr

Connectez vous au PiHole en SSH et entrez les commandes suivantes :

Code:
cd /var/www/html/pihole
nano index.php

Puis changer le texte suivant :
Code:
if ($serverName === "pi.hole")

Par le nom de domaine que vous avez choisi :
Code:
if ($serverName === "pihole.monserveur.fr")

Concernant l'IPv6

Si vous êtes un utilisateurs expérimentés, vous pouvez activer l'IPv6. Sa gestion reste hasardeuse et souvent source de problème.

Pour aller plus loin

Comment utiliser PiHole pour créer une loopback ? (Résolution DNS local)
Comment installer PiVPN avec PiHole pour profiter du filtrage du PiHole même en 4G ?
  • A venir

Conclusion

Le PiHole est une solution extrêmement puissante pouvant tourner sur quasi n'importe quel matériel doté d'une connexion internet. C'est une solution simple et efficace pour combattre les perpétuelles intrusions dans nos vies privées des géant du web.
 
Dernière édition:
M

Membre 858510

Moi qui pensais que c'était juste une extension à ajouter à un navigateur… J'avais tout faux et pour le coup… Je sais pas si ça peut bloquer pas mal de sites par rapport à la navigation
 

Praxis'

Super modérateur
Inscription
7 Février 2016
Messages
9 906
Réactions
4 342
Points
20 421
Moi qui pensais que c'était juste une extension à ajouter à un navigateur… J'avais tout faux et pour le coup… Je sais pas si ça peut bloquer pas mal de sites par rapport à la navigation
Ca en bloque énormément, après c'est en fonction de ta blacklist. Moi j'ai déjà ma whitelist de complète quasiment donc j'ai très peu de faux positif :)
 

Krytøx | RG

Premium
Inscription
23 Mai 2012
Messages
1 930
Réactions
850
Points
18 063
Joli tuto, je l'ai déjà utiliser mais j'ai eu des soucis avec, il me bloquer les lecteurs pour les animés ou alors il ne bloquer pas du tout la page certains sites c'est tout ou rien :/ j'ai finis par le virer dommage
 

Praxis'

Super modérateur
Inscription
7 Février 2016
Messages
9 906
Réactions
4 342
Points
20 421
Joli tuto, je l'ai déjà utiliser mais j'ai eu des soucis avec, il me bloquer les lecteurs pour les animés ou alors il ne bloquer pas du tout la page certains sites c'est tout ou rien :/ j'ai finis par le virer dommage
Suffit de les whitelist pour le coup, au début c'est assez chiant mais sur la fin il y en a très peu
 

Praxis'

Super modérateur
Inscription
7 Février 2016
Messages
9 906
Réactions
4 342
Points
20 421
Très bonne solution locale, j'essaye :p
Perso je préfère largement avoir mes propres filtrages DNS, je trouve ça paradoxal de demander à quelqu'un d'autre de les filtrer étant donné que ce système aura accès à toute les requêtes
 

Karuma

a soul in a temporary vessel
Premium
Inscription
31 Mai 2012
Messages
5 431
Réactions
948
Points
14 975
Voir la pièce jointe 128016

Les pubs, trackers, nous envahissent au quotidien. Une solution existe pour bloquer tous ces éléments indésirables et protéger ainsi sa vie privée, son nom ? Le PiHole !

Le PiHole tient son nom du principe des trous noirs, il agira en tant que filtre sur les requêtes qui transitent sur votre réseau. Les requêtes indésirables seront alors redirigées.. nul part.

Le principe en détail.. Le filtrage du PiHole se fait au niveau des requêtes DNS, en effet : Avant de vous connecter à un site, un échange est fait avec un serveur DNS qui va vous fournir l'adresse IP du serveur en question, afin de vous connecter à celui-ci.

Schéma d'explication

Voir la pièce jointe 128020


Plutot simple me direz-vous, mais extrêmement efficace. Le PiHole bien configuré est une barrière infranchissable pour les serveurs indésirables, dans certains cas il peut bloquer jusqu'à 60% du trafic de votre réseau, c'est à dire que 60% des requêtes transitant sur le réseau étaient de la pub, des tracker ou autre!

Prenons pour exemple mon réseau personnel de 10 machines.

Voir la pièce jointe 128021



Dans ce tutoriel, nous allons voir comment installer PiHole sur un Orange Pi et ensuite comment le configurer correctement avec vos différents appareils.

Pour réaliser ce projet, du matériels ainsi que certains logiciels sont requis, je vous conseil de garder PuTTY installé sur votre ordinateur car il sera utile pour débugger le Pi si il y a un soucis.​

Matériels:
  • Un Orange Pi Zero 512Mo RAM |
  • Une carte SD de 16Go vierge |
  • Un câble Ethernet*
  • Un câble micro-USB
Logiciels:
  • Etcher :
  • PuTTY :
  • Armbian OS :
  • 7zip :

*le câble Ethernet n'est pas indispensable car le Orange Pi peut se connecter en WiFi, cependant je ne traiterais pas ce cas spécifique dans ce tutoriel. Cependant, je vous recommande fortement de passer par un câble ethernet.​
Voir la pièce jointe 128022

Installation de l'OS & connexion

Une fois les logiciels installés et tout le matériels réunis, lançons-nous dans l'installation !

Pré-requis : ArmbianOS, Etcher, carte SD, Orange pi, câble micro-USB, câble ethernet

Premièrement, dézipper le fichier téléchargé au format .7z

Voir la pièce jointe 128023

Insérer la carte SD dans l'ordinateur

Lancer le logiciel Etcher suivez la procédure pour flasher l'OS.

1jk1f40.gif


Cliquer sur "Flash!"

Voir la pièce jointe 128024

Une fois terminé la carte SD ne devrait plus être reconnu par l'ordinateur, vous pouvez alors la débrancher.

Ensuite, insérer la carte SD dans le Orange Pi, brancher le cable Ethernet et pour finir le câble USB

L'OS va s'installer, patienter quelques instant, une led verte devrait s'allumer à gauche du port USB

Connectez-vous à l'interface de votre box : 192.168.1.1

Les logins de ce panel sont : admin adminadmin <les 8 premiers caractères de votre clé de sécurité>*

Sur la page "Mon réseau" trouver l'IP du Pi

Configurer une adresse IP statique pour le Pi. **​
*Cela peut varier en fonction des opérateurs

**Chercher sur Google : Comment attribuer une IP statique à un appareil sur box <votre opérateur>

Ensuite, lancez PuTTY pour se connecter au Pi via SSH. Dans mon cas, l'adresse IP est 192.168.1.49

A vous de rentrer l'adresse IP correspondante à votre Pi.

Voir la pièce jointe 128025

Une fênetre s'ouvre vous signalant un soucis de sécurité, cliquer sur "Oui"
C'est juste que Putty ne connait pas encore cette machine.
Voir la pièce jointe 128026

Au premier démarrage, le login sera "root" et le mot de passe "1234" vous êtes invité à le changer.

Voir la pièce jointe 128027

Vous allez ensuite créer un utilisateur avec un pseudo que vous choisirez, mettez le même mot de passe que précédemment. Pour les informations personnelles appuyez sur "Entrer" pour les passer.

Installation et configuration du PiHole

On y est, l'OS est installé et nous allons installer le PiHole et ensuite le configurer

Tapez cette commande qui lancera l'installeur du PiHole

Code:
curl -L https://install.pi-hole.net | bash

Laisser le programme tourner, il va installer les différents composants nécessaires au fonctionnement du PiHole.


Le menu de configuration apparait, appuyez sur "Entrer" sur les premières fenêtres


Voir la pièce jointe 128028

Voir la pièce jointe 128029


Voir la pièce jointe 128030

Pour sélectionner le "Ok" appuyer sur la touche "Tab"

Voir la pièce jointe 128031

Voir la pièce jointe 128032

Voir la pièce jointe 128033

Penser à noter votre mot de passe !

Pour finir, on met à jour l'installation et on redémarre.
Code:
sudo apt-get update && sudo apt-get upgrade
sudo reboot

Si ce message apparaît :
Voir la pièce jointe 128034

Sélectionner "Keep the local version currently installed" et appuyer sur "Entrer"

Il arrive parfois que l'installation ne fonctionne pas, et que la page d'administration renvoie une erreur. Dans ce cas, reprenez le tutoriel à partir de la partie "Installation et configuration du PiHole".

Vous pouvez changer le mot de passe par défaut avec cette commande :

Code:
pihole -a -p lenouveaumotdepasse

Découverte de l'interface du PiHole

Dans votre navigateur préférer, entrez l'adresse IP de votre PiHole, dans mon cas :
  • 192.168.1.49/admin
Entrez votre mot de passe, vous tomberez alors sur cette page :


  • Dashboard
    • Page principal affichant les statistiques du PiHole
  • Query Log
    • Affiche la listes des requêtes traitées par le PiHole
  • Long Terme data
    • Affiche les statistiques sur le long terme
  • Whitelist
    • Permet d'ajouter des domaines à une liste blanche pour les autoriser manuellement
  • Blacklist
    • Permet d'ajouter des domaines à une liste noir pour les bloquer manuellement
  • Disable
    • Permet de désactiver le filtrage du PiHole pendant un certains temps
  • Tools
    • Plusieurs outils de debugging et de maintenace
  • Network
    • Affiche les appareils utilisant le PiHole en tant que DNS
  • Settings
    • Affiche les paramètres du PiHole
  • Logout, Donate, Help..

Comment utiliser le PiHole en tant que DNS sur ses appareils ?

Il est possible d'utiliser le PiHole en tant que serveur DNS de sa box, cependant certains opérateurs (Orange par ex) bloquent cette opération avec des DNS fixes. Il est possible de contourner ce soucis en utilisant le serveur DHCP du PiHole, mais il se peut que des éléments du réseau dysfonctionnent, par exemple le décodeur qui a besoins de DNS spécifiques chez Orange.

Solutions:
  • Chercher sur Internet "Comment changer DNS sur box <nom-opérateur>
  • Utiliser le serveur DHCP du PiHole (Utilisateur avancé)
  • Configurer les DNS du PiHole soit même sur chaque appareil (solution recommandée)

Pour Windows

Panneau de configuration --> Réseau et Internet --> Centre réseau et partage
Cliquer sur "Ethernet" Ou "WiFi"
Voir la pièce jointe 128036

Une petite fenêtre s'ouvre, cliquer sur "Propriétés" en bas à gauche.

Chercher & double cliquer sur "Protocole Internet Version 4 (TCP/IPv4)"

Voir la pièce jointe 128037

Remplissez ensuite "Serveur DNS préféré" avec l'adresse IP de votre PiHole.
Voir la pièce jointe 128038

Pour Android, Mac & iOS je vous invite à consulter ce tutoriel :

Procédures utiles

Ajouter des blocklists au PiHole


Pour bloquer plus de domaine, il faut mettre à jour les blocklists du PiHole.
Pour cela, cliquer sur "Settings" puis onglet "Blocklists"

Voir la pièce jointe 128039

Ajouter vos liens de listes, un lien par ligne, puis cliquer sur "Save and Update"

Voici des liens de regroupement de blacklists utiles :
  • Vous devez être inscrit pour voir les médias
Vous pouvez toutes les copier coller d'un seul coup, n'oubliez pas de cliquer sur "Save and Update"!

Remarque: Plus vous ajoutez de blacklist liste, plus vous aurez de faux positif. Il vous faudra alors whitelist vous même les sites que vous voulez visiter.​

Ajouter des domaines dans la whitelist

Il se peut parfois que des sites auxquels vous souhaitez accéder soit blacklisté dans les listes que vous avez installé.

Solution:
  1. Aller sur l'interface admin du PiHole (par exemple 192.168.1.100/admin)
  2. Rubrique "Queries"
  3. Trouver le site blacklist auquel vous souhaitez accéder
  4. Cliquer sur "Whitelist"
Accélérer le PiHole

Il se peut parfois que votre PiHole soit lent à traiter certaines requêtes.
Pour palier à ce problème, connectez vous au PiHole en SSH et entrez les commandes suivantes :


Code:
sudo -s
iptables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
iptables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp-port-unreachable
iptables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp-port-unreachable

ip6tables -A INPUT -p tcp --destination-port 443 -j REJECT --reject-with tcp-reset
ip6tables -A INPUT -p udp --destination-port 80 -j REJECT --reject-with icmp6-port-unreachable
ip6tables -A INPUT -p udp --destination-port 443 -j REJECT --reject-with icmp6-port-unreachable

Puis on sauvegarde les nouvelles règles iptables :

Code:
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

Sources & explications :

Changer le nom de domaine du PiHole

Si vous disposez de plusieurs services, il peut être intéressant de les mettre sur le même nom de domaine, même si cela ne sont pas exposés sur internet. Ainsi, au lieu de taper l'adresse IP de votre PiHole pour vous connecter à l'interface, vous taperez un nom de domaine choisi par vos soins. Exemple : pihole.monserveur.fr

Connectez vous au PiHole en SSH et entrez les commandes suivantes :

Code:
cd /var/www/html/pihole
nano index.php

Puis changer le texte suivant :
Code:
if ($serverName === "pi.hole")

Par le nom de domaine que vous avez choisi :
Code:
if ($serverName === "pihole.monserveur.fr")

Concernant l'IPv6

Si vous êtes un utilisateurs expérimentés, vous pouvez activer l'IPv6. Sa gestion reste hasardeuse et souvent source de problème.

Pour aller plus loin

Comment utiliser PiHole pour créer une loopback ? (Résolution DNS local)
Comment installer PiVPN avec PiHole pour profiter du filtrage du PiHole même en 4G ?
  • A venir

Conclusion

Le PiHole est une solution extrêmement puissante pouvant tourner sur quasi n'importe quel matériel doté d'une connexion internet. C'est une solution simple et efficace pour combattre les perpétuelles intrusions dans nos vies privées des géant du web.
Wow super complet GG ! Tu explique super bien c'est agréable à lire. Petite question ; est-ce valide seulement pour les gens de France ? Car j'ai essayer de trouver le truc pour IP statique avec ma '' box '' mais dans mon pays c'est plus complexe. Merci à toi !
 

Praxis'

Super modérateur
Inscription
7 Février 2016
Messages
9 906
Réactions
4 342
Points
20 421
Wow super complet GG ! Tu explique super bien c'est agréable à lire. Petite question ; est-ce valide seulement pour les gens de France ? Car j'ai essayer de trouver le truc pour IP statique avec ma '' box '' mais dans mon pays c'est plus complexe. Merci à toi !
Non cela est valable partout !
Pour l'ip statique, le mieux est de chercher directement dans le manuel de son routeur / box sur comment cela est géré :)
 
Haut