Ajout de AdGuardHome en macvlan
This commit is contained in:
		| @@ -0,0 +1,60 @@ | ||||
| ##=======================================================================================================## | ||||
| ##                                                                                                       ## | ||||
| ## 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/                  ## | ||||
| ##                                                                                                       ## | ||||
| ##=======================================================================================================## | ||||
|  | ||||
| --- | ||||
| version: "2.4" | ||||
| services: | ||||
|   adguardhome_macvlan: | ||||
|     image: adguard/adguardhome:latest         # https://github.com/AdguardTeam/AdGuardHome | ||||
|     container_name: adguardhome_macvlan | ||||
|     environment: | ||||
|       - PUID=1000  # Utiliser la commande (en SSH) : id NOM_UTILISATEUR | ||||
|       - PGID=100   # Utiliser la commande (en SSH) : id NOM_UTILISATEUR | ||||
|       - TZ=Europe/Paris | ||||
|       - LANG=fr_FR.UTF8 | ||||
|       - LANGUAGE=fr_FR.UTF8 | ||||
|  | ||||
|     # ############### | ||||
|     # Le label ci-dessous permet à Watchtower de faire les mises à jour automatiquement | ||||
|     # Cela peut-être supprimé si Watchtower n'est pas utilisé. | ||||
|     labels: | ||||
|       - "com.centurylinklabs.watchtower.enable=true" | ||||
|     # ############### | ||||
|  | ||||
|     volumes: | ||||
|       - "/volume1/docker/adguardhome_macvlan/work:/opt/adguardhome/work" | ||||
|       - "/volume1/docker/adguardhome_macvlan/conf:/opt/adguardhome/conf"  | ||||
|  | ||||
|     # La déclaration des ports n'est pas utile lors d'une installation en macvlan, car tous les ports seront directement accessible | ||||
|     # avec l'IP virtuelle. | ||||
|     # ports: | ||||
|     #   -  "953:53" | ||||
|     #   -  "967:67/udp" | ||||
|     #   -  "968:68" | ||||
|     #   -  "8080:80/tcp" | ||||
|     #   -  "9443:443/tcp" | ||||
|     #   -  "9853:853/tcp" | ||||
|     #   -  "3030:3000/tcp" | ||||
|  | ||||
|     networks: | ||||
|       macvlan-network: | ||||
|         ipv4_address: 192.168.xxx.yyy     # Mettre ici l'IP macvlan définie dans les scripts | ||||
|  | ||||
|     restart: unless-stopped | ||||
|  | ||||
| networks: | ||||
|   macvlan-network:        # Ce réseau devra bien entendu être créé avant avec le script annexe ou avec Portainer. | ||||
|     external: true | ||||
							
								
								
									
										39
									
								
								docker-compose/adguard-macvlan/bridgemacvlan-interface.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								docker-compose/adguard-macvlan/bridgemacvlan-interface.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| ##========================================================================================## | ||||
| ##                      Script bridgemacvlan-interface.sh                                 ## | ||||
| ##                                                                                        ## | ||||
| ## 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/   ## | ||||
| ##                                                                                        ## | ||||
| ##========================================================================================## | ||||
|  | ||||
| # Set timeout to wait host network is up and running | ||||
| sleep 60 | ||||
|  | ||||
| echo "$(date "+%R:%S - ") Script de création d'une interface virtuelle pour le NAS" | ||||
| 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 | ||||
|                                                     # 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  | ||||
|                                                     # Il faut que l'adresse MAC respecte ces conditions : | ||||
|                                                     #   - Elle n'existe pas déjà sur mon hôte et sur mon réseau. | ||||
|                                                     #   - Elle respecte la base hexadécimale, les notations allant de 0 à F. | ||||
|                                                     #   - Le premier nombre doit être pair, ici 5E = 94 en base 10, c'est donc OK (vous pouvez | ||||
|                                                     #     utiliser un convertisseur en ligne, ou faire vos divisions euclidiennes). | ||||
|                                                     #     S'il est impair, vous aurez un message : | ||||
|                                                     #           RTNETLINK answers: Cannot assign requested address | ||||
| ip link set macv0 up | ||||
|  | ||||
| ip route add 192.168.xxx.yyy/32 dev macv0           # 192.168.xxx.yyy/32 : Adresse macvlan du conteneur AdguardHome_macvlan sur lequel | ||||
|                                                     # faire pointer l'IP virtuelle ( 1 seule adresse unique avec le /32 ) | ||||
|                                                     # C'est l'adresse du network macvlan-network créée avant de lancer le script. | ||||
|                                                     # Utiliser Portainer ou l'interface Docker ou encore le script : create-macvlan-network.sh | ||||
|                                                     #   | ||||
|  | ||||
| echo "$(date "+%R:%S - ") Script terminé" | ||||
| exit | ||||
| @@ -0,0 +1 @@ | ||||
| docker network create -d macvlan --subnet=192.168.xxx.0/24 --ip-range=192.168.x.yyy/28 --gateway=192.168.xxx.1 -o parent=ovs_eth0 macvlan-network | ||||
		Reference in New Issue
	
	Block a user