Aller au contenu

Filament ABS

iPeP

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

Recommended Posts

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 

 

 

  • J'aime 5

Partager ce message


Lien à poster
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 1

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Sauf erreur de ma part ce tuto ne s'applique pas uniquement à Dagoma, je déplace donc dans la nouvelle section créée à cet effet ;)

Partager ce message


Lien à poster
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 ! :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@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.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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


×