Aller au contenu

[TUTO] Pi-Hole blocage des pubs sur le réseau


evildead

Messages recommandés

Le 28/02/2020 à 02:06, ordimans a dit :

J'ai suivi le même tuto que tout le monde, j'ai un DS218+ avec le DHCP Server, un docker pihole avec macvlan.
Le seul probleme qu'il me reste à régler et la résolution des noms.
J'ai activé le Conditional Forwarding mais cela ne semble pas marché.... J'ai du loupé un truc.
 

Côté DHCP server syno, j'ai local.home dans Domain Name.
Côté Pihole, j'ai l'adresse IP du Syno vu que c'est lui le DHCP, et local.home dans domain aussi.
faut peut être juste mettre local, il aime pas avec un . ? 


Je suis pas très à l'aise avec les noms de domaine, vu que j'ai toujours tout fait à l'IP mais c'est compliqué aquand y a beaucoup d'appariel 😄

Par contre, je n'ai rien monté en volume sur le docker pihole, j'ai vu que certains le font, avec quelques fichiers conf (dnsmasq, resolv)

Faut peut être que j'aille lire la doc pihole pour ça 😄
Car je l'utilisais jusqu'à présent sur un rspi et j'ai jamais utiliser ces fichiers.

 

Bon en passant en 5.0, je vais pouvoir contourner le problème semble t'il.

 

J'ai bien l'image latest sur DSM, mais je suis en 4.3.2, il n'y a pas encore la 5.0, comment upgrade facilement ?

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 4 minutes, ordimans a dit :

Car je l'utilisais jusqu'à présent sur un rspi et j'ai jamais utiliser ces fichiers.

Et tu devrais continuer 😉

Et tu vas peut-être pouvoir le contourner oui, mais ce n'est pas souhaitable.

Essaie avec ce réglage en plus du conditional forwarding :

 image.png.9f374fe857393a4e07997016ba37e195.png

Lien vers le commentaire
Partager sur d’autres sites

En ce qui me concerne je ne suis pas parvenu à faire fonctionner pi-Hole+DNS server. Par contre Pi-hole seul fonctionne parfaitement et il m'affiche fièrement 38% de requêtes bloquées... assez incroyable.

Pour aller plus loin j'ai décidé de suivre les conseils des experts et je vais tenter de dédier un Raspi pour cette tâche (+Unbound du coup).

Je me suis donc procuré un Pi qui attend sagement que je l'assemble/installe car pour l'instant je me documente! Je débute totalement n'ayant jamais fait l'effort de découvrir Linux et en fait ça a l'air sympa cette console^^ Du coup ça m'a aussi éclairci certaines idées sur le fonctionnement du NAS (les utilisateurs, les groupes, les droits, l'architecture des dossiers...)

Sinon pour le Pi, tout n'a pas l'air rose non plus. Le problème majeur semble être les écritures massives sur la carte SD (pouvant rendre HS les cartes SD au bout de quelques mois soit disant), principalement à cause du log PiHole (mais aussi de la base de données).

Du coup, je me demande encore quelle voie prendre pour avoir une installation la plus fiable possible. On peut désactiver le log PiHole mais c'est dommage quand même... Il y a aussi la possibilité de déplacer les écritures du log en RAM (avec le paquet log2Ram notamment) et de n'écrire physiquement les données par lot périodiquement (1 fois par jour). On peut aussi considérer les cartes SD jetables et en avoir une copie de l'image en sauvegarde pour redémarrer rapidement...

Après certains disent que la corruption des SD provient souvent de faiblesses de l'alimentation? Du coup j'ai préféré choisir une alim 'officiel' et le Pi sera sur onduleur.

Je me pose beaucoup de questions en fait ^^ Si certains ont des conseils à me donner je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

La console est pratique, mais l'interface graphique du Pi permet de faire beaucoup de choses aussi, histoire d'y aller progressivement.

Pour le nombre de lectures/écritures, tu peux très bien coller une clé USB ou un disque au cul du Pi pour écrire dessus et ménager la carte SD, ou même monter en SMB un dossier de ton NAS ?

Je te conseille de jouer avec dans un premier temps, voir ce que tu peux faire (sur Google tu trouveras pléthore d'applications ou de choses ludiques et pédagogiques à faire avec).
Si tu aimes un peu l'électronique tu y trouveras encore plus ton bonheur.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour tout le monde,

j'ai vu que Pi Hole avait sorti la release 5.0, avez vous déjà eu l'occasion de l'installer et de la tester ?

Qu'en pensez vous ?
De plus, comment avez vous procéder pour le passage de la 4.2 à la 5.0 ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

il y a 44 minutes, Dimebag Darrell a dit :

Bonjour tout le monde,

j'ai vu que Pi Hole avait sorti la release 5.0, avez vous déjà eu l'occasion de l'installer et de la tester ?

Qu'en pensez vous ?
De plus, comment avez vous procéder pour le passage de la 4.2 à la 5.0 ?

Merci

Bonjour,

Je l'utilise (sur VM Freebox Delta), aucun problème.

Je suppose que la méthode est à peu près la même que sur Freebox en mode console, en tapant "sudo apt-get update", etc...  pour une mise à jour automatique.

Voir si cette vidéo peut être utilisée comme modèle. (à partir de 1mn45)      https://www.youtube.com/watch?v=5UU1eg8-oaU

Modifié par jacaj
Lien vers le commentaire
Partager sur d’autres sites

il y a 12 minutes, .Shad. a dit :

Tu dois taper dans le dossier de ton fichier docker-compose.yml


docker-compose pull
docker-compose up -d --remove-orphans

 

Dans le script du docker-compose.yml, où doivent-ils se trouver ?

ça signifie que je devrai en plus refaire une install complète, vu que je vais devoir le re déployer non ?

Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, Dimebag Darrell a dit :

Dans le script du docker-compose.yml, où doivent-ils se trouver ?

Non c'est en SSH ça, tu te places dans le dossier où se trouve le fichier docker-compose.yml, et tu tapes ces commandes l'une à la suite de l'autre.
Non rien n'est effacé si tu as monté des volumes sur le NAS, seule une suppression manuelle les effacera, c'est l'intérêt des volumes persistents. 🙂 
"pull" va télécharger l'image la plus récente avec le tag latest.
"up -d --remove-orphans" va supprimer le conteneur, éventuellement les conteneurs orphelins de précédentes versions et le recréer en gardant tous les fichiers de configuration, et ce en tâche de fond (-d pour daemon).

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Voila, j'ai ce message d'erreur

Citation

docker-compose pull

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

 

If it's at a non-standard location, specify the URL with the DOCKER_HOST environ

 

Lien vers le commentaire
Partager sur d’autres sites

Oui, oui, j'ai utilisé docker compose

 

J'ai finalement bien récupéré PiHole, mais...

Aucun changement de release, je suis toujours en 4.3

Citation

sudo docker-compose up -d --remove-orphans

Creating network "pihole_pihole_network" with driver "macvlan"

ERROR: Pool overlaps with other one on this address space

 

Modifié par Dimebag Darrell
Lien vers le commentaire
Partager sur d’autres sites

Bonjour @Dimebag Darrell,

pourras-tu stp nous montrer ton fichier docker-compose.yaml ? j'ai un script qui me fait l'update automatique du pihole 1 fois par mois, il est passé en 5.0 sans même que je n'y prête attention (mais il faut avoir les bons volumes déclarés dans le docker-compose ainsi que les variables d'environnement) !  Le script enchaine dans l'ordre les 4 commandes suivantes :

docker-compose pull pihole 
docker stop pihole-pihole1
docker rm pihole-pihole1
docker-compose up -d pihole

Ça doit surement pouvoir s'optimiser, mais cela fonctionne parfaitement. Si nouvelle image pihole:latest il y a , alors elle sera téléchargée et utilisée par le docker au redemarrage.

Lien vers le commentaire
Partager sur d’autres sites

Voici mon docker-compose

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    hostname: pihole
    domainname: localhost            
    mac_address: d0:ca:ab:cd:ef:01
    cap_add:
      - NET_ADMIN
    networks:
      pihole_network:
        ipv4_address: 192.168.x.x   
    dns:
      - 127.0.0.1
      - 80.67.169.12
    ports:
      - 443/tcp
      - 53/tcp
      - 53/udp
      - 67/udp
      - 80/tcp
    environment:
      ServerIP: 192.168.x.x         
      VIRTUAL_HOST: Synology_Pi-Hole  
      WEBPASSWORD: ""              
    restart: unless-stopped

networks:
  pihole_network:
    driver: macvlan
    driver_opts:
      parent: ovs_eth0
    ipam:
      config:
        - subnet: 192.168.x.x/24           
          gateway: 192.168.x.x            
          ip_range: 192.168.x.x/24       

 

 

Modifié par Dimebag Darrell
Lien vers le commentaire
Partager sur d’autres sites

Intuitivement, je dirais que ton réseau macvlan a dû être mal supprimé.
Tape les commandes suivantes :

docker-compose down
docker network prune
docker-compose up -d

Au passage, ça ne sert à rien de préciser les ports, ton conteneur est en macvlan, il n'a pas d'hôte, donc pas de NAT à faire.

Lien vers le commentaire
Partager sur d’autres sites

Oui pour le réseau il doit être "mal supprimé". et du coup pour le recréer ca ne passe pas.

Par ailleurs, tu ne montes pas de volumes pour la persistence (répertoires /etc/pihole et /etc/dnsmasq.d) ?

Enfin, pour que les DNS personnalisés soient pris en compte, il faut les rajouter dans la section environment :

environment:
      ServerIP: 192.168.x.xxx# <-- Update (match NAS ipv4_address)
      DNS1: 80.67.169.12
      DNS2: 80.67.169.40

 

Lien vers le commentaire
Partager sur d’autres sites

Alors, merci beaucoup, ça fonctionne

Par contre, je ne retrouve pas ma config précédente avec mes listes
Comme si j'avais fait une toute nouvelle installation

@bruno78 je suppose que c'est un script que tu lances tous les mois

docker-compose pull pihole 
docker stop pihole-pihole1
docker rm pihole-pihole1
docker-compose up -d pihole
Modifié par Dimebag Darrell
Lien vers le commentaire
Partager sur d’autres sites

il y a 8 minutes, Dimebag Darrell a dit :

Alors, merci beaucoup, ça fonctionne

Par contre, je ne retrouve pas ma config précédente avec mes listes
Comme si j'avais fait une toute nouvelle installation

C'est lié à la remarque de @bruno78, tu n'as pas monté tes données dans des volumes persistants. Du coup lorsque tu supprimes le conteneur, les données non montées disparaissent. C'est le côté éphémère intrinsèque de Docker (et la raison pour laquelle il est intéressant).

Lien vers le commentaire
Partager sur d’autres sites

il y a 5 minutes, .Shad. a dit :

C'est lié à la remarque de @bruno78, tu n'as pas monté tes données dans des volumes persistants. Du coup lorsque tu supprimes le conteneur, les données non montées disparaissent. C'est le côté éphémère intrinsèque de Docker (et la raison pour laquelle il est intéressant).

Dans ce cas, comment dois-je procéder,

car si j'active un script pour la recherche de mise à jour, ça signifie que lorsque celui-ci sera updaté, je serai dans la situation actuelle 

 

Lien vers le commentaire
Partager sur d’autres sites

Tu te places dans le dossier où se trouve ton fichier compose, tu crées deux sous-dossiers etc-pihole et etc-dnsmasq.d et tu montes les dossiers du conteneur spécifiés par @bruno78 sur l'hôte :

volumes:
   - ./etc-pihole:/etc/pihole
   - ./etc-dnsmasq.d:/etc/dnsmasq.d

dans la définition du service pihole.

Tout est expliqué ici :

 

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

@Dimebag Darrell,

dans la partie "services" de ton docker-compose.yaml, tu dois introduire les montages suivants :

volumes:
       - /volume1/docker/compose/piconfig/pietc:/etc/pihole
       - /volume1/docker/compose/piconfig/pidnsmasq:/etc/dnsmasq.d

Le chemin /volume1/docker/compose/piconfig étant le chemin chez moi, à toi de l'adapter à ta configuration. Dés lors, au redemattage de Pihole même avec une nouvelle image, tes données précédentes seront toujours là.

Lien vers le commentaire
Partager sur d’autres sites

nickel merci,

je vais essayer ça 🙂

Creating pihole ... error

 

ERROR: for pihole  Cannot start service pihole: b"Bind mount failed: '/volume1/docker/pihole/pidnsmasq' does not exists"

 

ERROR: for pihole  Cannot start service pihole: b"Bind mount failed: '/volume1/docker/pihole/pidnsmasq' does not exists"

ERROR: Encountered errors while bringing up the project.

 

Je suppose que ces dossiers doivent être créés avant le lancement du docker compose

 

ps : que signifie pietc ? et pidnsmasq: ?

 

 

pidnsmasq:/etc/dnsmasq.d
pietc:/etc/pihole
Lien vers le commentaire
Partager sur d’autres sites

Je viens d'essayer en mentionnant les volumes, mais je n'ai aucune donné dans les dossiers correspondants

J'utilise ce chemin

/volume1/docker/pihole/pihole
/volume1/docker/pihole/dnsmasq.d

Après avoir tout configuré, je fais un test docker compose down et un docker compose up, de nouveau je perds la config ! 😕

Lien vers le commentaire
Partager sur d’autres sites

Les dossiers doivent être créés en amont de la création du conteneur.

il y a 12 minutes, Dimebag Darrell a dit :

J'utilise ce chemin

/volume1/docker/pihole/pihole
/volume1/docker/pihole/dnsmasq.d

 

Il y a 1 heure, Dimebag Darrell a dit :

pidnsmasq:/etc/dnsmasq.d

pietc:/etc/pihole

Les noms que tu as donnés aux dossiers ne correspondent pas à ceux que tu as mis dans le fichier docker-compose.

Si je suis ta logique :

Le dossier pihole doit s'appeler pietc
Le dossier dnsmasq.d doit s'appeler pidnsmasq

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.