Ajout de AdGuardHome en macvlan #40
@ -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
|
Loading…
Reference in New Issue
Block a user