Qnap [RESOLU] Accès à une VM depuis l'extérieur

Gregzyks

Apprenti
28 Février 2017
34
3
8
Bonjour à tous,
je viens d'acquérir un Qnap 453 pro et je me fais un peu les dents sur l'application Virtualization. Ma question paraîtra peut-être bête aux yeux de certains, d'autant plus que je n'ai pas encore les bons mots je pense...

Alors voilà, si j'installe une VM Wordpress par exemple, ou Moodle pour mes élèves, comment puis-je y avoir (ou donner) un accès depuis l'extérieur de la maison ?
En effet, sitôt créé, je peux bosser sur la VM via une adresse : http://192.168....../wordpress... ok, pas de problème mais quelle adresse URL depuis l'extérieur ?
Dois-je utiliser le nom de mon qnap ? Comme quand je veux y accéder depuis l'extérieur ?

Merci d'avance à ceux qui voudront bien m'aider.
 
C'est ton IP publique que tu dois mettre et tu dois configurer ta box pour router vers ton IP locale depuis l'extérieur.
 
Sì tu ne veux pas utiliser ou tu ne connais pas ton IP publique, tu dois configurer un DDNS comme myqnapcloud ou similaire. Après, si tu as un domaine (par exemple gregzyks.fr) tu peux configurer un hôte virtuel sur ton NAS et changer les DNS de ton domaine ainsi de pouvoir accéder à ton wordpress simplement avec blog.gregzyks.fr.

Sent from my A0001 using Tapatalk

 
Merci pour vos explications.

Même après recherche et bidouille, je suis malheureusement toujours bloqué... Je rate certainement quelque chose.

Voilà ce que j'ai fait :
- J'ai configuré ma freebox de façon à ce que l'adresse mac de mon NAS soit toujours liée à l'adresse interne 192.168.0.1
- Je viens d'installer une VM Moodle qui m'annonce que je peux la toucher en 192.168.0.48 ce qui est vrai, je peux administrer mon moodle normalement.

Par contre, quand je mets dans un navigateur mon ip publique, ou bien mon nom de domaine qnapcloud, je tombe sur la page où je peux m'authentifier pour administrer mon serveur Qnap, pas sur l'adresse externe de VM Moodle.

Glopas :
sauf erreur de ma part, utiliser des hotes virtuels implique que j'ai installé mon site en me servant du serveur web du NAS, sans passer par une machine virtuelle. Dans ce cas, effectivement, je peux installer plusieurs sites ayant chacun une adresse de type : nomdemonNAS.myqnapcloud.com/nomdesite1 ...
 
tu dois mettre le server web en 80/443 et l'admin du nas sur un autre port, genre 8080 ;)
 
Ce paramétrage est déjà en place par défaut et je ne l'ai pas changé.

Je ne pense donc pas que le problème vienne de là.
J'ai joué toutes l'après midi avec les switchs virtuels, et les cartes réseaux mais sans succès. J'ai généré plusieurs boucles qui ont littéralement plantées mon réseaux et toujours rien...

Je ne comprends toujours pas...
 
tu dois surtout forwarder le port du serveur web depuis la freebox vers le nas, c'est dans l'option avancée "port"
 
Bon j'ai avancé cette nuit!
J'ai placé l'ip locale de mon serveur en DMZ au lieu de rediriger seulement les ports dont j'avais besoin dessus. Du coup, j'ai pu rediriger le 80 sur l'ip locale de ma VM et le nom de domaine paramétré dans ma freebox pointe vers la VM ! Ça marche!

Je comprends donc que chaque VM devra avoir son propre nom de domaine et c'est là que cela se complique car si je souhaite en installer d'autres (WordPress par exemple) je ne sais pas comment assigner cette nouvelle ip locale à cet autre nom de domaine (externalisé cette fois car comme vous le savez peut-être, Free n'offre généreusement qu'un seul nom de domaine...)
J'espère être clair...

En tout cas, je vous remercie déjà pour votre aide! Cela m'a pris du temps pour comprendre déjà ce premier soucis!
N'hésitez pas à intervenir si vous avez des solutions pour mon second...?
 
mettre tout son nas dans le DMZ c'est pas conseillé du tout ça !
alors oui c'est facile mais il est aussi bien plus vulnérabbe !
 
C'est le seul moyen que j'ai trouvé pour l'instant pour obtenir une redirection d'un port sur deux IP locales différentes...

Bon après sur le serveur même, j'ai configuré la sécurité de façon à ce qu'un IP qui fait 5 requêtes infructueuses sur les ports soit définitivement bloquée.

Mais je ne vois pas comment faire pointer des noms de domaines sur des ip locales différentes.
 

Pièces jointes

  • Capture d’écran 2017-04-18 à 00.14.16.png
    Capture d’écran 2017-04-18 à 00.14.16.png
    177.4 KB · Affichages: 2 255
Attention avec la DMZ tu va va être saturé d'erreurs de login .
A tu essayé avec un VPN : tu a accès au IP de ton réseau interne.

JC CHAP
 
Salut Gregzyks

Attention à la DMZ ... ce n'est pas conseillé du tout ! ton IP public pointe directement sur ton NAS /!\ Gare aux attaques !!!

Le mieux est de faire, depuis ta box, une redirection de port vers les adresses de tes VM. Afin de pouvoir t'aider au mieux il me faut savoir ce que tu as fait et ce que tu veux faire ...

Est-ce que tu as créé des VM avec Virtualization Station et installé des OS pour faire des serveurs Web ?
Est-ce que tu as déployé des applis à l'aide de Containers Station ?
Est-ce que tu as déployé un application depuis l'App Center (blog, cms, ...) ?
Quel box as tu ?

Pour faire une redirection de port, il te faut connaitre le port et le protocole (UDP et/ou TCP) utilisé par l'application ou le service que tu souhaites rendre accessible depuis l'extérieur.
Sur l'interface de gestion de ta box tu vas définir qu'un port vu de l'extérieur va atteindre l'@IP et le port vu de l'intérieur.
L'idée est de faire en sorte que quand tu tapes depuis l'extérieur l'adresse 70.71.72.73:1234 ta box fasse automatiquement la redirection en interne vers 192.168.0.100:8182 (par exemple). 70.71.72.73 est l'@IP public de ta box et 1234 est un port que tu donnes arbitrairement devant être disponible et dans un fourchette se situant quelque part entre 0 et 65535 ... évite les ports listés ici

Tes réponses et précisions nous aiderons à orienter notre aide afin de t'apporter une solution la plus adaptée possible.
 
Bonjour Orducom1,
merci pour tes explications (très claires), et d'ailleurs mes démarches en cours s'orientent vers ce genre d'idée.

Attention à la DMZ ... ce n'est pas conseillé du tout ! ton IP public pointe directement sur ton NAS /!\ Gare aux attaques !!!

J'ai changé mon fusil d'épaule depuis, sur les conseils précédents. Mon serveur Nas est en 192.168.0.1 et les ports courants redirigés sur lui. Tous cela fonctionne normalement.

Le mieux est de faire, depuis ta box, une redirection de port vers les adresses de tes VM. Afin de pouvoir t'aider au mieux il me faut savoir ce que tu as fait et ce que tu veux faire ...

Alors voilà mes démarches et objectifs :
- Je souhaite installer plusieurs VM dans la station Virtualization : au moins une Moodle et une Wordpress, pour mes élèves, soit entre 300 et 400 personnes qui se connectent régulièrement. Ce ne sont pas des sites d'intérêt public.
- J'ai commencé par installer des VM de chez Bitnami (valorisées par Qnap) mais vu le manque de flexibilité par la suite sur les redirections de ports, je me suis plutôt rabattu sur l'idée de construire ma VM de A à Z en partant d'une VM Ubuntu (classique).
- J'ai donc à présent une VM ubuntu (dont je vais faire un export pour me la garder comme modèle) transformée en serveur web grâce à la suite apache...

Si je suis ta pensée, et celle d'autres forumers, je vais essayer de rediriger les ports d'écoute d'apache (80 par défaut) vers le port 2000 par exemple. Puis depuis la freebox, je vais tâcher de :
- mettre en ip statique la machine sur 192.168.0.26 (port actuel)
- rediriger le port 2000 de la freebox sur l'ip interne 192.168.0.26

Il me reste à voir les ports et protocoles des applications moodle et wordpress, ça... je l'ignorais ! Je vais le faire rapidement.

Pour l'instant, je n'ai pas déployé d'applications de type LMS/CMS depuis l'app Center Qnap. Je savais que cela allait géner mes démarches. Et l'intérêt des VM est de programmer de tâches de sauvegarde par la suite, très simplement.

Vu les difficultés que je rencontrais, j'ai également posé une question sur un forum Freebox, et un participant m'a même parlé de proxy-reverse... Cela a l'air très pertinent dans cette situation, mais compliqué à mettre en oeuvre je trouve...
J'espère ne pas enfreindre de règle du forum en donnant le lien : http://forum.universfreebox.com/viewtopic.php?p=554487#554487

J'espère que ce complément d'information sera suffisant.
 
Alors, moi, je m'orienterai plutôt vers des containers Docker plutôt que des VM... c'est exactement ce pourquoi c'est fait et ça consomme vachement moins de ressource qu'une VM.

Apres, la mécanique de redirection de port est la même que pour une VM ... c'est bien le port 2000 de l'extérieur que tu rediriges vers le port 80 de la machine 192.168.0.26 à l'intérieur.

Tu as une Freebox, parfait ... je pourrais t'aider plus facilement si besoin :)

Pour les backup, c'est pareil ... une tâche pour sauvegarder les bases de données (c'est plus important) et hop tu es à l'abri

Attention au nombre de personne ... 400 c'est beaucoup ... j'espère que tu as très bon débit ADSL... voir la fibre, sinon l'expérience utilisateur risque d'être très moyenne :(

À ta dispo pour la suite :p


Envoyé de mon iPad en utilisant Tapatalk
 
Alors, moi, je m'orienterai plutôt vers des containers Docker plutôt que des VM... c'est exactement ce pourquoi c'est fait et ça consomme vachement moins de ressource qu'une VM.

J'ai en effet hésité un moment, mais comme je n'arrivais pas du tout à toucher le container d'un ip externe, vu le peu de paramétrage que me proposait l'outil, j'ai basculé vers la VM (à tort peut-être, mais tout ce que j'apprends en ce moment ne peut que me servir ! ).
si j'arrive à mes fins, il n'est pas impossible que je revienne à cette idée.
Apres, la mécanique de redirection de port est la même que pour une VM ... c'est bien le port 2000 de l'extérieur que tu rediriges vers le port 80 de la machine 192.168.0.26 à l'intérieur.

C'est bien là que je bloque car si j'arrive sans problème à rediriger un port vers une ip interne, la 192.168.0.26 dans notre exemple, je ne vois pas en revanche comment le faire sur le "port 80 de la VM" (ou container demain, qui sait ??).
S'il est possible de rediriger un port vers le port 80 d'une VM, cela signifie que je n'ai pas à changer le port d'écoute php de cette dernière ?
Cela va à l'encontre de mes projets, mais m'allège le travail.

Si, comme je le pense, on ne peut rediriger un port que vers une IP interne, là, je ne pourrai pas y échapper bien sûr..

Attention au nombre de personne ... 400 c'est beaucoup ... j'espère que tu as très bon débit ADSL... voir la fibre, sinon l'expérience utilisateur risque d'être très moyenne :(

Je suis d'accord avec toi, mais c'est sans compter sur la nature même de "l'élève"... Malheureusement, d'après les statistiques de connexions sur mon moodle actuel (hébergé chez site5), le maximum de connexions simultanées est de 15-20 utilisateurs pour l'instant (et encore, j'en suis responsable quand je donne une formation à mes collègues).
Il est vrai que durant les dernières heures d'un travail à faire, j'observe un petit pic... :) sacrés élèves ! Toujours tout au dernier moment ! C'est pourquoi je veille à donner des travaux de façon décalée selon les niveaux.

Pour rebondir sur ton idée de container, sauf erreur de ma part, je ne peux installer qu'un container du même type ?
 
Tu ne touches pas au port interne de ta machine et donc de PHP ou Apache.
Le concept est de dire que comme tu n'as qu'une IP public et potentiellement plusieurs service dans ton réseau interne (chez toi) il faut ruser.
On utilise un indicateur, on affecte un numéro à l'un des services (un serveur web par ex) et on dit que ce numéro (dans notre exemple : 2000) correspond au serveur et au port cible.
Dans notre cas, l'adresse 70.71.72.73:2000 qu'utiliseront tes élèves sera redirigée par ta freebox (et la c'est elle qui fait tout le boulot) vers le serveur 192.168.0.26:80.
Tu n'as rien d'autre à faire que de paramétrer ta freebox dans la section "Gestion des ports" --> ajouter une redirection :
IP de destination : 192.168.0.26
Redirection active : coché
IP source : Toutes
Protocole : TCP
Port de début : 2000
Port de fin : 2000
Port de destination : 80
Commentaire : atagiz
Et tu cliques sur "sauvegarder"

Tu nous tiens au courant ?
Bonne nuit :)



Envoyé de mon iPad en utilisant Tapatalk
 
Concernant les containers, tu peux installer plusieurs containers du même type ... il faudra que tu te renseignes un peu sur la façon de faire... y'a un peu d'effort mais tu y gagneras en perf'


Envoyé de mon iPad en utilisant Tapatalk
 
C'est très clair encore une fois et j'ai suivi ton paramétrage à la lettre.

Malheureusement, cela n'a rien changé... En faisant mon http://monip:2000 je tombe sur la page par défaut d'apache.

J'ai fait également d'autres tentatives :
- monip/moodle:2000
- monnomdedomainefreebox:2000
- 192.168.0.26/moodle seule adresse qui fonctionne.

Je ne comprends pas car ton paramétrage est des plus logiques !
 

Pièces jointes

  • Capture d’écran 2017-04-21 à 01.22.16.png
    Capture d’écran 2017-04-21 à 01.22.16.png
    100.2 KB · Affichages: 1 587
Ah oui ... grand classique :)
C'est dans ton fichier de configuration Apache qu'il faut intervenir.
Par défaut il pointe sur le répertoire /var/www
Le contenu de ton répertoire "moodle" doit, soit se trouver dedans, soit être référencé dans le fichier Apache. Le plus simple étant de copier le contenu de moodle dans /var/www

Ta conf freebox est nickel ... pour preuve tu affiches la page de bienvenue ;)


Envoyé de mon iPhone en utilisant Tapatalk
 
idem...

pour les adresses :
- monip:2000
- monnomdedomainefreeboxos:2000

Je tombe systématiquement sur la php accueil php.
J'ai même essayé de virer le fichier index.html du dossier /var/www/html car j'ai bien vérifié, php pointe bien sur ce dossier. J'ai également testé les adresses suivantes ;
- monip/index.php:2000
- monnomdedomainefreeboxos/index.php:2000
mais dans ces deux cas, la page ne mène à rien.

Seule l'adresse : 192.168.0.26/index.php mène à la plateforme.

Concernant les containers, tu avais raison, on peu en installer plusieurs du même type (en tout cas, cela marche très bien avec Wordpress) par contre, moodle est une vraie galère, je n'ai jamais réussi à le faire démarrer. Je pense qu'il faut le lier à d'autres containers, mais je n'ai pas encore tout compris.

En bref, pour l'instant, c'est encore un pas en avant et deux pas en arrière...