Pihole comme DHCP serveur avec la box Orange

J’ai finalement décidé d’utiliser mon serveur Pihole comme serveur DHCP. Il sera donc en charge d’attribuer les adresses IP sur mon réseau local, et se définira en même temps comme serveur DNS. De cette façon, tous les appareils du réseau bénéficieront du filtre anti-pubs de Pihole.

On verra en fin d’article que cela apporte pas mal d’informations sur ce qui se passe sur mon réseau local, j’ai fait des découvertes. 😮

Il aurait été plus simple de définir le serveur DNS au niveau de la box, mais Orange ne permet pas de changer ceux-ci, pour des raisons de VOIP apparemment. Autre problème avec cette box, le décodeur TV d’Orange doit obtenir son adresse de la box (un VLAN est créé semble-t-il), sinon plus de TV ! Ce sont d’ailleurs les deux gros reproches que l’on faire à Orange au niveau de sa box ! 🙁

Ce dernier problème m’a fait longuement fait hésiter à faire la manip, et puis finalement je me suis décidé à franchir le pas, car parfois le DNS IPv6 de la box (attribué lors de la requête DHCP) prenait le pas sur le DNS IPv4 (définit manuellement sur le PC pour pointer sur Pihole, voir cet article) sans que je sache vraiment pourquoi.

Il était temps de reprendre le contrôle…

Le décodeur TV

Avant d’activer le serveur DHCP de Pihole, il va d’abord falloir s’organiser pour que le décodeur d’Orange obtienne toujours son adresse IP de la box Orange.

Pour cela, on va faire deux choses : limiter au minimum le champ d’adresses disponibles sur la box, puis ajouter l’adresse MAC du décodeur dans la liste des adresses rejetées par le serveur Pihole.

Sur la box, il suffit d’aller dans l’interface de gestion, Configuration avancée, onglet DHCP, et de définir le « scope » comme suit (c’est un exemple) :

On ne peut pas mettre la même adresse comme début et fin…

Redémarrer la box puis le décodeur, et vérifier que la TV fonctionne. Sur cette même page, récupérer l’adresse MAC du décodeur :

L’adresse MAC est l’adresse hardware du décodeur.

Reste à exclure cette adresse du serveur Pihole. De ce que j’ai lu, Pihole utilise un fork de dnsmasq, on peut donc à priori utiliser ses fonctionnalités. J’ai donc créé un fichier 04-bypass.conf dans /etc/dnsmasqd comme suit :

C’est d’ailleurs ce qui est indiqué dans le fichier 01-pihole.conf créé pendant l’installation :

FILE AUTOMATICALLY POPULATED BY PI-HOLE INSTALL/UPDATE PROCEDURE.
ANY CHANGES MADE TO THIS FILE AFTER INSTALL WILL BE LOST ON THE NEXT UPDATE.
ANY OTHER CHANGES SHOULD BE MADE IN A SEPARATE CONFIG FILE WITHIN /etc/dnsmasq.d/yourname.conf

Le serveur

On peut maintenant activer le serveur DHCP de Pihole (dans Settings), en s’assurant d’affecter un ‘range’ d’adresses différentes de celle de la box Orange, et en définissant cette dernière comme routeur :

Pour le domaine, j’ai mis la même chose que la box Orange. Et pour la durée du bail, 1 an pour être tranquille.

Avant de redémarrer le serveur Pihole, il reste une chose importante à faire, c’est de lui assigner une adresse IP fixe. C’est normalement fait lors de l’installation de Pihole, et je ne sais pas trop où cette information est stockée.

J’ai toutefois procédé comme indiqué sur Raspbian, en renseignant le fichier /etc/dhcp/dhcpd.conf. On trouve le nom des interfaces en faisant un ip link, puis on définit ce que l’on souhaite :

interface eth0
static ip_address=192.168.1.18/24
static routers=192.168.1.1
static domain_name_servers=208.67.222.222 208.67.220.220
interface wlan0
static ip_address=192.168.1.17/24
static routers=192.168.1.1
static domain_name_servers=208.67.222.222 208.67.220.220

J’ai donc deux interfaces actives : eth0 pour ethernet, et wlan0 pour le wifi. Les deux serveurs DNS définis sont ceux d’OpendDNS. Au passage, le fichier pour le mot de passe wifi est /etc/wpa_supplicant/wpa_supplicant.conf.

À ce stade, on peut redémarrer le serveur Pihole, et dans la foulée redémarrer le décodeur TV pour vérifier qu’il obtient toujours son adresse de la box, et que la TV fonctionne.

Si tout se passe bien, on peut passer au reste des appareils sur le réseau, à savoir mon PC desktop, un PC portable, mon smartphone BQ Aquaris, la TV, etc… Vérifier que tout se passe bien, et éventuellement assigner des baux fixes à chaque appareil :

On voir même ma liseuse Kobo !

Sur le PC, on peut vérifier en allant voir le fichier /var/lib/dhcp/dhclient.leases :

On voit bien que le nouveau serveur DHCP est le serveur Pihole, qui fait aussi office de serveur DNS.

On peut aussi forcer le renouvellement de notre adresse IP, ici sur mon portable, avec la commande dhclient -d -nw wlp2s0 (après avoir identifié le nom de l’interface wifi) :

On voit même le DHCPNAK (refus) de la box orange.

Voilà, tout fonctionne comme attendu. Désormais, tous les appareils sur le réseau bénéficient de Pihole comme bloqueur de pub, c’est plutôt sympa :

On voit que mon serveur odroidhc2 est plutôt bavard : c’est normal, puisque j’ai installé dessus un serveur Nextcloud, et qu’il est accessible depuis internet via un proxy (voir l’installation de Nextcloud sur Openmediavault). Il s’agit en l’occurence de requêtes DNS déjà en cache.

Plus intéressant, on voit que le smartphone est celui qui est qui a le plus de requêtes bloquées !

Pourtant, j’utilise LineageOS, je n’ai aucune appli Google d’installées… Et à y regarder de plus près, un bon nombre de ces requêtes sont bloquées par Pihole ! Un peu inquiétant sur notre vie privée tout ça, je n’ose imaginer ce que fait un smartphone avec tous les services Google d’installés !

Mais il y a encore plus surprenant : Pihole offre des statistiques très intéressantes, et en allant dans « Long-term data – Top Lists », je vois que la TV Samsung est également très active :

La « Smart TV » est effectivement très smart… un peu trop à mon goût. 😉 Du coup, après quelques recherches pour comprendre ce qui se passe, je trouve une « Ad List » spécialement conçue pour filtrer les accès de ces Smart TVs. Voici le lien :

https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt

à ajouter dans « Group Management – Adlists » de Pihole, suivi d’un pihole -g pour mettre à jour la liste utilisée par Pihole.

Reste à vérifier que la TV fonctionne toujours correctement avec cette liste active. Je n’ai aucun besoin d’un accès internet sur celle-ci (il n’y a que Plex que j’utilise en local comme media serveur), ce sera donc très bien de lui couper le sifflet.

Voilà, ce changement de serveur DHCP est finalement très bénéfique : non seulement Pihole filtre les publicités, mais il fournit aussi beaucoup d’informations sur ce qui se passe sur votre réseau personnel ! 😎

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *