Ce tutoriel vous guidera pour installer le conteneur Pi-hole.
Pi-hole est un bloqueur de publicité et de télémétrie, au niveau du réseau, qui agit comme un DNS menteur et éventuellement comme un serveur DHCP.
Dans ce tutoriel, nous allons associer ce conteneur à un réseau macvlan dans Docker. Le driver Macvlan vous permet d’attribuer une adresse MAC à un conteneur, le faisant apparaître comme un périphérique physique sur votre réseau. Ainsi, nous pourrons faire associer les ports 80, 443 de ce périphérique réseau « virtuel » aux ports correspondant du conteneur.
Lien vers le projet : https://pi-hole.net/
Lien vers l’image : https://hub.docker.com/r/pihole/pihole/
Guide sur les reseaux dans Docker : https://devopssec.fr/article/fonctionnement-manipulation-reseau-docker
La création du réseau macvlan
1
2
3
4
5
|
# Pour afficher l'IP associée à votre interface réseau ip add show <interface> # Pour créer le réseau macvlan sudo docker network create --driver macvlan --attachable --s |
Le fichier de configuration docker-compose
sudo nano docker-compose.yml |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
version: "3.6" services: pihole: container_name: pihole image: pihole/pihole:latest ports: - 53:53/tcp - 53:53/udp - 67:67/udp - 80:80/tcp - 443:443/tcp environment: - TZ=Europe/Paris - ADMIN_EMAIL=your.email@xx.com #votre email admin - WEBPASSWORD=motDePasse #votre mot de passe admin - DNS1=1.1.1.1 #IP DNS Cloudflare - DNS2=1.0.0.1 #IP DNS Cloudflare - ServerIP=192.168.1.160 #IP fixe assignée au peripherique reseau virtuel pi-hole volumes: - /path/to/docker_data/pihole/etc/pihole:/etc/pihole #pour persister la configuration de pi-hole - /path/to/docker_data/pihole/etc-dnsmasq.d:/etc/dnsmasq.d #pour persister la configuration de pi-hole restart: unless-stopped networks: macvlan-ntw: ipv4_address: 192.168.1.160 #IP fixe assignée au peripherique reseau virtuel pi-hole networks: macvlan-ntw: external: true |
1
|
sudo docker-compose up |
Pour se connecter : http://<ip-pi-hole-container>/admin/