piHole
Pi hole est un service DNS qui permet de filtrer les noms de domaine correspondant à des pub. En gros c’est un bloqueur de pub quoi. Pi hole est fourni avec une interface web.
Le but est d’installer un pihole dans un conteneur lxc.
Installation
Creation du conteneur
lxc-create -t download -n pihole
J’ai pris un debian 10 (buster) amd64
configuration réseau :
lxc.rootfs = /var/lib/lxc/pi-hole/rootfs
lxc.rootfs.backend = dir
# Common configuration
lxc.include = /usr/share/lxc/config/debian.common.conf
# Container specific configuration
lxc.tty = 4
lxc.utsname = pi-hole
lxc.arch = amd64
# Network configuration
lxc.network.type = veth
lxc.network.hwaddr = 00:16:3e:d2:3e:67
lxc.network.flags = up
lxc.network.name = eth1
lxc.network.ipv4.address = 10.0.30.7/24
lxc.network.link = lxcbr0
lxc.network.ipv4.gateway = 10.0.30.1
lxc.start.auto = 1
Je n’ouvre pas les port et je ne le rajoute pas sur le reverse proxy car j’y accèderai uniquement depuis mon VPN.
Installation pi-hole
On met tout à jour comme il faut
apt update
apt full-upgrade
apt install php curl
apt full-upgrade
curl -sSL https://install.pi-hole.net | bash
Changez le password de pi-hole
pihole -a -p
En cas de changement d’ip ou autre, il faut reconfigurer pi-hole :
pihole -r
Utilisation
Pour utiliser pihole il faut ajouter le dns sur votre device :
- Linux : ajouter une entrée nameserver avec l’ip du conteneur.
- Windows : Je m’en branle les couilles.
Si vous êtes sur le même réseau que le DNS, il faut mettre l’ip du dns sinon il faut NAT le PORT 53 avec iptables maintenant tu connais à force là !
Sinon l’interface web est dispo sur le port 80 comme je l’ai dit plus haut faut faire la config du reverse proxy si tu veux l’avoir à l’extérieur.
Petite particularité de pi-hole. Vous pouvez ajouter des entrées dans le /etc/hosts du container pi-hole et il seront ajouté au dns et donc accessible depuis les autres devices (pensez à rajouter DNS au VPN). Il suffit de redémarrer dnsmasq ou carrément redémarrer le container ou carrément redémarrer la machine !
Sur android : On peut faire ça manuellement mais j’ai trouvé une petite application pas piquée des hannetons FlutterHole.