Aller au contenu

Accès NAS DDNS derrière deux routeurs


Messages recommandés

Bonjour,

Je vis en Asie dans un "serviced apartment" : le gérant de l'immeuble a souscrit une connexion internet auprès d'un FAI, l'immeuble est câblé et chaque appartement a plusieurs prises RJ45 directement connectées au réseau. J'ai donc installé un routeur (TP Link Archer C50) et créé un réseau local pour m'isoler du réseau général du bâtiment.

J'ai un DS216+ii connecté en LAN sur le routeur et qui dispose d'une adresse IP statique. Je souhaite monter certains répertoires en lecteurs sur mon PC pour y accéder de manière simple quand je suis au travail, donc hors de ce réseau local ou de celui de mon immeuble. Pour ça j'ai installé WebDAV Server sur le NAS et un client RaiDrive sur mon PC. Il faut que je paramètre l'accès au NAS par DDNS.

J'ai donc activé la prise en charge DDNS, j'ai une adresse externe IPv4, le statut est normal. Seulement, impossible de me connecter (via raidrive ou directement en tapant l'adresse IP ou l'adresse synology.me dans un navigateur) : message d'erreur "ce site est inaccessible". Pourtant j'arrive à pinger aussi bien l'IP publique que l'alias synology.me.

J'ai essayé de forwarder un peu tous les ports utiles de mon routeur vers le NAS, dont surtout les 5005 et 5006. J'ai essayé la configuration automatique du routeur en UPnP. Rien de tout ça ne marche.

Pendant la configuration automatique, je reçois un avertissement : deux routeurs ou plus ont été trouvés dans votre réseau. J'imagine donc que c'est ça qui bloque et qu'il faudrait que le port forwarding soit fait au niveau du routeur du bâtiment vers le mien, en plus du mien vers le NAS. Mais n'étant pas du tout spécialiste, je suis incapable d'aller plus loin.

Est-ce-que ma compréhension est la bonne et que c'est bien la source du problème ? Ou alors est-ce autre chose, et dans ce cas comment faire pour accéder à mon NAS en DDNS depuis l'extérieur ?

Merci beaucoup d'avance !

Lien vers le commentaire
Partager sur d’autres sites

Salut @pumpitup

Si j'ai bien compris, tu as ce type d'installation

Internet -> Routeur n°1 (que tu ne contrôles pas) -> Routeur n°2 (TP Link Archer C50 (que tu contrôles)) -> NAS + PC.

Le soucis, c'est que si tu veux utiliser ton NAS depuis l'extérieur, il faut router des ports sur le routeur n°1 que tu ne contrôles pas... Par exemple le port 443 ou un autre...

Là, sur le routeur n°1, je suppose que tu n'as pas de ports routé vers ton routeur à toi... donc aucun moyen de communiquer avec ton NAS dans ton réseau.
Ce serait à mon avis aussi la même chose si tu branchais ton NAS directement au routeur n°1 via une prise réseau de ton appartement.

Donc je pense qu'il faut que tu demandes au gérant de router un port vers l'adresse de ton routeur, le n°2, je parle là de l'IP qu'il obtient du routeur n°1.


Exemple :

  • Routeur n°1 : réseau en 192.168.1.xxx,
    • IP du routeur n°1 = 192.168.1.1
    • IP du routeur n°2 = 192.168.1.100
  • Routeur n°2 : réseau en 192.168.20.xxx
    • IP du routeur n°2 = 192.168.20.1
    • IP du NAS = 192.168.20.2
    • IP du PC= 192.168.20.3

Il faut aussi que tu saches que du double NAT c'est pas le pied... y a plein de trucs qui peuvent ne pas fonctionner correctement... si mal configuré...

 

Lien vers le commentaire
Partager sur d’autres sites

@pumpitup

Bonjour,

  1. Comme sur tout forum, il est d'usage que les nouveaux membres passent par la rubrique [PRESENTATION] pour faire la leur. Certains ici, y sont sensibles et de plus cela facilite les réponses en fonction du niveau de compétences du membre et de ses équipements. Cela dit rassures-toi il n'est pas trop tard pour bien faire ...


     
  2. Pourrais-tu STP préciser quelques points, c'est juste pour comprendre :

    1. Chaque appartement à sa propre @IP externe  fournie par le FAI du gérant ?

    2. Ou bien c'est une @IP locale d'un même réseau local du routeur n°1 ?

    3. Ou bien  le routeur n°1 fournit un réseau local spécifique à chaque appartement ?

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Bonjour,

Bah si c'est la situation N°2, tu imagines le casse-tête sécurité où tous les appartements seraient sur le même sous-réseau ? Mais c'est vrai que tout porte à croire que c'est cette situation vu la description qu'a fait @pumpitup. Du moins c'est la lecture que j'en fait ou alors je n'ai rien compris ... 🤔

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@oracle7 et @MilesTEG1, merci pour vos réponses !

@oracle7 désolé pour la présentation, j'avais zappé. C'est maintenant chose faite.

Vous avez bien compris, je suis dans la situation numéro 2. Tous les appareils du bâtiment sont sur le même réseau et sont visibles (par exemple via la commande arp -a).

Mieux que ça, en branchant directement mon PC sur la prise ethernet (à la place de mon routeur habituel, donc), j'ai tenté de me connecter à ce qui me semblait être le routeur (IP 192.168.0.1) et comme le proprio n'est pas très malin, en essayant user admin et mdp admin, bingo ça a marché. Je suis donc en fait derrière un switch 48 ports TS-SL3452 (https://www.tp-link.com/us/business-networking/managed-switch/tl-sl3452/). Ce switch concerne tous les appareils qu'ils soient branchés en LAN ou sur le wifi du bâtiment - par exemple dans la page de config je vois mon téléphone s'il est sur ce wifi. Zéro sécurité, donc.

J'imagine que ce switch est lui-même placé derrière un modem ou un routeur alimenté par le FAI ; il y a peut-être même une cascade de routeurs.

Pour commencer j'ai cherché si je pouvais paramétrer un port forwarding dans ce switch, mais je n'ai rien trouvé : j'imagine donc que ça doit se faire dans le routeur, et qu'étant derrière le switch, je ne peux pas y accéder. C'est bien ça ? Ou y a-t-il une combine pour le retrouver ? Je précise qu'il y a une petite partie des IPs trouvées par arp -a qui est en 192.168.1.x, avec notamment x=1 (que je n'arrive pas à pinger) et x=254 (ma passerelle par défaut). Pour le reste l'IP du switch, la mienne ainsi que celles de plein d'autres appareils dont mon téléphone sont en 192.168.0.x. Je mets le résultat de la requête en PJ (j'ai masqué les adresses MAC).

Enfin dernière question, en admettant que j'accède au fameux routeur (soit via le proprio, soit tout seul), quels ports dois-je ouvrir ? @MilesTEG1 tu me dis " Par exemple le port 443 ou un autre" : je choisis au pif, ou en fonction de ce que je veux faire ? Supposons que je veuille accéder à DSM et à Webdav via DDNS et que pour le reste je me contente de Quickconnect, dois-je ouvrir le port 443 pour DSM et 5005/5006 pour Webdav, et c'est tout ?

Merci d'avance pour vos conseils !

 

arp-a.png

Modifié par pumpitup
précision routeur/switch et masquage MAC
Lien vers le commentaire
Partager sur d’autres sites

@pumpitup

Bonjour,

Peut-être alors que la solution est de considérer que le sous-réseau auquel tu es connecté est équivalent à Internet et que tous les ports sont disponibles et ouverts un peu comme si ton routeur était en DMZ derrière une box/routeur (sur le réseau local de celle-ci). J'espère ne pas te dire ainsi de c...ies, enfin en première approche c'est le raisonnement que je tiendrais mais je peux me tromper ...

Dans ce cas, avec ton routeur :

  1. tu commences par sécurité à bloquer/refuser en entrée toutes les autres @IP (192.168..0.x) afin que au moins tes voisins ne puissent venir chez toi vu que déjà, et c'est loin d'être top, tout ton flux entrant/sortant est visible des autres résidents.
  2. tu configures ton propre sous-réseau local (par ex 192.168.100.0) et attribue à ton NAS par ex 192.168.100.10.
  3. tu  transferts les ports 443, 5005/5006 vers ton NAS.

Mais pas sûr que ce soit suffisant. Aussi je serais curieux d'avoir l'avis expert de @PiwiLAbruti si d'aventure il passe par ce post.

Un truc aussi qui me parait pas clair dans ton cas, c'est ton @IP externe. Sauf erreur de ma part, il semble qu'elle soit commune à tous les résidents de ton immeuble. Donc je ne vois pas (ne sais pas) comment relier ton éventuel domaine personnalisé  à ton @IP locale en 192.168.0.x. a moins de configurer un reverse proxy sur le routeur de ton gérant ?

Sachant aussi il faudrait aussi que chez ton fournisseur de domaine tu puisses définir dans la zone DNS de ce domaine un enregistrement de type A qui pointe vers ton @IP externe. Mais là il y a problème, comme celle-ci est partagée en quelque sorte par tous les résidents/voisins. Est-ce que cela ne sera pas gênant, je crains que Oui. Du coup un de tes voisins (malveillant) pourrait revendiquer la propriété de ton domaine du fait qu'il a la même @IP externe. Pas simple donc et surtout pas sain  ...🤔

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

Merci @oracle7 pour ta réponse.

J'ai déjà configuré mon sous-réseau et mon NAS a une IP statique en 192.168.2.x. J'ai bien transféré ces 3 ports vers mon NAS mais ça ne fonctionne pas. Comme la rubrique "configuration du routeur" m'avertit au sujet de ces 2 routeurs, j'en déduis donc que le problème est là et qu'il faut que je voie avec mon gérant. Non ?

Au sujet de l'IP publique, je me suis posé la même question. Mais j'imagine qu'on trouve le même problème partout dès lors que plusieurs machines sont sur le même sous-réseau. Par exemple 2 NAS derrière une livebox en France ont-ils chacun une IP publique différente, ou partagent-ils la même ?

Lien vers le commentaire
Partager sur d’autres sites

@pumpitup

Bonjour,

il y a 9 minutes, pumpitup a dit :

j'en déduis donc que le problème est là et qu'il faut que je voie avec mon gérant. Non ?

OUI, il te faudra négocier avec lui.

il y a 4 minutes, pumpitup a dit :

Par exemple 2 NAS derrière une livebox en France ont-ils chacun une IP publique différente, ou partagent-ils la même ?

C'est mon cas. Mon NAS N°1 a l'@IP publique (unique) et j'atteins le NAS N°2 via le reverse proxy du NAS N°1. redirection du type https://dsm2.mondomaine.tld  port 443 (http/2) vers @IP_locale_nas2  port 5000.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 15 minutes, oracle7 a dit :

@pumpitup

Bonjour,

OUI, il te faudra négocier avec lui.

C'est mon cas. Mon NAS N°1 a l'@IP publique (unique) et j'atteins le NAS N°2 via le reverse proxy du NAS N°1. redirection du type https://dsm2.mondomaine.tld  port 443 (http/2) vers @IP_locale_nas2  port 5000.

Cordialement

oracle7😉

 

En effet j'ai voulu retenter sur mon alias synology.me en passant par le port 8080, et là surprise, je tombe sur la page de connexion à un routeur Mikrotik qui me semble être le routeur principal du bâtiment. Manque de chance le mot de passe a été changé... En tout cas ça confirme bien qu'on a tous la même IP publique.

Je vais donc demander au gérant de faire un transfert de port. Une dernière question : à part pour des NAS, les ports 443, 5005 et 5006 sont-ils communément empruntés pour d'autres usages ? Histoire d'être sûr que je ne crée de problèmes pour personne, et que je ne me retrouve pas avec des flux qui ne me sont pas destinés.

Merci

 

Lien vers le commentaire
Partager sur d’autres sites

@pumpitup

Bonjour,

Il y a 2 heures, pumpitup a dit :

à part pour des NAS, les ports 443, 5005 et 5006 sont-ils communément empruntés pour d'autres usages ?

Oui et non. Oui pour le port 443 car c'est le port standard des communications sécurisées donc il estutilisé par tout le monde. Les ports 5005/5006 ne sont utilisés que par ceux qui utilisent le protocole WebDav donc peut de monde en pratique.

Néanmoins dans tout cela, si ton gérant te transfert (NAT) le port 443 par exemple, tu n'es pas à l’abri qu'un jour un autre résident râle parce qu'il ne peut pas l'utiliser et qu'en plus tu voies arriver tout son flux chez toi. C'est pas le but, non ?

En fait, à mon humble avis, dans l'affaire ce n'était pas au gérant de prendre l'abonnement internet pour tous les résidents. Il devait simplement s'assurer que son immeuble  et donc chaque appartement était desservi par le réseau. Ensuite, seuls les résidents étaient libres d'installer internet ou non mais surtout de pouvoir choisir leur FAI.

Donc je crois que c'est pas gagné avec ton gérant mais si'il est de bonne composition il comprendra le problème et prendra les dispositions pour corriger cela. Partager une même @IP à plusieurs quand on est pas de la même famille n'est pas concevable, il devrait le comprendre aisément.

Bonne chance pour ta négociation.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup @oracle7.

C'est la norme un peu partout en Asie pour les serviced apartments : tout est fourni, meubles, eau, électricité, ménage, piscine, salle de sport... et internet ! 

Je vais me contenter de demander les ports pour webdav, pour le reste je continuerai via quickconnect.

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

@pumpitup

Bonjour,

Donc, du point de vue sécurité et confidentialité des flux, il faudrait que tu utilises un domaine personnalisé pour toutes tes connexion depuis l'extérieur vers ton réseau local personnel. Je vois cela comme çà mais je peut me tromper ...

Mais a contrario là je ne sais comment associé une @IP externe commune à plusieurs personnes à ce domaine. Pour aller plus loin, si d'autre résidents veulent aussi associer leur propre domaine à cette @IP commune, je ne sais dire si c'est même possible. Renseignes toi sur ce point en local au près des FAI par ex, comme tu dis que c'est de fait, une norme pour ces types d'appartements, ils ont bien une voie de contournement à ce problème, enfin je l'imagine ...

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Je pense que personne ne se pose trop ce genre de questions.

J'ai installé Plex ce soir, qui a automatiquement analysé mon réseau et m'a renvoyé vers cette page qui confirme mon problème de double-NAT : https://support.plex.tv/articles/200931138-troubleshooting-remote-access/?utm_campaign=Plex Apps&utm_medium=Plex Web&utm_source=Plex Apps

J'ai donc contacté mon proprio, je devrais arriver à m'arranger avec lui.

Merci encore pour ton aide !

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Concernant le switch TP link a l'adresse 192.168.0.1 dans l'interface web l'adresse du routeur "au-dessus" pourrait être dans :

"system" puis "system info" puis dans l'onglet "système ip" il faudrait consulter "default gateway".

en toute logique le routeur en question devrait être géré par le FAI directement et ça serait auprès de lui qu'il faudrait faire une demande.

Sinon pour ton besoin d'accéder aux documents depuis l'extérieur, as-tu pensé a dupliquer ces données sur des comptes google ou autre dédié qui te permettrais d'y accéder depuis l'extérieur ?

Lien vers le commentaire
Partager sur d’autres sites

@pumpitup
Nickel si tu as pu trouver ce qui clochait 🙂 Et c'était donc bien ce que j'avais suggéré ^^

Pour la redirection des ports sur le routeur du proprio, tu as plusieurs possibilités... :

  • Tu demandes de router tous les ports dont tu as besoin, mais c'est un risque qu'un autre locataire un de ces jours ait besoin de ces ports...
  • Tu demandes de router un seul port :
    • soit un port au hasard, genre : 30000 (histoire de le retenir)
    • soit le port 443... mais là aussi c'est un risque qu'un autre locataire un de ces jours ait besoin de ce port...

Dans ce cas-là, tu vas avoir besoin du reverse proxy.
Tous les noms de domaine que tu vas utiliser, devront être suivi de ce port :dsm.ndd.tld:30000.    plex.ndd.tld:30000
Le reverse proxy devra être configuré ainsi :

Ehm7cXe.png
Avec ces en-têtes personnalisés :
jz6PxGW.png
Et ce, pour chaque service dont tu veux avoir accès depuis l'extérieur.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, pumpitup a dit :

j'ai tenté de me connecter à ce qui me semblait être le routeur (IP 192.168.0.1)

Bonjour,

Le soucis avec cette configuration. C'est tout ce qui transite par le réseau 192.168.0.0/24 est potentiellement visible de tout le monde.

En HTTPS c'est pas trop gênant seul les URLs sont visibles mais pas le contenue. Mais c'est pas top, les requîtes DNS sont visibles, ou configurer le DoH (DNS en HTTPS).

L'idéal serait de configurer un VPN dans ton Routeur. Ou mieux louer en ligne un VPS (quelques euros par mois et installer ce qu'il faut dessus, c'est du Linux) et te connecter dessus en VPN, comme ça tu aurais ta propre IP fixe avec tous les ports de disponibles (dans le pays que tu veux) et tu pourrais ouvrir, router les ports que tu veux. Et rien de ce qui transite par ce VPN ne sera visible sur le réseau partagé de l'immeuble ou l'opérateur.

Ton Réseau 192.168.2..0/24 <--> Routeur TP Link <--> Tunnel VPN <--> VPS <--> Internet

 

Voir en exemple le tuto (pour le NAS en 4G), bien sur ça serait à adapter avec ton routeur à la place du NAS, il doit y avoir des tutos en ligne.

 

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

Merci à tous pour vos réponses !

Je suis allé voir le proprio, il m'a carrément communiqué le mdp de son routeur, je me suis mis en IP statique et j'ai fait ma petite redirection comme un grand, au poil !

@MilesTEG1, j'ai ensuite tenté le reverse proxy, effectivement c'est une bonne idée pour ne bloquer qu'un seul port du réseau "public" (immeuble) et quand même avoir accès à tous mes services. J'ai renouvelé le certificat pour inclure les sous-domaines, et ça fonctionne impecc. Je vais rester là-dessus.

@maxou56 effectivement c'est le souci. Malheureusement mon routeur ne gère pas le DoH, donc le mieux que je puisse faire c'est de l'activer sur mon navigateur (Chrome). Pour le VPN c'est une bonne option, je verrai.

Encore merci !

 

 

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, oracle7 a dit :

@MilesTEG1

Bonjour,

J'ai hâte ...😀

Cordialement

oracle7😉

Il faut que je trouve le temps 🙂 Et je ferais ça sur github pour ne pas avoir à gérer la mise en page sur plusieurs forum.
Précision : je n'expliquerai pas les tenants et aboutissant d'un serveur DNS car j'en suis incapable.
Je ferais un tuto d'installation, et d'utilisation de AdGuard Home assez sommaire car je n'utilise pas certaines fonctionnalités (et parfois ne les comprends pas 😅)

 

il y a une heure, pumpitup a dit :

Ah oui volontiers, merci !

Tout marche impecc sauf Photo Station, je vais faire un post séparé pour ça

Ok 🙂 

Je vais partir du principe que tu sais utiliser Docker, soit via la ligne de commande pour utiliser la commande docker-compose up -d, ou bien via Portainer (qui aura du être installé via la ligne de commande).
Tu pourras me dire si c'est OK pour toi ou si il faut que je te pointe vers des tutos ?

Alors, rapidement quelques explications (ce qui est pas mal long en fin de compte ^^ à cause des fichiers dont j'ai mis le code...) :

  • L'installation en docker macvlan est faite pour permettre d'avoir une adresse IP dédiée au conteneur, mais du coup il faut créer une interface virtuelle pour que le NAS puisse communiquer avec le conteneur.
    Il faudra créer un réseau macvlan (avec un script ou via portainer) afin d'avoir une plage d'IP qui pourront être dédiées à des conteneurs. J'ai prévu une plage d'IP de 14 IP, car une fois le réseau macvlan créé, il est impossible d'en créer un autre, il doit être unique, donc comme il se peut qu'on ait besoin d'avoir d'autres IP macvlan... 🙂 

    Il faudra aussi exécuter un script afin de créer l'interface virtuelle, qui fera que le NAS aura une deuxième adresse IP (virtuelle) qui sera celle que le nas utilisera pour communiquer avec les conteneurs macvlan.
     
  • Je crée un dossier adguardhome_macvlan pour contenir les données du conteneur dans le dossier de docker. Le chemin sera donc :
    /volume1/docker/adguardhome_macvlan/
    Je crée également un dossier _Scripts-DOCKER dans le dossier docker pour y stocker tous les scripts shell que j'utilise avec Docker, le chemin sera donc :
    /volume1/docker/_Scripts-DOCKER/

     
  • Le fichier docker-compose.yml qui permet de créer le conteneur adguard home sera placé dans le dossier adguardhome_macvlan (si on utilise portainer ce n'est pas nécessaire, un copier/coller suffit) :
    ##==============================================================================================
    ##                                                                                            ##
    ##                   Fichier docker-compose.yml pour Adguard-Home en macvlan                  ##
    ##                                                                                            ##
    ##==============================================================================================
    
    ##============================================================================================##
    ##                                                                                            ##
    ## 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"
    services:
      adguardhome_macvlan:
        image: adguard/adguardhome:latest   # https://github.com/AdguardTeam/AdGuardHome
                                            # https://github.com/AdguardTeam/AdGuardHome/wiki/Docker
        container_name: adguardhome_macvlan
        
        hostname: AdGuard-Home--DS920+      # Permet d'avoir un nom pour le conteneur dans AdGuard lui même (sinon c'est une chaine aléatoire)
        
        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 dans la plage définie dans les scripts
                                              # Dans mon cas c'est 192.168.2.210
    
        restart: unless-stopped
    
        healthcheck:
          test: "/bin/netstat -pant | /bin/grep 53"
          interval: 45s
          timeout: 30s
          retries: 3
    
    networks:
      macvlan-network:        # Ce réseau devra bien entendu être créé avant avec le script annexe ou avec Portainer.
        external: true

     
  • Le script de création du réseau macvlan : (à placer dans le dossier _Scripts-DOCKER )
    #!/bin/bash
    
    ##============================================================================================##
    ##                                                                                            ##
    ##                           Script docker_network_create_macvlan.sh                          ##
    ##                                                                                            ##
    ## Script de création d'interface virtuelle pour les conteneurs qui auront une IP macvlan     ##
    ## Voir tutos :                                                                               ##
    ## https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/                   ##
    ## https://www.nas-forum.com/forum/topic/67311-tuto-certificat-ssl-reverse-proxy-via-docker/  ##
    ##                                                                                            ##
    ## Les IPs prévues pour les conteneurs sont :                                                 ##
    ## - Conteneur A :  192.168.xxx.yyy                                                           ##
    ## - AdGuard-Home : 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     ##
    ## sachant que 192.168.xxx.MMM doit être la 1ère IP donnée par les calculateurs internet.     ##
    ## Il se peut que ce ne soit pas la même que l'IP macvlan que l'on veut donner au conteneur   ##
    ## AdGuardHome.                                                                               ##
    ##                                                                                            ##
    ## Quelques calculateurs internet :                                                           ##
    ## https://cric.grenoble.cnrs.fr/Administrateurs/Outils/CalculMasque/                         ##
    ## https://www.cidr.eu/en/calculator/+/192.168.2.208/28                                       ##
    ##                                                                                            ##
    ##==============================================================================================
    
    
    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=eth0 \              # Ici, eth0 est à remplacer par votre interface réseau : eth0, ovs_eth0 ou autre...
    macvlan-network
    
    ##==============================================================================================
    ## Pour exemple, voilà mes valeurs à moi :                                                    ##
    ##                                                                                            ##
    ## - Conteneur A :  192.168.2.209                                                             ##
    ## - AdGuard-Home : 192.168.2.210                                                             ##
    ## - Conteneur B :  192.168.2.211                                                             ##
    ##                                                                                            ##
    ## Rappels des différentes IP :                                                               ##
    ## - Plage d'IP macvlan :  192.168.xxx.MMM/28  ==  192.168.2.208/28                           ##
    ## - IP virtuelle unique : 192.168.xxx.zzz/32  ==  192.168.2.210/32                           ##
    ## - Plage d'IP du LAN :   192.168.xxx.0/24    ==  192.168.2.0/24                             ##
    ## - Passerelle/routeur :  192.168.xxx.1       ==  192.168.2.1                                ##
    ##==============================================================================================

     
  • Le script de création de l'interface virtuelle : ((à placer dans le dossier _Scripts-DOCKER et à lancer après chaque redémarrage du NAS : passer par une tâche planifiée)
    #!/bin/bash
    
    ##===========================================================================================##
    ##                      Script bridgemacvlan-interface.sh                                    ##
    ##                                                                                           ##
    ## Script de création d'interface virtuelle pour les conteneurs en macvlan                   ##
    ## Voir tutos :                                                                              ##
    ## https://www.nas-forum.com/forum/topic/69319-tuto-docker-macvlan-pi-hole/                  ##
    ## https://www.nas-forum.com/forum/topic/67311-tuto-certificat-ssl-reverse-proxy-via-docker/ ##
    ##                                                                                           ##
    ## Rappels des différentes IP :                                                              ##
    ## - Plage d'IP macvlan :  192.168.xxx.MMM/28  ==  192.168.2.208/28                          ##
    ## - IP virtuelle unique : 192.168.xxx.zzz/32  ==  192.168.2.210/32                          ##
    ## - Plage d'IP du LAN :   192.168.xxx.0/24    ==  192.168.2.0/24                            ##
    ## - Passerelle/routeur :  192.168.xxx.1       ==  192.168.2.1                               ##
    ## - IP conteneur n°1 :    192.168.xxx.yyy     == 192.168.2.209                              ##
    ## - IP conteneur n°2 :    192.168.xxx.ooo     == 192.168.2.210     AdGuard_Home             ##
    ##                                                                                           ##
    ##=============================================================================================
    
    # 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 eth0 type macvlan  mode bridge   # macv0 : est le nom données à l'interface virtuelle
                                                            # eth0 : est l'interface réseau utilisée sur le NAS (lorsque VMM n'est pas utilisé)
                                                            #        si VMM est utilisé, ce sera ovs_eth0
    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
                                                        # 
                                                        #### Dans mon cas, c'est cette commande :
                                                        #### ip addr add 192.168.2.230/32 dev macv0
    
    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.MMM/28 dev macv0           # 192.168.xxx.MMM/28 : Plage d'adresse macvlan
                                                        # IP réellement disponible : voir les calculateurs internet
                                                        # Utiliser Portainer ou l'interface Docker ou encore le script : create-macvlan-network.sh
                                                        # 
                                                        #### Dans mon cas, c'est cette commande :
                                                        #### ip route add 192.168.2.208/28 dev macv0
    
    echo "$(date "+%R:%S - ") Script terminé"
    exit

     

 

PS : je me dis que je rependrais ces lignes dans mon tuto 😛 

PPS : une partie de ce que j'ai dit est issue des tutos cités, et donc en grosse partie de @.Shad.😉 

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1

Bonjour,

Merci beaucoup à toi pour ce "pré" TUTO.

Après une première lecture j'aurais une première question. Pour être sûr et juste lever un doute dans mon esprit (un peu embrumé 🤪), la plage d'adresse IP macvlan que tu définis est bien HORS de la plage d'@IP d'attribution automatique du DHCP du routeur, j'ai bon ?

Cordialement

oracle😉

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, oracle7 a dit :

la plage d'adresse IP macvlan que tu définis est bien HORS de la plage d'@IP d'attribution automatique du DHCP du routeur, j'ai bon ?

Oui tout à fait 😉 
Et l'IP virtuelle du NAS doit elle aussi être en dehors de la plage DHCP du routeur.
Mon RT est configuré pour que le DHCP donne les adresses entre 192.168.2.100 et 192.168.2.120.
Mais j'ai défini plein d'autres IP fixes autour de cette plage pour avoir les mêmes IP sur mes mobiles, ordinateurs, switchs, caméras, imprimantes, etc...

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.