routeur4g.fr est financé par ses lecteurs. Quand vous achetez en passant par les liens du site, nous pouvons toucher une commission d’affiliation.
[TUTO] Accéder à son LAN derrière un routeur 4G, depuis l'extérieur, avec ngrok
La question "Comment accéder à mon LAN de l'extérieur ?" est souvent posée...
En 4G, et contrairement à l'ADSL, on est généralement pas connecté directement à internet.
Saufs exceptions (airmob, ...), on est connecté au réseau privé de l'opérateur et c'est lui qui route vers internet.Pour cette raison, il n'est pas possible d'ouvrir un port vers l'extérieur pour établir une connexion entrante.
Par ailleurs, l'adresse publique qu'on a (et qui est vue par les sites sur lesquels on se connecte) est partagée par d'autres clients de l'opérateur. Ainsi, le routeur 4G n'a pas d'adresse publique internet : l'opérateur lui attribue une adresse WAN qui est généralement une adresse IP privée de classe A (10.x.x.x).Si on veut accéder à certains équipement de son LAN, plusieurs techniques sont utilisables :
- établir un VPN (on un tunnel reverse-ssh) entre une machine de son LAN et une machine accessible depuis internet qu'on maitrise entièrement (pour ouvrir les ports). Cela exlut bien-sûr les VPN d'anonymisation style NordVpn, SaferVpn, ...
- utiliser ngrok qui utilise sensiblement le même principe que le VPN.
Dans ce tuto, je ne parlerai que de la solution ngrok qui est extrêmement simple à mettre en œuvre. Pour le VPN ou le reverse-ssh, ce sera un autre tuto.
Principe :
1- Une machine de son LAN utilise le client ngrok pour établir une connexion avec un server ngrok. On lui indique quel équipement doit être accessible de l'extérieur.2- Pour accéder à la machine de son LAN, on se connecte au serveur ngrok avec une url spéciale. Le routage est alors effectuée entre le serveur et le client ngrok.
Pour mettre en œuvre cette solution, il faut :
1- Créer un compte sur ngrok
2- Installer le client ngrok sur une machine de son LAN. Cette machine peut être un PC, un Mac, un Raspberry Pi, ... Dans ce tuto, j'utiliserai un Raspberry Pi, mais les instructions sont facilement transposables à un autre PC/OS.
A- Créer un compte ngrok
C'est ici que ça se passe.
Une fois que c'est fait, on se retrouve sur son tableau de bord.
On y retrouve l'authtoken que nous allons utiliser plus loin ainsi-que les liens de téléchargement du client.
On commence par télécharger, et dézipper le client ngrok :
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip # Utiliser l'URL du tableau de bord<br>unzip ngrok-stable-linux-arm.zip<br>rm ngrok-stable-linux-arm.zip<br>Ensuite, on configure son authtoken pour que ngrok sache qui on est (remplacer les xxx par la valeur qui est affichée sur le tableau de bord) :
./ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx<br>On lance le client en indiquant quelle est la machine (et le port) à rendre accessible de l'extérieur :
Par exemple, si j'ai un serveur web qui tourne sur un PC dont l'adresse IP est 192.168.0.100, je tape :
./ngrok http 192.168.0.100:80Le client affiche :
Sur cet écran, on trouve l'url à utiliser de l'extérieur pour accéder à la machine de son LAN :
http://63c403de.ngrok.io
Avec le plan gratuit de ngrok, cette url change à chaque lancement. Pour avoir une url fixe, il faut prendre un plan payant...
Accéder à son équipement de l'extérieur
Pour finir, il suffit d'entrer cette url dans son navigateur C'est peut être inutile de le préciser, mais l'accès extérieur ne fonctionne que quand le client ngrok est lancé
Si ce genre de post vous plait, n'oubliez pas de le promotionner pour que j'en fasse d'autres !
Message edité par pioc34 on
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
@Laurentm ,
la solution que tu décris est un vpn lan to lan. Mais les sites ne sont pas accessible depuis internet. (Sauf en rentrant dans le vpn )
Je dirais plutôt qu'elle est identique dans le principe : un tunnel sortant est établi vers une machine "amie".
Ce principe est également utilisé avec le reverse ssh : https://routeur4g.fr/discussions/discussion/1882/tuto-acceder-a-son-lan-derriere-un-routeur-4g-depuis-lexterieur-avec-ssh#latest
Etant en approche pour l’acquisition du routeur B715 je voulais faire un essaie pour voir comment je dois faire si j'ai des soucis pour la redirection de ports ,j'ai partager la co de mon tel pour réaliser se test je sais pas si c’était l'idée du siècle vous me direz sa ...je précise je suis sur windows 10 , j'ai suivis le tuto qui est conseiller par @oga83 mais le soucis quand j'essaie de me connecter a l'url pour acceder la machine elle me met ceci .je fait surement un truc qui vas pas mais je sais pas quoi.....
bonne soirée a tous
Oui cest sa j'ai test le 80
J'ai test sur tel et sur le pc et même résultat, quand tu dit le serveur web tu veux dire le client ngrok ?
Parce que en fait j'ai fait sa juste pour test
Petit question elle est peut être bête mais je me lance quand on ouvre le port est ce que le port fait a la fois tcp et udp ?
J'ai du raté quelques choses....
Ma config, une freebox avec redirection de port vers un routeur, qui lui même à une redirection vers mon raspberry.
J'ai suivi le tuto pour installer ngrok sur mon rasp, mais quand je tape l'url, j'ai ca : 3029ffb2.ngrok.io a mis trop de temps à répondre
et pas d'accès.
J'ai raté quoi ?
Pour le moment, j'ai encore mon routeur branché sur une freebox, et j'ai suivi le tuto pour installer ngrok sur mon raspberry qui est branché en ethernet derrière mon routeur.
Et quand je rentre l'url donné au lancement de ngrok, ca me dit "Tunnel xxxxxxx.ngrok.io not found"
en fait j'avais oublié le port 80, maintenant ca me dit :
"La connexion à http://af36a142.ngrok.io/">xxxxx.ngrok.io a été tunnelée avec succès vers votre client ngrok, mais le client n'a pas réussi à établir une connexion à l'adresse locale xxx.xxx.xxx.xxx:80 .
Assurez-vous qu'un service Web est en cours d'exécution sur xxx.xxx.xxx.xxx:80 et qu'il s'agit d'une adresse valide.
L'erreur rencontrée était la suivante: dial tcp xxx.xxx.xxx.xxx:80: connect: connexion refusée"
En gros c'est le même soucis que la personne qui a répondu un peu plus haut, mais je n'ai pas compris la solution......
Si tu veux faire de l'accès distant (rdp, vnc, ...), il faut ouvrir le port correspondant (3389 pour rdp, 5900 pour vnc, ...).
En fait, je ne pense pas avoir de serveur web sur mon rasp, enfin j'imagine (vu que je sais meme pas ce que c'est).
Pour le moment, avec la freebox, je pouvais accéder à ma domotique juste avec des redirections de port sur la freebox et le routeur, et comme pas possible avec la box 4G, j'avais essayé ce tuto mais j'ai pas vu ou ca expliquait l'histoire du serveur web
est ce possible de faire de la redirection de port pour la avec ngrok ?