Aller au contenu

[Résolu] : Configuration VPS / OpenVPN / Nginx pour connection NAS derrière box 4G


Messages recommandés

Bonsoir à tous,

Ayant une box 4G, je suis confronté comme pas mal de personnes au problème de l'accès externe à mon NAS.

J'ai suivi pas mal de tutos pour sécuriser mon routeur, et mon NAS et je me suis attaqué au tuto

Premier obstacle : j'avais un message d'erreur m'indiquant que Certbot n'était plus disponible pour mon système d'exploitation (Debian 10). Donc j'ai utilisé les instructions de ce site pour l'installer :

https://certbot.eff.org/lets-encrypt/debianbuster-nginx

Ensuite je n'ai pas demandé le certificat de suite et ait utilisé la fonction certbot --nginx après avoir édité le fichier /etc/nginx/conf.d/default.conf pour y ajouter les 4 blocs comme indiqué dans le tuto.

(J'ai fait ça car pendant mes essais j'ai remarqué que cette méthode ajoutait des lignes dans le fichier default.conf, d'ailleurs je pense que ce sont les lignes qui sont indiquées dans le fichier wildcard)

Cependant là où ça coince c'est quand je teste pour voir si j'accède à mon NAS avec l'adresse de mon domaine, je reste bloqué sur une page 404 nginx.

la redirection de http vers https fonctionne, lorsque je tape https://sous.domaine.fr ça me renvoie vers https://domaine.fr et la fameuse 404.

Du côté du NAS, je suis bien connecté au serveur openVPN.

et là je sèche...

Est-ce que quelqu'un aurait une idée de ce qui ne va pas ?

Je joins une copie de mon fichier default.conf dans lequel j'ai remplacé mon nom de domaine, le nom de mon sous domaine et l'adresse ip statique du NAS indiquée dans l'interface openVPN.

Merci pour votre aide.

Superspiff83

 

 

default.conf.txt

Modifié par superspiff83
J'ai terminé ma configuration
Lien vers le commentaire
Partager sur d’autres sites

Supprime le premier bloc server 😉

Effectivement pour certbot il y a eu du changement et tu as trouvé la bonne page pour, j’avais évolué vers cela en passant par l’api ovh et update auto du certificat afin de ne même plus avoir à me connecté au serveur tous les 3 mois.

Je n’ai jamais update le tutoriel, celui ci étant un tutoriel de niche et la base y étant pour ceux désirant l’aventure et puis la fibre est arrivée aussi 🙂

Lien vers le commentaire
Partager sur d’autres sites

Bonjour et Merci pour vos retour,

@Einsteinium, j'ai supprimé le premier bloc, fait un restart et ça n'a rien changé.

après lecture de ce site http://nginx.org/en/docs/http/request_processing.html, j'en déduis que si lorsque je tape https://sous.domaine.fr j'arrive sur https://domaine.fr cela signifie qu'il ne doit pas entrer dans le 4ème bloc et soit il considère qu'on est dans le cas du 2ème bloc (qui redirige vers le 3ème) soit il me redirige vers le serveur par défault (3ème bloc) et donc la page 404.

@.Shad. Merci pour la proposition, si je n'arrive pas à régler le problème cet après midi je veux bien un coup de main. Je te ferai signe dans l'après midi.

a + tard

Superspiff83

Lien vers le commentaire
Partager sur d’autres sites

J'étais sur mobile j'ai pas regardé tout ce que tu as mis, après j'ai mis une structure de base dans le tutoriel et rien qu'avec ce bloc tu ne la respecté pas.

Le deuxième bloc, enfin le 3ième pour toi du coup... renvois tous les sous domaine non existant vers la racine du site pour lequel tu n'as mis qu'un 404... seul le sous domaine mis dans le dernier bloc est existant 😉

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, Einsteinium a dit :

J'étais sur mobile j'ai pas regardé tout ce que tu as mis, après j'ai mis une structure de base dans le tutoriel et rien qu'avec ce bloc tu ne la respecté pas.

My bad, j'avoue que je suis loin d'être expert 🙄

Il y a 1 heure, Einsteinium a dit :

Le deuxième bloc, enfin le 3ième pour toi du coup... renvois tous les sous domaine non existant vers la racine du site pour lequel tu n'as mis qu'un 404... seul le sous domaine mis dans le dernier bloc est existant

Donc si je repars un peu d'un fichier "vierge". On va dire que les 3 premiers blocs sont les blocs minimum à créer, et que le 4ème et les suivants sont pour les sous domaines à rediriger :

1. En premier bloc j'ai la redirection de http vers https

  • listen 80 default_server;
  • ...
  • return 301 https://$host$request_uri;

2. En second j'ai la redirection des noms de domaines non existants vers le domaine principal

  • ...
  • server_name *.DOMAINE.fr;
  • return 301 https://DOMAINE.fr$request_uri;
  • ...

3. En trois, j'ai le serveur par défaut en https

  • listen 443 ssl http2 default_server;
  • ...
  • server_name DOMAINE.fr;
  • ...

4. En quatre et autres, les sous domaines que je veux rediriger vers le NAS, bloc à dupliquer pour chaque sous domaine que je veux créer

  • ...
  • server_name SOUS.DOMAINE.fr;
  • ...

Pour le moment je n'ai fait que des tests avec le seul sous domaine que j'ai créé dans le 4ème bloc du coup. Je me suis dit qu'il vallait mieux que celui-ci fonctionne avant de créer les autres...

Est-ce que j'ai bien compris ?

Je mets en pièce jointe cette nouvelle version (mais qui ne marche toujours pas...🤔)

 

 

default.conf-v2.txt

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,
En poursuivants les essais j'ai regardé un peu le comportement de ma connection VPN et voici le résultat de mes tests :

Lorsque je créé une interface réseau pour ma connection au serveur Openvpn, si je ne coche pas la case "Utiliser la passerelle par défaut sur le serveur distant", la connection openvpn n'a pas de passerelle d'affichée dans l'interface DSM. Si j'ouvre un terminal sur le synology, la commande "route -n" me donne le résultat suivant :

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
IP.SERVEUR.VPS    192.168.2.1     255.255.255.255 UGH   0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Lorsque je tente le ping, du serveur vers le nas, il semble que les pings arrivent car je vois dans l'interface DSM des données reçues, mais aucune envoyée.

Lorsque je tente le ping, du nas vers le serveur, il semble que les pings partent car je vois des données envoyées, mais aucune reçue.

En revanche, si je coche la case, "Utiliser la passerelle par défaut sur le serveur distant"

Je me retrouve avec la table de routage suivante

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 tun0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
IP.SERVEUR.VPS     255.255.255.255 UGH   0      0        0 eth0
IP.SERVEUR.VPS     255.255.255.255 UGH   0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Dans ce cas, le ping du serveur vers le NAS fonctionne, mais pas l'inverse. J'ai essayé de désactiver le firewall du NAS et du serveur VPS, et j'ai le même résultat.

1ère question, si je coche cette fameuse case, j'en déduis que l'ensemble du trafic sortant du nas va passer par le VPN, Est-ce que c'est obligatoire pour que le VPN et le NAS puissent communiquer ?

2ème question, ça ne me semble pas normal de ne pas avoir un ping fonctionnel du nas vers le serveur (avec ou sans firewall) quelle étape aurais-je ratée dans ma configuration ?

Merci pour votre aide.

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 34 minutes, superspiff83 a dit :

1ère question, si je coche cette fameuse case, j'en déduis que l'ensemble du trafic sortant du nas va passer par le VPN, Est-ce que c'est obligatoire pour que le VPN et le NAS puissent communiquer ?

2ème question, ça ne me semble pas normal de ne pas avoir un ping fonctionnel du nas vers le serveur (avec ou sans firewall) quelle étape aurais-je ratée dans ma configuration ?

Merci pour votre aide.

 

Bonjour,

1) Tout dépend de ce que tu veux faire avec ton VPN. Si c'est pour faire communiquer des "équipements connectés "au VPN entre eux, ce n'est pas nécessaire

2 Lorsque du lance un PING tu dois avoir, peu être , une adresse IP source en 192.168.2.0  et ton serveur ne connais pas cette adresse.Il faut que ton serveur connaisse tous les réseaux.

Lien vers le commentaire
Partager sur d’autres sites

@Juan luis,

Merci pour ta réponse.

1) Etant donné qu'il n'y a que le NAS qui est connecté au serveur je dirais bien que ce n'est pas nécessaire, cependant c'est la seule manipulation que j'ai trouvée pour que ça fonctionne.

2) effectivement c'est logique.

a + tard

 

Lien vers le commentaire
Partager sur d’autres sites

Bon, voici un petit état des lieux du topic (je pense que je vais l'indiquer en résolu d'ici peu, je vais refaire quelques tests, mais je crois que je vais m'arrêter sur une config... qui marche 😃.

Je suis reparti un peu de zéro (plusieurs fois) mais ça permet de mieux comprendre 😅.

Etape 1 : installation du VPS : j'ai pris un centos avec OpenVPN en pré-installé, un peu plus facile pour les débutants comme moi

Etape 2 : Configuration d'OpenVPN suivant le tuto d'Einsteinium, j'ai ajouté à plusieurs endroits mon réseau local sur lequel est le NAS (pas sûr que ça soit ça qui fasse que ça marche, mais comme ça marche je le laisse comme ça)

  • VPN Settings --> Routing --> j'ai deux entrées : 10.0.0.0/24 et 192.168.2.0/24
  • Advanced Settings --> Private Routed Subnets (Optional) : j'ai une entrée 192.168.2.0/24
  • User Permissions --> User --> Access Control --> Allow access to these networks : 192.168.2.0/24

Etape 3 : Installation de linuxserver/swag (quelques sueurs/heures 😆). Pour la validation du certificat, j'ai choisi via le DNS et créé une API sur ovh pour le renouvellement du certificat, ce qui m'a valu de mettre swag en v1.14 car la v1.15 a un problème avec l'api OVH pour le moment : https://github.com/linuxserver/docker-swag/issues/121

Etape 4 : configuration des fichiers proxy-confs pour mes sous domaines

  • $upstream_app 10.0.0.XXX <-addresse statique du NAS
  •  proxy_pass $upstream_proto://$upstream_app; <-j'ai supprimé le port car voir étape 5

Etape 5 : Configuration du NAS :

  • Lors de la création de l'interface Openvpn : cocher les deux cases "Utiliser la passerelle par défaut sur le serveur distant" et "Reconnecter quand la connexion VPN est perdue"
  • Dans le portail des applications --> Application --> Modifier --> Activer un domaine personnalisé j'ai renseigné sous-domaine.domaine.fr et coché activer HTTP/2
  • Dans Réseau --> Paramètres DSM --> Domaine --> j'ai coché Activer un domaine personnalisé et indiqué domaine.fr

Le résultat :

si on tape domaine.fr, dans ce cas on tombe sur la page par défaut linuxserver/swag (vu que je n'héberge aucun site je vais laisser comme ça pour le moment)

si on tape sous-domaine.domaine.fr on tombe sur les pages de connexion des applications que j'ai configurées. Dans le cas où un sous domaine non existant est tapé, on a une erreur certificat et si on poursuit quand même on tombe sur la page par défaut linuxserver/swag. Peut être pas très élégant mais pour le moment je laisse comme ça.

Nota : une solution plus rapide comme évoquée dans le tuto d'Einsteinium :

Dans openVPN -> User -> DMZ -> ajouter IP.VPS:tcp/80 IP.VPS:tcp/443, permet de se limiter à l'étape 1, 2 et 5, cependant ça donne quand même accès à la page de connexion de DSM ce qui ne me plait pas vraiment... J'ai essayé de rediriger directement sur les ports spécifiques des applications Synology, mais pour je ne sais quelle raison ça ne marchait pas. Et comme de toute façon, je ne voulais pas que l'interface DSM soit accessible depuis l’extérieur j'ai poursuivi avec swag.

Merci à tous pour votre aide (tutos, conseils, assistance, remarques...)

a +tard

Lien vers le commentaire
Partager sur d’autres sites

@superspiff83 Par sous-domaine non existant tu entends quoi ? pas renseigné par ta zone DNS (mais de souvenir tu avais un enregistrement wildcard (*) dans ta zone DNS) ou pas couvert par ton certificat (si tu fais une validation DNS par OVH alors c'est normalement une certification wildcard que tu obtiens, donc tous les sous-domaines de ton domaine racine sont couverts.

En utilisant les ports personnalisés à la place des domaines personnalisés dans le portail des applications de DSM ça ne fonctionne pas ?

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, .Shad. a dit :

Par sous-domaine non existant tu entends quoi ? pas renseigné par ta zone DNS (mais de souvenir tu avais un enregistrement wildcard (*) dans ta zone DNS) ou pas couvert par ton certificat (si tu fais une validation DNS par OVH alors c'est normalement une certification wildcard que tu obtiens, donc tous les sous-domaines de ton domaine racine sont couverts.

En effet dans ma zone DNS j'ai un enregistrement wildcard, c'est dans le container swag que je n'ai mis que 2 sous domaines (- SUBDOMAINS=sous-domaine1,sous-domaine2), donc mon certificat n'est valable que pour ces 2 sous domaines (et maintenant que j'écris ça je me demande si je ne devrais pas mettre en wildcard aussi cette partie...)

il y a une heure, .Shad. a dit :

En utilisant les ports personnalisés à la place des domaines personnalisés dans le portail des applications de DSM ça ne fonctionne pas ?

de mémoire de test ça ne marche pas dans mon cas, j'avoue que j'ai testé pas mal de configurations donc il est très fort probable que j'ai mal fait quelque chose pour que ça ne marche pas. Je retenterai peut être avec les idées un peu plus claires 😅.

Lien vers le commentaire
Partager sur d’autres sites

  • superspiff83 a modifié le titre en [Résolu] : Configuration VPS / OpenVPN / Nginx pour connection NAS derrière box 4G

Bonsoir à tous,

Quelques petites informations supplémentaires concernant la mise en place de tout ça : tout fonctionne à présent. Je ne pense pas que ce soit l'installation la plus propre du monde mais pour une première installation ce n'est pas si mal.

Quelques notes

- Suite à l'arrêt de maintien de Centos, j'ai basculé mon VPS sur Almalinux. Il y a un script qui marche très bien et je n'ai rien perdu à ma configuration du VPS, ni aux paquets installés.

- J'ai constaté un défaut que je n'arrive pas trop à comprendre ni à corriger mais qui pour l'instant n'est pas du tout critique : Lorsque je modifie mes paramètres sur OpenVPN (ajout d'un utilisateur ou modification de la configuration) je constate que mon container Swag ne fonctionne plus. Si je stoppe le container et que je prune le système pour réinstaller le container (je sais que c'est un peu barbare), là tout re-fonctionne normalement. 

Donc voilà, serveur en place et fonctionnel 🙂

Merci à tous pour votre aide.

A bientôt (je reviendrai certainement pour avoir quelques avis sur un autre sujet)

 

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.