Synology ||Tuto|| installation Pi-Hole en docker

tony77682

Nouveau membre
4 Juin 2020
28
3
3
Information:
Pi-Hole est un bloqueur de pub et même si les plugins de type Adblock ou autre uBlock fonctionnent très bien, on va parler ici d’une solution qui va se mettre entre vos périphériques connectés au réseau et votre routeur. Si la publicité sur vos périphériques (PC, Smartphones, Tablettes, TV connectés…) vous agace, alors c’est peut-être bientôt terminé avec Pi-Hole.

Pré-requis:
-Un NAS compatible docker. Liste synology: https://www.synology.com/fr-fr/dsm/packages/Docker.
-Le paquet DOCKER doit être installé, via le centre des paquets synology.
-L'accès à l'interface de votre box opérateur, et de pouvoir modifier le DNS ou désactiver le serveur DHCP.
-Le logiciel PUTTY pour se connecter en SSH, lien windows: https://the.earth.li/~sgtatham/putty/latest/wa64/putty.exe .
-Connaitre l'ip local du NAS.
-Désactiver open vSWITCH dans le panneau de configuration du synology:
RESEAU/interface réseau/gérer/paramètre d'open vSWITCH
et désactiver open vSWITCH
001.png


Installation:
1) Activation du SSH sur le NAS
-Connecter vous au NAS avec un compte admin.
-Allez dans panneau de configuration / Terminal & SMNP / Activer le SSH port 22 ( où choisir un autre port)

2) Connexion au NAS via SSH:
-Lancer PUTTY / connectez-vous avec vos identifiants / puis en ROOT avec "sudo -i" (re-tapper votre MDP).
-Créer un réseau virtuel "macvlan" pour Pi-Hole. (macvlan simule une carte réseau)
- Adapter, selon votre config:

Code:
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--ip-range=192.168.1.100/32 \
--gateway=192.168.1.254 \
-o parent=eth0 macvlan_pihole

SUBNET = adresse de votre reseau ( si votre réseau est sous la forme 192.168.1.X, alors renseigner 192.168.1.0 - si votre reseau est sous la forme 192.168.0.X alors renseigné 192.168.0.0
GATEWAY = l'adresse de votre BOX OPERATEUR
IP_RANGE = adresse IP fixe pour accès à PI-HOLE
macvlan.png


-Pour vérifier si le réseau à bien été créé, taper la commande suivant en SSH:

Code:
docker network ls



network.png


3) Création d'un dossier "pihole" pour l'installation
-Personnellement pour DOCKER j'utilise un dossier partagé, nommé donc docker, où j'ajoute un sous-dossier pour les différents conteneurs.
-Création du dossier ==> /volume1/docker/pihole
-Création du sous-dossier ==> /volume1/docker/pihole/dnsmasq.d

4) Création du fichier docker-compose
Adapter, le MDP / l'adresse ipv4 si différente / le DNS puis
coller le code dans l'éditeur de texte et enregistrer dans le répertoire "/volume1/docker/pihole" avec le nom suivant:
docker-compose.yml

Code:
version: "2"

services:
  pihole:
    image: pihole/pihole:latest
    container_name: pihole
    networks:
      macvlan_pihole:
        ipv4_address: 192.168.1.100 
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "80:80/tcp"
      - "4430:443/tcp"
    hostname: 'pi-hole'
    environment:
      TZ: 'Europe/Paris'  
      WEBPASSWORD: 'votre_MDP'
      ServerIP: '192.168.1.100'
      DNSMASQ_LISTENING: 'local'
      VIRTUAL_HOST: 'pi.hole'
    volumes:
       - '/volume1/docker/pihole:/etc/pihole/'
       - '/volume1/docker/pihole/dnsmasq.d/:/etc/dnsmasq.d/'
    dns:
      - 1.1.1.1
      - 192.168.1.3
    cap_add:
      - NET_ADMIN
    restart: always
networks:       
  macvlan_pihole:
    external:
      name: macvlan_pihole


5) Déploiement du conteneur via SSH
-Retour sur PUTTY en SSH, accéder au répertoire où est enregistré le fichier docker-compose.yml, puis taper la commande suivante:
Code:
cd /volume1/docker/pihole


-Lancer la commande pour déployer le conteneur:
Code:
docker-compose up -d


docker-compose.png


6) Connexion à l’interface graphique de Pi-Hole
-Si vous n'avez pas modifié l'adresse IP fixe attribué à l'étape 2:
http://192.168.1.100/admin
12.png


7) Serveur DHCP
Pour que Pi-Hole fonctionne 2 solutions:
-Soit, quand vous vous connecté à la BOX OPERATEUR vous pouvez rediriger le trafic vers le Pi-Hole, en mettant en DNS primaire l'adresse IP fixe défini à l'étape 2 (192.168.1.100). De mémoire seul les BOX FREE l'autorise, où si vous avez votre propre routeur.

-Sinon, il vous faut désactiver le serveur DHCP de votre BOX OPERATEUR (à voir en fonction de votre opérateur, google est votre ami)
et
D'activer le serveur DHCP du Pi-Hole:
13.png


8)Redémarrage des équipements
Il est conseillé de redémarrer vos équipements dans l'ordre suivant:
-BOX OPERATEUR
-PI-HOLE
-EQUIPEMENT client (PC, TV, téléphone etc ...)

FIN

2020/12/07 - Edit EVOTk - Modification d'une coquille sur le subnet dans la création du réseau macvlan, correction de la variable network/external dans le compose et la variable image est présente 2x
 
Bonjour,
J'ai une petite question :)
J'ai actuellement une installation fonctionnelle de pi-hole, mais en mode host.
Je voudrais tenter une installation avec macvlan, mais j'utilise aussi VMM, donc le réseau doit avoir open vSWITCH d'activé.
Pourquoi faut-il ici obligatoirement désactiver cette option ?
Est-ce vraiment obligatoire ?

Edit : autre question :
pour les adresses IP, je mets une IP pour Pi-Hole qui se situe dans le même réseau que le reste de mes équipements ?
Actuellement le nas est dans le LAN 192.168.1.xxx.
Donc si je mets ce qui suit, la box étant en 192.168.1.1 ça le ferait :
Code:
docker network create -d macvlan \
--subnet=192.168.1.20/24 \
--ip-range=192.168.1.22/32 \
--gateway=192.168.1.1 \
-o parent=eth0 macvlan_pihole

Par contre, est-ce que tu pourrais m'expliquer ce que signifie les /24 ou /32 derrière les IP subnet et ip-range ?
edit 2 : pour ça j'ai ma réponse :)
/32 is a network mask of 255.255.255.255
/24 is a network mask of 255.255.255.0
so
192.168.0.254/32 = ip address of 192.168.0.254
192.168.0.1/24 = range of ip's from 192.168.0.1 to 192.168.0.1.255

Merci :geek:
 
MilesTEG1 a dit:
Bonjour,
J'ai une petite question :)
J'ai actuellement une installation fonctionnelle de pi-hole, mais en mode host.
Je voudrais tenter une installation avec macvlan, mais j'utilise aussi VMM, donc le réseau doit avoir open vSWITCH d'activé.
Pourquoi faut-il ici obligatoirement désactiver cette option ?
Est-ce vraiment obligatoire ?

Sinon tu ne peux pas créer le réseau macVLAN, le pourquoi du comment je ne sais pas....

MilesTEG1 a dit:
Edit : autre question :
pour les adresses IP, je mets une IP pour Pi-Hole qui se situe dans le même réseau que le reste de mes équipements ?
Actuellement le nas est dans le LAN 192.168.1.xxx.
Donc si je mets ce qui suit, la box étant en 192.168.1.1 ça le ferait :
Code:
docker network create -d macvlan \
--subnet=192.168.1.20/24 \
--ip-range=192.168.1.22/32 \
--gateway=192.168.1.1 \
-o parent=eth0 macvlan_pihole

Je dirais que ton pi-Hole doit avoir une IP différente que celle qui est fournis par la box, si tu utilise le serveur DHCP du pi-hole

MilesTEG1 a dit:
Par contre, est-ce que tu pourrais m'expliquer ce que signifie les /24 ou /32 derrière les IP subnet et ip-range ?

plutôt qu'un long discours un exemple:
192.168.1.1/24 est équivalent à 192.168.1.1 masque : 255.255.255.0
 
Ha mince... si ça veut pas créer un macvlan quand Open vSwitch est activé, c'est mort... je vais pas pouvoir désactiver cette option...
 
Je vais tenter quand même, mais en passant par Portainer, car je ne sais pas faire avec la ligne de commande uniquement.
J'ai trouvé ça :

https://servicemax.com.au/tips/pi-hole-in-docker-on-synology-the-best-way/
 
Bonjour à tous,

Dans upstream DNS servers (Settings->DNS)
Vous renseignez l'ip de DNS servers externes ?

Ps : j'ai lu à plusieurs endroits de "extensions des navigateurs" qu'entendez vous par ce terme ?
 
Mise à jour du tuto, suite a des soucis rencontré par un utilisateurs pour la mise en place :

2020/12/07 - Edit EVOTk - Modification d'une coquille sur le subnet dans la création du réseau macvlan, correction de la variable network/external dans le compose et la variable image est présente 2x
 
Bonjour,

Je voudrais savoir s'il est possible de faire fonctionner Pi-hole dans un container du NAS et configurer NordVPN (avec une config OpenVPN) sur son routeur ?
Le simple fait de rediriger le DNS du routeur sur Pi-hole fait l'affaire dans ce cas de figure ?

Merci
 
c'est un cas de figure spécial, je ne pourrais pas vous dire car j'ai jamais fait ce type de montage.