Ajout du docker-compose.yml pour installer pihole en mavclan

+ Ajouts et mise à jour de commentaires dans les scripts et docker-compose
This commit is contained in:
MilesTEG 2021-04-26 09:59:05 +02:00
parent 90e1921825
commit 9465ad324c
6 changed files with 221 additions and 19 deletions

View file

@ -6,7 +6,15 @@
## Script de création d'interface virtuelle pour le conteneur AdGuardHome_macvlan ##
## Voir tuto : https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ##
## ##
##========================================================================================##
## Rappels des différentes IP : ##
## - Plage d'IP macvlan : 192.168.xxx.MMM/28 ##
## - IP virtuelle unique : 192.168.xxx.zzz/32 ##
## - IP conteneur n°1 : 192.168.xxx.yyy ##
## - IP conteneur n°2 : 192.168.xxx.ooo ##
## - Plage d'IP du LAN : 192.168.xxx.0/24 ##
## - Passerelle/routeur : 192.168.xxx.1 ##
## ##
##==========================================================================================
# Set timeout to wait host network is up and running
sleep 60
@ -16,7 +24,7 @@ echo "$(date "+%R:%S - ") Exécution des commandes..."
ip link add macv0 link ovs_eth0 type macvlan mode bridge # macv0 : est le nom données à l'interface virtuelle
# ovs_eth0 : est l'interface réseau utilisée sur le NAS (lorsque VMM est utilisé)
ip addr add 192.168.xxx.zzz/32 dev macv0 # Adresse IP virtuelle 192.168.x.zzz/32 -- Il faut que cette adresse soit libre dans le réseau
ip addr add 192.168.xxx.zzz/32 dev macv0 # Adresse IP virtuelle 192.168.x.zzz/32 -- Il faut que cette adresse soit libre dans le réseau
# et qu'elle ne fasse pas partie du DHCP du routeur/box
ip link set dev macv0 address 5E:00:01:02:03:04 # MAC adresse pour l'adaptateur ayant l'IP virtuelle

View file

@ -4,21 +4,30 @@
## ##
##==============================================================================================
##=======================================================================================================##
## ##
## Attention, il faut créer le réseau macvlan à l'aide du script : docker_network_create_macvlan.sh , ##
## ou avec Portainer. ##
## Ce dernier va créer un réseau macvlan ayant comme IP unique 192.168.xxx.yyy ##
## Le conteneur sera donc vu comme une machine sur le réseau LAN, mais ne pourra pas être ##
## joint par le NAS lui-même. ##
## Pour celà, il faut utiliser le second script : bridgemacvlan-interface.sh ##
## Ce dernier va créer une IP-interface virtuelle 192.168.xxx.zzz qui pourra être accessible par le NAS. ##
## Cette interface ne persiste pas au démarrage, il faudra mettre le script en tâche planifiée avec le ##
## planificateur de tâches dans DSM. ##
## ##
## Voir tuto : https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ##
## ##
##=======================================================================================================##
##============================================================================================##
## ##
## Attention, il faut créer le réseau macvlan à l'aide du script : macvlan-network.sh ##
## Ce dernier va créer un réseau macvlan ayant comme IP unique 192.168.2.210 ##
## Cette IP doit être dans la plage d'IP mavclan définie dans le script de création du réseau.##
## Le conteneur sera donc vu comme une machine sur le réseau LAN, mais ne pourra pas être ##
## joint par le NAS lui-même. ##
## Pour celà, il faut utiliser le second script : boot-bridgemacvlan-interface.sh ##
## Ce dernier va créer une IP-interface virtuelle qui pourra être accessible par le NAS. ##
## Cette interface ne persiste pas au démarrage, il faudra mettre le script en tâche ##
## planifiée avec le planificateur de tâches dans DSM. ##
## ##
## Voir tuto : https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/ ##
## ##
## Attention ! ##
## ##
## Ces deux scripts ne sont à utiliser qu'une seule fois, quelque soit le nombre de ##
## conteneurs qui en bénéficieront. ##
## Par exemple, si vous utilisez 2 conteneurs en macvlan, une fois le réseau macvlan créé ##
## pour le 1er, il est inutile (et impossible) de le recréer. ##
## Le script boot-bridgemacvlan-interface.sh ne doit être lancé qu'une seule fois, et à ##
## chaque reboot. L'IP virtuelle est unique, il ne faut pas en recréer une seconde. ##
## ##
##==============================================================================================
---
version: "2.4"
@ -57,7 +66,7 @@ services:
networks:
macvlan-network:
ipv4_address: 192.168.xxx.yyy # Mettre ici l'IP macvlan définie dans les scripts
ipv4_address: 192.168.xxx.yyy # Mettre ici l'IP macvlan dans la plage définie dans les scripts
restart: unless-stopped

View file

@ -9,7 +9,18 @@
## ##
## Les IPs prévues pour les conteneurs sont : ##
## - AdGuard-Home : 192.168.xxx.yyy ##
## - Pi-Hole : 192.168.xxx.ooo ##
## ##
## Rappels des différentes IP : ##
## - Plage d'IP macvlan : 192.168.xxx.MMM/28 ##
## - IP virtuelle unique : 192.168.xxx.zzz/32 ##
## - IP conteneur n°1 : 192.168.xxx.yyy ##
## - IP conteneur n°2 : 192.168.xxx.ooo ##
## - Plage d'IP du LAN : 192.168.xxx.0/24 ##
## - Passerelle/routeur : 192.168.xxx.1 ##
## ##
##==============================================================================================
##==============================================================================================
## ##
## --ip-range=192.168.xxx.MMM/28 : cela correspond à la plage d'IP pour le réseau macvlan ##
@ -28,5 +39,5 @@ docker network create -d macvlan \
--subnet=192.168.xxx.0/24 \
--ip-range=192.168.xxx.MMM/28 \
--gateway=192.168.xxx.1 \
-o parent=ovs_eth0 \
-o parent=ovs_eth0 \ # Ici, ovs_eth0 est à remplacer par votre interface réseau : eth0 ou autre...
macvlan-network