Aller au contenu

[TUTO] [Docker - macvlan] Pi-Hole


.Shad.

Messages recommandés

Il y a 13 heures, Jeff777 a dit :

J'ai essayé de jouer avec les réseaux et interfaces virtuelles (les mêmes, disjoints avec des noms différents) mais ça ne change rien.

La bonne pratique c'est que chaque réseau macvlan sur chaque périphérique ait une plage d'IP unique et non partagée.
Rien n'empêche de faire ce que tu as fait, tant que tu vérifies que l'IP attribuée à un conteneur est unique sur ton réseau. En définissant des plages différentes tu préviens la duplication d'IP.

Autre question, je vois que tu mets 192.168.1.167 dans REV_SERVER_TARGET, cette IP correspond à quoi ? Je m'attends à voir l'IP de la passerelle OU l'IP d'un des deux NAS, vu que de souvenir tes deux NAS hébergent une zone locale (maître et esclave) OU rien du tout si Pi-Hole devient ton serveur DNS local.

De prime abord je dirais que 192.168.1.167 c'est l'IP d'un conteneur en macvlan, mais lequel... ? Relire peut-être le point 5-C-2.

Lien vers le commentaire
Partager sur d’autres sites

Merci @.Shad.

Ok pour ta remarque sur les réseaux macvlan je n'ai que deux IP sur la plage pour les deux piholes 192.168.1.166 er 192.168.1.167.

Il y a 1 heure, .Shad. a dit :

Autre question, je vois que tu mets 192.168.1.167 dans REV_SERVER_TARGET,

C'est un reliquat de mes tests et les lignes sont commentées (voir plus haut).

J'ai mis dans les paramètres DNS la même chose que j'avais sur le Raspberry.

Mes IP (virtuelles) des nas et IPV6. 

2 Lignes cochées :Never forward non-FQDN A and AAAA queries et Permit all origins

Si je coche la dernière case (conditional forwarding) je perds l'affichage des noms d'hôtes pour les IP locale et ça met le souk dans les reverses proxy.

 

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

@.Shad.

Bon j'ai cru avoir trouvé une erreur mais c'est toujours pareil. L'erreur arrive lorsque j'exécute le deuxième script :

root@serveur:/volume1/docker/networks# ./mac0-interface.sh
RTNETLINK answers: File exists
RTNETLINK answers: Invalid argument

j'ai essayé ifconfig mac0 down  et ip addr flush dev mac0 avant de lancer le script...même chose

Une idée ?

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

 

Il y a 21 heures, .Shad. a dit :

Ton script ressemble à quoi  ?

docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--ip-range=192.168.1.140/28 \
--gateway=192.168.1.1 \
-o parent=eth0 \
macvlan-network
 

ip link add mac0 link eth0 type macvlan mode bridge
ip addr add 192.168.1.110/32 dev mac0
ip link set dev mac0 address 5E:xx:xx:xx:xx:E9
ip link set mac0 up
ip route add 192.168.1.140/28 dev mac0
 

pour le nas1 sur lequel il y a le pb. 

docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--ip-range=192.168.1.160/28 \
--gateway=192.168.1.1 \
-o parent=eth0 \
macvlan-network
 

ip link add mac0 link eth0 type macvlan mode bridge
ip addr add 192.168.1.115/32 dev mac0
ip link set dev mac0 address 5E:xx:xx:xx:xx:E5
ip link set mac0 up
ip route add 192.168.1.160/28 dev mac0
 

pour le nas2 sans pb

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

il y a une heure, .Shad. a dit :

Essaie de ne pas définir d'adresse MAC dans le montage d'interface virtuelle de ton premier NAS.

Oui avec le second NAS aucun problème. Le premier me donne "invalid argument" que je commence par le paramétrer ou non.

J'ai fait plusieurs essais dont (il me semble) ce que tu dis....Je regarde à nouveau ce soir. Merci

Lien vers le commentaire
Partager sur d’autres sites

Il y a 11 heures, Jeff777 a dit :

Je regarde à nouveau ce soir.

Pareil. Le nas obtient sont IP virtuel avec une adresse MAC qui me semble aléatoire mais son IP physique adopte la même adresse MAC. 

Je fais "ifconfig mac0 down" les deux IP reprennent l'adresse MAC vraie du nas (comme précédemment). Je supprime le réseau macvlan... l'IP virtuelle disparait. 

Ce qui est curieux c'est que le problème sur ce nas apparait même si c'est le premier a être paramétré. Je ne vois pas ce qui peut expliquer ceci.

Le DS220+ à deux ports éthernet, j'ai essayé de désactiver le second...même résultat. Les autres différences avec le DS218+ :

Les zones sont des zones slaves du DS218+, elles ne sont accessibles de l'extérieur qu'en IPV6 et les services sont un peu différents..faut-il rechercher dans ce sens ?

 

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

@.Shad.

Après ton aide et mes manip divers et variées tout est rentré dans l'ordre au niveau de pihole. Sauf que parfois j'ai des comportements anormaux ...comme l'impossibilité de synchroniser le nas avec un serveur npt (pile a moins de 3 ans).

J'ai un disque que je vais bientôt changer car il a de nombreux secteurs défectueux. J'attends son remplacement pour voir.

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai rien fait à part vérifier ce que tu avais déjà fait, et tu l'avais bien fait. 🙂 En revanche, je n'ai pas bien compris ce que tu as fait de ton côté, je pense vraiment que la plage était invalide, tu devrais tester avec celle que je t'ai donnée, elle a l'avantage de s'arrêter là où commence celle de ton NAS 2. Du coup tu n'as pas d'IP perdues entre les deux. 🙂 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, .Shad. a dit :

En revanche, je n'ai pas bien compris ce que tu as fait de ton côté

Moi non plus 🤣. Mais le résultat est là, j'ai finalement repris avec les scripts de ton tuto et les plages 192.168.1.140/28 et 192.168.1.168/28 et les piholes 192.168.1.147 et 167 et ça fonctionne. Pour les IP perdues d'ici que j'en ai besoin......

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

  • .Shad. a modifié le titre en [TUTO] [Docker - macvlan] Pi-Hole

Refonte du tutoriel pour le mettre en conformité avec l'emploi d'un utilisateur non privilégié.
Mise en place en parallèle d'un nouveau conteneur pour valider les étapes du tutoriel.
Scission du tutoriel en une partie standard et avancée.
Utilisation de balises spoilers pour accélérer la lecture.

A venir :

- Sauvegarde et restauration de la configuration
- Flutterhole

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

Le 06/02/2021 à 19:04, .Shad. a dit :

Dans le menu latéral apparaît l'onglet Local DNS, deux sous-menus apparaissent : DNS Records et CNAME Records :

  • Le premier permet de définir les enregistrements A pour le domaine et les périphériques de votre réseau.
  • Le second permet de définir des alias pour les domaines précédemment définis.

Hello @.Shad.

tres sympa cette mise à jour du tuto😊 que j’avais suivi pour la partie macvlan .

est-ce que tu pourrais expliquer l’intérêt de faire des cname records que tu qualifies d’alias ?

j’ai du mal à voir à quoi ça peut servir compte tenu des dns records précédents qui me semblent se suffire à eux mêmes.

si je prends mon exemple d’utilisation (avec certes Adguard Home) je n’ai fait que deux entrées de réécriture dns (qui je pense s’assimilent aux dns records de pihole) :
- une pour *.mon-ndd.ovh redirigé vers l’adresse iP de mon reverse proxy SWAG.
- une pour drive-sync.mon-ndd.ovh redirigé vers le nas car la synchronisation drive ne fonctionne pas a travers un reverse proxy.

Ensuite c’est mon reverse Proxy qui se charge de gérer les Vaultwarden.mon-ndd.ovh, Plex.mon-ndd.ovh etc…

merci d’avance 🙏🏻

Lien vers le commentaire
Partager sur d’autres sites

Ton wildcard c'est un CNAME. Pour ma part localement je n'ai pas besoin que tous les sous-domaines pointent vers mon proxy inversé ou autre.

En revanche, depuis Windows, si je veux connecter plusieurs lecteurs réseaux avec des utilisateurs différents, on ne peut pas utiliser le même FQDN, IP, etc... donc j'ai plusieurs cname qui mènent au NAS : g1, g2, g3, etc... un pour chaque utilisateur.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, .Shad. a dit :

En revanche, depuis Windows, si je veux connecter plusieurs lecteurs réseaux avec des utilisateurs différents, on ne peut pas utiliser le même FQDN, IP, etc... donc j'ai plusieurs cname qui mènent au NAS : g1, g2, g3, etc... un pour chaque utilisateur.

On peut connecter des lecteurs réseau avec un nom de domaine ?? Purée, si c'est le cas, je ne savais pas, et ça peut être super pratique ^^

Par contre FQDN, c'est quoi exactement ?

Lien vers le commentaire
Partager sur d’autres sites

Bien sûr qu'on peut se connecter avec des noms de domaine, l'intérêt c'est de se connecter aussi bien en VPN qu'en local à tes lecteurs réseau. Pour peu que la résolution DNS pointe correctement vers la bonne IP dans les deux cas.

Le 21/01/2023 à 14:59, MilesTEG1 a dit :

Par contre FQDN, c'est quoi exactement ?

https://fr.wikipedia.org/wiki/Fully_qualified_domain_name

Lien vers le commentaire
Partager sur d’autres sites

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

Bien sûr qu'on peut se connecter avec des noms de domaine, l'intérêt c'est de se connecter aussi bien en VPN qu'en local à tes lecteurs réseau. Pour peu que la résolution DNS pointe correctement vers la bonne IP dans les deux cas.

Je comprends mieux pourquoi tu as autant de réécriture DNS 😉 Car je suppose qu'utiliser un ndd pour un partage SMB, ça ne fonctionne pas en passant par le reverse proxy ? 

Lien vers le commentaire
Partager sur d’autres sites

il y a 7 minutes, MilesTEG1 a dit :

Je comprends mieux pourquoi tu as autant de réécriture DNS

C'est surtout que je me connecte avec pas mal d'utilisateurs différents, vu que j'ai segmenté les permissions suivant les dossiers partagés.

Les montages SMB et NFS représentent selon moi la plus grosse faille de sécurité.
On a vite tendance à se connecter avec des droits d'admin sur un lecteur distant, et dans ce cas-là notre pare-feu, notre 2FA, tout ce qu'on veut, ne pourra rien y faire.

Et c'est parce que j'utilise Windows, qui a cette limitation débile.
Sous Linux on peut utiliser 200 fois le même nom de domaine avec des utilisateurs différents, ça ne pose aucun problème.

il y a 9 minutes, MilesTEG1 a dit :

Car je suppose qu'utiliser un ndd pour un partage SMB, ça ne fonctionne pas en passant par le reverse proxy ?

Non, mais je ne vois pas trop ce que ça aurait changé ?

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir @.Shad.

J'ai finalement réussi à avoir mes deux piholes qui fonctionnent.

Chacun sur un nas ils bloquent les pubs quelque soit la config (les deux nas connectés ou seulement un seul des deux). Tout cela en conservant la redondance  de l'extérieur.

Ce qui change par rapport à ton docker-compose (je pense que ça tient au fait que mon nas héberge mes zones locale et publique) :-DNS_BOGUS_PRIV=false et je n'ai pas utilisé le conditional forwarding. Pourtant les IP sont bien remplacées par les nom d'hôtes. Et la logique est routeur--->Zones des nas--->piholes- --> DNS FDN.

Donc dans le routeur j'ai les deux IP virtuelles des Nas, en résolution des DNS serveurs les IP virtuelles des Piholes et en upstream DNS des piholes les DNS FDN etc.... Ce sont les seules mofif que j'ai faites par rapport à ma config de base.

ça n'a pas fonctionné tout de suite car lorsque je déconnectais le nas 2 je retrouvais les pub.

Après de multiples essais, j'ai fini par faire ce que l'on devrait toujours faire...c'est lire les commentaires qu suivent le tuto. J'y ai trouvé la solution en limitant la plage du réseau macvlan au seul pihole suite à l'erreur "illegal option invalid argument". J'avais cette erreur, mais comme j'obtenais la création du réseau macvlan je ne m'étais pas inquiété.

Merci à ton tuto et à @MilesTEG1

 

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

Il y a 1 heure, Jeff777 a dit :

Pourtant les IP sont bien remplacées par les nom d'hôtes. Et la logique est routeur--->Zones des nas--->piholes----> DNS FDN

C'est logique dans ce cas-là, car tes zones DNS interviennent avant Pi-Hole, donc les périphériques sont déjà nommés.

Il y a 2 heures, Jeff777 a dit :

J'y ai trouvé la solution en limitant la plage du réseau macvlan au seul pihole suite à l'erreur "illegal option".

Et en faisant comme j'avais dit, de changer la plage macvlan du NAS1 par celle que j'avais proposée ? Je pense que ça résoudrait aussi ce problème. Avoir un réseau macvlan avec 1 IP disponible c'est moche, enfin dommage surtout.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 15 heures, .Shad. a dit :

Et en faisant comme j'avais dit, de changer la plage macvlan du NAS1 par celle que j'avais proposée

J'avais fini par essayer. J'avais toujours l'erreur illegal option. D'ailleurs d'après toi qu'est ce que cela signifie ?

Edit : je viens d'effacer des remarques erronées......pas très réveillé ce matin 😉

Maintenant je m'attaque à l'IPV6. Avec pihole sur le Raspberry je voyais les IPV6 sur le dashboard...plus maintenant !

 

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

Le 27/01/2023 à 00:22, .Shad. a dit :

Et en faisant comme j'avais dit, de changer la plage macvlan du NAS1 par celle que j'avais proposée ? Je pense que ça résoudrait aussi ce problème. Avoir un réseau macvlan avec 1 IP disponible c'est moche, enfin dommage surtout.

J'ai réussi à conserver 14 IP sans le "invalid argument" en utilisant la plage 192.168.1.128/28...... en fait ça marche peut-être lorsque le dernier groupe de l'adresse est un multiple de 16 (j'essaierai peut-être 144 pour avoir une plage contiguë).

En utilisant ce site https://cric.grenoble.cnrs.fr/Administrateurs/Outils/CalculMasque/   on voit que ces plages commencent toutes à partir de l'IP devant le CIDR.

 

Modifié par Jeff777
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.