Accéder à Gladys à distance via un VPN (sans Gladys Plus 🙁)

Bonjour,

Pour commencer, n’oubliez pas qu’il est vraiment très important de supporter [financièrement / en temps] les projets open-source que vous utilisez. C’est comme ça que des alternatives libres et respectueuses de notre vie privée pourront se démocratiser et remplacer les produits des fameux GAFAM (Google, Apple, Facebook, Amazon, Microsoft).

Donc je vous rappelle que le plus simple et le plus sécurisé pour accéder à Gladys depuis n’importe où dans le monde est de passer par Gladys Plus : Gladys Plus | Gladys Assistant.
Et cerise sur le gâteau : ça permet de supporter ce super projet et de pousser @pierre-gilles à passer toujours plus de temps dessus ! :slight_smile:

Si pour n’importe quelle raison vous ne souhaitez pas (encore) supporter le projet via Gladys Plus, il existe des solutions pour accéder à votre instance en toute sécurité.

Niveau de connaissance « informatique » requis : moyen.

Prérequis

Méthode

En résumé :

  1. Installer un serveur VPN Wireguard sur votre Raspberry Pi grâce au projet PiVPN*
  2. Donner une IP statique à la Raspberry Pi (et Gladys donc)
  3. Ouvrir certains ports dans sa box internet (un accès direct au VPN sur le Raspberry Pi en quelque sorte) pour se connecter puis n’importe dans le monde.
  4. Installer une application sur votre téléphone ou ordi pour se connecter en VPN
  5. Vous pourrez désormais accéder à Gladys comme si vous étiez chez vous. Rien ne sors sur internet et vous restez en toute sécurité.

Un VPN ?
En vulgarisant : c’est une solution logicielle qui permet de faire comme si vous étiez sur votre réseau local à la maison, mais depuis n’importe où dans le monde via internet.

Exemple :
Vous êtes sorti de la maison. En connectant votre téléphone au VPN qui est chez vous, toutes vos données vont d’abord passer par votre box avant d’aller sur internet. Vous pourrez alors accéder à Gladys via son nom gladys.local ou son adresse IP privée (192.168.1.53 par exemple).
Pour la navigation internet, Il y a plus de chemin à parcourir avec le VPN, donc c’est un peu plus lent.

Ce qu’il faut retenir :

  1. Seul le VPN est exposé à internet
  2. Gladys n’est pas exposée sur internet
  3. Une fois en VPN, personne ne peux intercepter vos flux vers internet ou Gladys (pratique pour les wifi public)

Tuto pour donner une IP statique à votre Raspberry Pi

Pour commencer, par défaut chaque équipement à la maison connecté au Wifi ou en cable dispose d’une adresse IP. Celle-ci peut varier de temps en temps et cela pose problème lorsqu’on veut exposer un serveur sur internet.

Dans notre cas, on veut exposer seulement un serveur VPN Wireguard sur internet (et pas Gladys directement). Il faut donc configurer la box opérateur pour que le Raspberry Pi ai toujours la même adresse IP.

Voici une liste des tuto que j’ai trouvé pour chaque box opérateur. Pour commencer, pour trouver l’interface d’administration de sa box : Savoir gérer sa Box – info.rueducoq.fr

Tuto pour installer PiVPN

Vous pouvez suivre les instructions ici : Comment installer le VPN Wireguard facilement ? – Korben

Sinon voici les extraits important.

  • Connectez-vous au RaspberryPi en SSH

  • Installer git en tapant :
    sudo apt-get install git -y

  • Lancer le script d’installation de PiVPN :
    git clone https://github.com/pivpn/pivpn.git sudo bash pivpn/auto_install/install.sh

  • Suivez ensuite le déroulé de l’installation


    Choisissez ensuite « Wireguard ».


    Le script va alors installer toutes les dépendances nécessaires à Wireguard. Puis il vous demandera un port. Laissez par défaut.


    Choisissez ensuite le fournisseur de DNS de votre choix (Quad9 et OpenDNS sont bien réputés pour la vie privée).


    Ensuite, laissez le choix par défaut pour la connexion à l’IP du serveur par le client :


    Des clés vont alors être générées, permettant de se connecter au VPN depuis un ordi ou un téléphone.


    L’installeur recommande ensuite d’activer les mises à jour « unattended » pour plus de sécurité et indique aussi que vous allez devoir redémarrer.



  • Redémarrer pour appliquer les modifications.

  • Pour créer un utilisateur autorisé à se connecter au VPN (utilisateur « iMac » dans l’exemple) : pivpn -a

  • Télécharger l’application Wireguard pour Android ou iOS.

  • Générer un QRcode pour le « flasher » avec l’application mobile Wireguard pour l’utilisateur créé précédemment (exemple dans l’image « PiMyLifeUp » : pivpn -qr piMyLifeUp

Créer un NAT

Il faut configurer la box opérateur pour ouvrir le port du Wireguard sur internet (qui sera redirigé vers Wireguard sur le Raspberry Pi) et permettre de se connecter depuis n’importe où dans le monde. C’est ce qu’on appel du NAT !

J’ai essayé de vous trouver des guides pour chaque opérateur (liste non exhaustive :neutral_face:)

Explications générales : La redirection de port, c'est quoi et à quoi ça sert ?


Conclusion

J’espère que le tuto est assez clair, sinon n’hésitez pas à poser vos questions et je compléterais ce tuto.

2 Likes

Sympa le tuto :+1:, ayant des connaissances la dedans, je préfère tout de même offrir (payer) 10 balles par mois et être tranquille avec la gateway que fourni @pierre-gilles , ne pas voir à update, modifier où me casser la tête avec de multiples installations qui au bout d’un moment fera larguer le pi… Après ce n’est que ma façon de voir la chose :grin:

1 Like

Merci pour ce tutoriel, très complet :slight_smile:

Effectivement, pour les bidouilleurs ça peut une bonne alternative, plus sécurisée que de juste ouvrir un port.

100% ! :slight_smile: Je passe beaucoup de temps sur le gateway pour assurer une continuité/stabilité du service, c’est aussi ça la promesse du gateway.

Mais je peux comprendre que certains aiment bidouiller de leur côté, c’est cool qu’il y ait plusieurs choix :+1:

2 Likes

Le Gladys Gateway n’est finalement pas auto-hébergeable pour le moment ?

Si, il l’a toujours été, mais ça n’a pas d’intérêt. La partie serveur du gateway est conçu pour être une plateforme « commerciale » qui gère plein de comptes différents, la partie paiement, etc…

Si tu veux juste accéder à ton Gladys perso, ça n’a pas de sens d’héberger le gateway, autant juste accéder à ton instance en direct via un VPN comme tu l’as décris ici.

Le gateway est open-source pour deux raisons:

  • Que le code soit public, auditable et lisible par tous.
  • Que si jamais j’arrête le projet ou que je disparaisse pour n’importe quelle raison (les accidents de la vie, ça arrive) les utilisateurs Gladys ne soient pas laissés au dépourvu comme quand une plateforme cloud ferme ses portes.

Mais à mon sens, je n’ai jamais mis le gateway en open-source pour que des gens essaient de le lancer chez eux, ça n’a pas vraiment de sens :slight_smile:

Merci pour les explications, c’est bien plus clair :slightly_smiling_face:

J’avais essayé de créer mon instance basé sur le repo, mais j’ai vite vu qu’il fallait des dépendances sur S3 (Vultr je crois), un système de paiement, etc.

1 Like