Aller au contenu

GO Print

[TUTO] Accéder à Octoprint depuis l'extérieur


iPeP

Messages recommandés

Bonjour à tous,

Voici quelques informations pour ceux qui seraient tentés de vouloir accéder à Octoprint et surveiller une impression en cours depuis n'importe où !

Ce tuto est destiné aux clients de chez Orange, mais de nombreux fournisseurs proposent la même chose sur leurs box.

Le problèmes :

  • octoprint travail en local
  • une grande partie d'entre nous n'ont pas d'adresse IP fixe et celle-ci change de façon régulière (tous les 24 ou 48h)

Pour contourner ces problème et accéder à Octoprint depuis n'importe quel accès internet, nous allons utiliser un service de DNS dynamique gratuit. DynDNS étant passé payant depuis quelques temps, je vous conseil d'utiliser No-IP qui est devenu la nouvelle référence en service gratuit. Il existe d'autres service, vous en trouverez une liste chez Korben.

Etape 1 : inscription chez No-IP

Je ne vais pas réinventer l'eau chaude, ils ont une excellente vidéo et une page très bien détaillée sur le sujet : http://www.noip.com/support/knowledgebase/getting-started-with-no-ip-com/

Créez votre compte et votre nom de domaine .

Etape 2 : configuration de la Livebox

Si votre livebox est un peu ancienne, il est temps d'appeler leur service client en prétextant que vous perdez la connexion ou qu'elle redémarre tout le temps... bref d'obtenir une livebox de dernière génération. Vous payez tous les mois pour cette box, c'est votre droit !

Une fois dans l'interface de configuration de la livebox, passez en mode avancé (liste déroulante en haut à droite), puis allez dans le menu "Ma configuration Wifi et Livebox" / "DynDNS"

dyndns.png.a37b13c6c6828aad150b59a21d1dc

Sélectionnez le service par lequel vous passez, saisissez les informations de connexion et validez.

Ne vous inquiétez pas si l'association est en erreur, il faut que le service se synchronise. Ça ne prends que quelques minutes.

Par sécurité, je vous conseil d'attribuer une adresse IP fixe à votre Octoprint. pour cela, un passage dans DHCP et DNS s'impose.

IPfixe.png.1ee42491a8befce09a454c7642576

Si vous n'avez rien changé et que votre octoprint est en marche et connecté au réseau, vous retrouverez son nom dans la liste de vos équipements. Copiez son adresse MAC, elle est obligatoire. Il vous reste donc à le retrouver dans la liste ci dessus, lui affecter l'adresse IP de votre choix et coller l'adresse MAC. Que ce soit en Wifi ou par cable, votre octoprint aura toujours la même adresse.

Dernière étape : on redirige tout ce qui rentre vers octoprint.

Pour cela, il faut créer une règle dans NAT - PAT

NatPAT.png.b82faaa511764aa69d3e7c0391df2

Le schéma est assez explicite pour se passer de commentaires ...

La règle la plus simple est de renvoyer tout ce qui rentre sur le port 80 vers le port 80 de votre octoprint. Par défaut, tout le reste sera bloqué de façon systématique (ça limite les attaques) et ce qui passe ne sera renvoyé que sur octoprint, sans autres possibilités !

Et voilà, c'est terminé !

Pour tester, n'essayez pas depuis votre ordinateur, vous auriez un message d'erreur car vous allez boucler ! Passez par votre téléphone ou votre tablette  mais surtout sans le wifi ! Utilisez le réseau 3 ou 4G. Si vous souhaitez y accéder en interne, il faut utiliser l'adresse IP ou le octopi.local 

 

 

Modifié (le) par Yo'
Ajout d'un préfixe
  • J'aime 6
Lien vers le commentaire
Partager sur d’autres sites

Excellent Tuto et très bonne initiative. juste un détail que je me permet d'évoquer. Je n'utiliserais pas le port externe 80 ,mais plutôt un truc comme le 10080 par exemple ou 12345 juste histoire d'être un peu plus discret.

Pour reprendre tes termes:

Il y a 2 heures, iPeP a dit :

La règle la plus simple est de renvoyer tout ce qui rentre sur le port 10080 vers le port 80 de votre octoprint. Par défaut, tout le reste sera bloqué de façon systématique (ça limite les attaques) et ce qui passe ne sera renvoyé que sur octoprint, sans autres possibilités !

Pour y accéder depuis l’extérieur:

http://Nom_choisi_chez_no-ip:10080

Modifié (le) par spore
  • J'aime 2
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, spore a dit :

Excellent Tuto et très bonne initiative. juste un détail que je me permet d'évoquer. Je n'utiliserais pas le port externe 80 ,mais plutôt un truc comme le 10080 par exemple ou 12345 juste histoire d'être un peu plus discret.

Pour reprendre tes termes:

Pour y accéder depuis l’extérieur:

http://Nom_choisi_chez_no-ip:10080

Tu n'es pas plus discret en changeant le port, un coup de nmap est c'est réglé ...

Par contre si tu veux décrire les changements de ports il est bon d'expliquer ce que sont les ports, les attributions par défauts etc.

 

@iPeP, bon tuto dans l'ensemble, par contre, rajoutes que c'est pour orange, ton tuto est trop large pour être appliqué à tous les fai ou à toutes les boxs.

Tu as oublié un gros conseil, si le serveur est accessible depuis le net, il faut faire faire les maj pour la sécurité.

 

ps : sinon pour ne pas se prendre la tête avec les dns, un petit script qui vérifie ton ip publique (au passage il faudrait expliquer l'ip publique, sinon tu vas avoir des messages après ton demandant pourquoi 192.168.1.12 ne marche pas depuis le travail ;-) ) et qui t'envoie un mail si elle à changé.

 

 

edit : il est bon de rappeler aussi qu'il en faut jamais laisser une imprimante 3D sans que personne ne puisse intervenir dessus en quelques secondes.

Modifié (le) par gisclace
Lien vers le commentaire
Partager sur d’autres sites

Certes mais tout le monde n'utilise pas nmap et si on cherche un serveur web derrière une ip, on regarde avant tout le 80. Mais tu as raison ce n'est pas une protection efficace. Après, tu peux aussi mettre en place une solution de port knocking mais là on s'éloigne, je voudrais pas pourrir le post.

Je te rejoins sur ton edit: il est impératif de configurer Octoprint avec un user/mdp avec ce type de config.

Et sinon, le VPN perso c'est sympa aussi.

Lien vers le commentaire
Partager sur d’autres sites

C'est juste pour que les gens qui ne savent pas vraiment ce qu'ils font en suivant ce genre de tuto sachent que non avec cette méthode la c'est pas plus sécurisé ;-)

 

(ce tuto  donne quand même une recette à des gens pour laisser une webcam accessible h24 chez eux sans avoir besoin d'un mdp donc bon)

 

hs : De toutes façons avant que ton ip (ou que ton serveur) soit scanné.... perso je n'ai que mes serveur ayant un (ou des) nom de domaine qui se font régulièrement scanner, ceux sur ip sont beaucoup plus épargnés.

Lien vers le commentaire
Partager sur d’autres sites

@gisclace, @spore

Merci pour vos retours.

Je ne vois malheureusement pas de fonction "Edit" pour reprendre et compléter ce petit tuto.

Concernant le fait que ce soit prioritairement destiné aux abonnés Orange, c'est spécifié dès la seconde ligne.

Effectivement, j'aurais dû préciser qu'avant toutes choses il faut :

Concernant le choix du port 80, c'est effectivement le plus simple mais aussi le plus facilement attaqué. Par contre, il m'est déjà arrivé, en fonction des lieux où je me trouvais, de ne pas pouvoir en utiliser un autre en raisons de restrictions. La redirection vers le raspberry limite sérieusement les risques, surtout si vous le coupez quand vous n'imprimez pas. Dans ce cas, la redirection tombe dans le vide et retourne simplement une erreur.

Lien vers le commentaire
Partager sur d’autres sites

Hello,

Merci pour ce tutoriel, malheureusement je ne peux pas l'appliquer dans mon cas :(

Je suis dans l'attente d'une Raspberry. C'est ma toute première.
Je ne sais pas trop ce à quoi j'aurai accès une fois OctoPi installé dessus.

J'aimerai savoir s'il est possible de faire en quelque sorte l'inverse.
Je dispose d'un serveur dédié, et j'aurai aimé qu'à l'allumage la Pi crée un "pont" avec celui-ci.

Ainsi plutôt d'appeler l'IP de chez moi (ce que je ne peux pas mettre en place), ce serait c'est la PI qui reste en connexion avec le serveur.
Il faudrait qu'elle se reconnecte en cas de coupure réseau (ip de la box qui change assez régulièrement...).
De cette façon il faudrait appeler l'IP du serveur (+ port défini) pour tomber sur la Raspberry de la maison.

Pensez-vous que ce soit réalisable ?
Si oui, des liens / pistes / conseils que je pourrai suivre ?

Merci d'avance ! :)

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

@zazeur, quand tu dis un serveur dédié, c'est un serveur avec une IP fixe, un serveur web???

Le problème dans ton montage, c'est que ce serveur devrait agir comme un simple routeur et ne faire que le transfert. On rentre dans un cas de figure très complexe...

Le montage proposé avec NO-IP permet de résoudre exactement le cas de figure de la coupure réseau. Maintenant, rien ne t'empêche d'avoir et ton serveur et ton PI. Les deux ayant des adresse IP différentes, tu peux jouer sur les ports pour te connecter à l'un ou à l'autre. Le plus simple serait de laisser le port 80 (standard classique) pour ton serveur et de dédier le 8080 (ou autre port HTTP)  au PI.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 months later...
  • 4 weeks later...

Tiens, petite question à l'attention de ceux accédant à leur OctoPi depuis dehors et qui disposent d'une Pi Cam : auriez-vous constaté un gros lag sur l'affichage de l'image capturée par la Pi Cam ? Le système lui-même est très réactif : si je lance une impression, si je déplace un chariot, si j'allume ou éteins la lampe de mon caisson, c'est instantané. Mais depuis l'extérieur, la caméra va mettre une plombe à afficher l'image. Un peu comme si j'étais à une frame par minute. :D Si je suis en local, par contre, l'image est fluide et instantanée. Ma solution temporaire est d'afficher la page en local depuis une machine à laquelle j'accède de dehors via TeamViewer, mais si je pouvais simplifier tout ça... :P

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Salut,

 

Je déterre car j'ai le même soucis de latence de l'image, depuis l'extérieur, que Chris V.

Des socles ont elles été trouvées ?

 

cdlt

Lien vers le commentaire
Partager sur d’autres sites

Pour la latence ça doit plutôt venir de la connexion internet qui a un débit montant trop faible pour afficher correctement l'image. Chez moi de l'extérieur tout fonctionne correctement. Il faudrait voir à réduire la qualité d'affichage du stream pour réduire ce problème ou voir du côté de la connexion internet [emoji3]

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bon, je tente l'accès à mon OctoPi depuis l'extérieur.

J'ai donc une Freebox et j'ai redirigé le port 8086de ma Freebox sur le port 80 de l'@IP 192.168.0.xxx de mon rapsberry.

Quand j'accède à la page Web d'OctoPrint via @IPFreebox:8086, j'ai bien la page qui se charge mais ensuite j'ai ce message :

image.png.503169e6a9c324878ba70f999fcfa9dc.png

Y a des trucs à faire en plus du côté de la configuration d'OctoPi  ? J'ai un peu regardé sur le web, et je trouve des trucs avec haproxy.

Vous, ça a marché "out of the box" ?

 

Edit : bon, en fait, c'est surement le proxy au boulot qui met son grain de sel car ça marche très bien depuis mon smartphone ;) 

Modifié (le) par mikebzh44
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Etant admin réseau, je me suis dit que j'allais faire un petit tour sur le sujet pour voir un peu ce qu'il se disait, et j'ai remarqué un truc c'est que dans le tuto, l'auteur parle de No-Ip. En 2016, le service était très bien sauf que depuis peu, ils ont décidé que les domaines gratuits nécessitaient une validation tous les 30 jours. Je vous avertis donc sur le fait que vous devrez valider votre domaine tous les mois sur le site de no-ip si vous choisissez d'utiliser ce service.

Si vous souhaitez plus de flexibilité, je me permets de vous rediriger vers https://www.dnsdynamic.org/

Le service fourni est identique, vous n'avez pas de validation mensuelle et cela fonctionne très bien. Je l'utilise à la maison, j'ai Octopi et d'autres serveurs qui tournent tous très bien même en accès WAN.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

Bonjour. J'ai suivi votre tutoriel mais rien à faire, je n'arrive pas à me connecter à distance à mon Raspberry PI. Je sais que l'erreur vient de moi, mais je suis perdu. Je pense que ça coince au niveau de No-Ip, car je comprends pas du tout comment configurer le hostname sur ce site. J'ai aussi une freebox et je suis sûr que j'ai foiré quelque chose à un moment donné. J'ai relu plusieurs fois ce tutoriel, j'en ai trouvé d'autres, je les ai essayé, j'ai dû y passer plus de dix heures en tout, mais là je sèche totalement. Je suis pas un expert en réseau et j'avoue être totalement largué. Si quelqu'un qui passait par là pourrait m'aider à refaire toutes les étapes de ce tutoriel, je serai pas contre. J'ai besoin d'aide s'il vous plait ^^"

Lien vers le commentaire
Partager sur d’autres sites

@Lulgius

bonjour,

Tu pourrais utiliser un plugin à ajouter à Octoprint qui éventuellement te faciliterait la vie : https://plugins.octoprint.org/plugins/anywhere/

Lien vers le commentaire
Partager sur d’autres sites

bonjour 

j ai une petite question j ai une instance de octopi accessible a l exterieur en suivant le tuto ci-dessus sa marche nickel

par contre j ai une 2 eme instance de octopi qui utilise la meme ip mais pas le meme port que je n arrive a connecté vous avez une idée

je voudrai en metre une 3 eme apres si la deuxieme marche

octopi principal 

Lien vers le commentaire
Partager sur d’autres sites

je me suis repondu tous seul 

apres relecture il suffit de faire une regle nat/pat avec le port du 2 eme donc 5001 pour moi et de metre comme port externe 10081 et hop sa marche

Lien vers le commentaire
Partager sur d’autres sites

Salut @Lulgius,

 

Si tu as une freebox, tu dois avoir une IP statique, qui ne change pas, et de ce fait tu n'as pas besoin de NO-IP.

 

🙂

Lien vers le commentaire
Partager sur d’autres sites

Il y a 23 heures, Yo' a dit :

Si tu as une freebox, tu dois avoir une IP statique, qui ne change pas, et de ce fait tu n'as pas besoin de NO-IP.

Pas faux 😉 mais peut toutefois être pratique s'il veut utiliser un nom au lieu de l'adresse IP.

S'il est en zone dense et suivant qu'il est en ADSL ou fibre, il peut aussi se trouver dans le cas où son adresse IP est partagée avec trois autres utilisateurs et dans ce cas la plage des ports utilisables ne va pas de 0+65535 mais n'utilise qu'un quart de cette plage 😞 (valable uniquement évidemment qu'en IPv4).

Le transfert de port (PAT) me sert dans mon réseau pour atteindre différentes machines du LAN à partir de l'extérieur (réglé sur la passerelle / pare-feu d'entrée 😄 ). Ma freebox est en mode bridge vers mon routeur principal.

  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...