Synology VPN Tailscale et accès au reverse proxy du NAS

austinlolo

Nouveau membre
17 Novembre 2021
22
4
3
Bonjour,
j'ai des app via docker sur mon NAS auxquelles j'accède via reverse proxy
Je limite les IP via l'option "Profil de controle d'accès" de DSM (je peux donc y accéder depuis mon Local, ou bien depuis ma maison de campagne. Mais c'est tout, et ca me limite, en déplacement)
Alors j'ai voulu installer le VPN Tailscale pour simplifier le contrôle d'accès (et permettre de me connecter au Nas depuis une connexion 4G par exemple)...mais sans succès.

Tailscale m'affecte bien une IP pour mon Device (on va dire, sur mon ordi, mais pareil sur mon téléphone lorsque je me connecte au VPN Tailscale)
Mais impossible de faire accepter cette IP dans mon NAS. J'ai essayé de l'ajouter dans "profil de contrôle d'accès", mais je ne me connecte pas. Comme si c'était (sans doute) toujours l'IP de mon FAI (celui distant) qui était vue par mon NAS et non l'IP de mon Device qui tente de s'y connecter.

Qu'est ce que je loupe ?
Merci de votre aide
 
Bonjour,

Pour que cela fonctionne il faut que votre NAS soit aussi connecter au VPN, ou du moins ai un accès a ce reseau VPN.

Comment votre NAS as t'il accès a ce reseau ?
 
  • J'aime
Réactions: austinlolo
Alors, mon NAS a aussi l'app Tailscale installée, et lancée.
J'ai une IP affectée par Tailscale sur le NAS. Par exemple, depuis mon ordi (distant via VPN Tailscale) je peux accéder aux répertoires partagés du NAS en me connectant à l'IP du NAS fournie par Tailscale (100.xxxxxx)
Ca me montre que la connexion est possible.

De meme, sur Tailscale j'ai indiqué que le DSN était sur mon NAS (en indiquant l'IP tailscale du NAS) et ca fonctionne. C'est à dire que depuis mon telephone en 4G, connecté au VPN, mes requêtes passent bien par le DNS du NAS (adguard, pour info)

Il n'y a que pour accéder à mes app via reverse proxy (et docker) que ca coince...je ne sais pas pourquoi
 
ton reverse proxy est lié a un nom de domaine qui est lui même accessible depuis internet via la connexion internet de ta box.

Lorsque tu est en VPN et que tu indique ton nom de domaine, ton pc va chercher via ton DNS puis les DNS "de internet" a quelle ip correspond ce domaine, et il est rediriger vers ton ip externe de ta box.

Dans adguard, il faut que tu indique que ton nom de domaine est l'IP de ton NAS.
 
Merci, alors je ne suis pas sur de tout comprendre.
"ton reverse proxy est lié a un nom de domaine qui est lui même accessible depuis internet via la connexion internet de ta box." => oui, c'est le cas. Mon domaine est toto.familyds.com (pointe vers l'IP externe de ma box). C'est ok.
mon app docker accessible via app.toto.familyds.com. C'est ok

Ce reverse proxy si je l'ouvre à tout le monde, j'y accède librement depuis mon smartphone 4G. Normal.
Alors je mets le VPN Tailscale sur le NAS et le smartphone
Et je voudrais n'autoriser que les connexions depuis Tailscale (via les IP en 100.XXXX qu'affecte Tailscale)
Si je restreint (dans "Profil de ctrl d'accès"), je ne me connecte pas (enfin, j'accède à la page du NAS qui m'indique que la connexion n'est pas autorisée : "

Désolé, la page que vous recherchez est introuvable."​

ce qui est le message habituel pour les connexions non-autorisées)

Adguard, je ne l'utilise que pour mon DNS, à priori, je n'ai pas de souci dessus (ou peut etre, mais c'est un autre sujet)
 
Merci, alors je ne suis pas sur de tout comprendre.
"ton reverse proxy est lié a un nom de domaine qui est lui même accessible depuis internet via la connexion internet de ta box." => oui, c'est le cas. Mon domaine est toto.familyds.com (pointe vers l'IP externe de ma box). C'est ok.
mon app docker accessible via app.toto.familyds.com. C'est ok
Ton IP Tailscale en 100.XXX est l'ip sur le "réseau interne" que te fournit Tailscale, mais quand tu va sur internet tu as une autre ip, va sur un site comme https://www.monippublique.com/ et tu verra quelle est l'ip "internet" de ton réseau tailscale.
Et je voudrais n'autoriser que les connexions depuis Tailscale (via les IP en 100.XXXX qu'affecte Tailscale)
Si je restreint (dans "Profil de ctrl d'accès"), je ne me connecte pas (enfin, j'accède à la page du NAS qui m'indique que la connexion n'est pas autorisée : "

Désolé, la page que vous recherchez est introuvable."​

ce qui est le message habituel pour les connexions non-autorisées)
Dans ce cas lorsque tu as le VPN d'actif, il faut que tu utilise l'adresse ip de ton NAS en 100.XXX et non le nom de domaine.

Sauf a indiquer quelque part sur ton réseau VPN que ton nom de domaine est l'ip en 100.XXX de ton NAS (donc dans ton DNS).

Ou autre solution, modifier l'adresse de la passerelle par default de ton reseau tailscale pour l'adresse IP de ton NAS, a ce moment la si ton NAS est bien configurer, tu utilisera ta connexion internet de chez toi et donc une IP qui est autorisée.


Essaie la solution de configurer ton NAS comme Exit Node:
comme ca ton Nas te servira de passerelle pour accéder a internet sur ton réseau tailscale, du coup l'ip sera celle ton ta box.

1707752995119.png1707753031183.png
(ici le desktop sera remplacer par ton NAS)

lien de la documentation : https://tailscale.com/kb/1131/synology
 
Dernière édition:
merci pour ces efforts, mais je n'arrive pas à saisir les concepts.
Si je passe par l'IP du NAS en 100.xxx, je dois alors renseigner le port qui pointe vers mon application docker ? Le reverse proxy doit justement éviter ça pour ne pas avoir à ouvrir des ports.
Apres, je comprends que mon nom de domaine toto.familyds.com pointe vers l'IP publique de ma box et qu'il ne peut en etre autrement. Mais ca me convient tres bien, ça.

quand je suis à distance (maison de campagne), je vois bien que mon IP publique correspond toujours à celle de mon FAI (de la campagne). Normal.
Et si je renseigne cette IP dans mes "profils autorisés" sur le NAS, forcément ça passe.

La dernière idée, modifier l'adresse de la passerelle, si cela peut faire en sorte de considérer mon ordi distant comme faisant parti du réseau interne du NAS, ça m'irait bien.
Mais ca me semble trop compliqué pour le moment. A part cet accès VPN via Tailscale tout est fonctionnel chez moi (box + routeur à part pour le DHCP + Nas pour le DNS et autres applications). J'ai trop peur de péter un truc (surtout que je suis à distance, là...)
 
Si je passe par l'IP du NAS en 100.xxx, je dois alors renseigner le port qui pointe vers mon application docker ? Le reverse proxy doit justement éviter ça pour ne pas avoir à ouvrir des ports.
Comme tu est sur le même réseau tu n'as aucun port a ouvrir, un VPN ca sert aussi a cela, se connecter sans avoir a ouvrir d'autre port que ceux necessaire au fonctionnement du VPN.

1707753490975.png
La dernière idée, modifier l'adresse de la passerelle, si cela peut faire en sorte de considérer mon ordi distant comme faisant parti du réseau interne du NAS, ça m'irait bien.
regarde la dernière partie de mon post précedent ( peut etre édité au meme moment que ta reponse)
Tu as une solution concernant uniquement la configuration de Tailscale et donc ne touchant pas au reste de ta config.



La meilleure solution serait peut etre d'utiliser une VM linux sur ton NAS avec Tailscale installée dessus en monde "exit node"
 
Dernière édition:
Merci encore pour les infos, qui me permettent d'y voir plus clair.

Je suis allé plus loin. Y'a du mieux.
Alors je passe en effet par l'IP 100.xxx et j'ajoute :n°port Ainsi j'accède "en local" à mon application (sans avoir à ouvrir le port, puisque comme tu le dis, je suis "en local" via le VPN)

Je peux m'en satisfaire, meme si c'est moins souple que ce que je pensais, par rapport à ma config actuelle où je liste les IP publiques autorisées (local et maison de campagne) auxquelles je pensais "juste" pouvoir ajouter l'IP Tailscale de mon device distant. Mais comme cette situation n'est pas possible si j'utilise mon smartphone en 4G, il semble que je n'ai trop de solution.


Dans Tailscale je peux définir un nom DNS plus cool que de passer par l'IP, et dans ce cas c'est MonNas.dsnCustomDeTailscale.net
Donc, à voir à l'usage ce que ca donne. J'ai l'impression que je serai obligé de spécifier les n° de port pour chacune de mes applications web, à moins de trouver le moyen de pré-fixer le DNS MonNas.dsnCustomDeTailscale.net par qqchose du genre monApp1.MonNas.dsnCustomDeTailscale.net mais pour le moment je n'ai pas vu dans la configure de Tailscale si ce genre de chose est possible
 
Tu as la solution de faire un "exit node" .

Tu utilises quoi comme reverse proxi ?

Swag par exemple peut géré plusieurs domaine.
 
  • J'aime
Réactions: austinlolo
Tu as la solution de faire un "exit node" .

Tu utilises quoi comme reverse proxi ?

Swag par exemple peut géré plusieurs domaine.
Top pour Exit Node. En effet, là, je constate sur mon Device distant une IP publique qui correspond à l'IP de ma box (où est mon NAS) !
Donc je suis en "full Local" une fois connecté en VPN, c'est top

Tout n'est pas encore réglé, car sur mon iPhone il ne semble pas y avoir d'option pour forcer le traffic à utiliser le "Exit Node" du NAS, et dans ce cas, l'IP publique est celle d'orange, et mon NAS refuse la connexion. Bon, chaque chose en son temps.
Bon, c'est ok pour le smartphone, l'option est dans l'app Tailscale

Pour la suite j'ai également à m'occuper de mon 2nd NAS à la campagne. Maintenant, tant qu'à faire, j'aimerais bien aussi qu'il soit connecté tout le temps au VPN en passant par le "Exit Node" du NAS principal et ainsi se retrouver en "local" avec le réseau de mon 1erNAS
 
Dernière édition: