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 !
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
- Avoir une instance Gladys
- Savoir comment se connecter en SSH sur son Raspberry Pi (partie " Se connecter à votre Raspberry Pi")
- Avoir les identifiants de sa box internet pour créer “un NAT” (les liens sont plus bas)
Méthode
En résumé :
- Installer un serveur VPN Wireguard sur votre Raspberry Pi grâce au projet PiVPN*
- Donner une IP statique à la Raspberry Pi (et Gladys donc)
- 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.
- Installer une application sur votre téléphone ou ordi pour se connecter en VPN
- 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 :
- Seul le VPN est exposé à internet
- Gladys n’est pas exposée sur internet
- 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
- Freebox Revolution (Freebox OS) : Freebox Revolution DHCP assigner une ip fixe - Astuces Pratiques.
- Vieille Box Bougues : Configurez correctement votre Bbox ou procédure générale : Configuration Baux DHCP permanents? - Avec Réponse(s)
- Livebox : Livebox 4 : attribuer une IP fixe à un équipement - Assistance Orange
- Vieille SFR box : Définir une IP statique pour le Raspberry Pi chez SFR
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
-
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 )
Explications générales : La redirection de port, c'est quoi et à quoi ça sert ?
- Freebox Revolution : Ouvrir un port sur la Freebox Revolution – Cartelectronic le Blog
Si vous avez une erreur comme quoi le port choisi est en dehors des limites, il faut cocher une option “IP Full Stack” sur son compte free abonnée : Freebox : l'option "vraie IP fixe" en ZMD est disponible. - Livebox : Livebox 4 : configurer pour utiliser un jeu ou une application serveur - Assistance Orange
- Bouygues : Comment ouvrir des ports depuis la nouvelle interface bbox ? - Résolue
- SFR : https://service.somfy.com/downloads/fr_v4/paramtrage_sfr-neufbox_nb6_.pdf
Conclusion
J’espère que le tuto est assez clair, sinon n’hésitez pas à poser vos questions et je compléterais ce tuto.