Maintenant, si vous souhaitez partager quelque chose de votre serveur Web local à vos amis qui sont en dehors du réseau local et qu'ils ne peuvent pas accéder à votre machine. Alors comment exposerais-tu votre hôte local à vos amis à l'extérieur du LAN?
Dans ce cas, vous établissez un tunnel de votre hôte local à Internet et partagez une adresse IP publique à vos amis qui peuvent être accessibles à partir de partout sur Internet.
Les tunnels peuvent être établis en utilisant Ssh ou Ngrok. Ici, nous discuterons des deux voies et ensuite nous vérifierons le résultat de la tunneling en utilisant netcat.
Obtenir une IP publique en utilisant Ngrok
Ngrok est un logiciel de tunneling multiplateforme qui peut être utilisé pour établir des tunnels sécurisés sur Internet vers le réseau local. Il capture également tout le trafic pour l'inspection. Voici la méthode pour établir des tunnels de localhost à Internet.
Installation de ngrok
Avant d'utiliser Ngrok sur votre machine, nous devons l'installer. Ngrok peut être installé en utilisant la commande suivante dans le terminal.
ubuntu @ ubuntu: ~ $ snap installer ngrok
Lorsque vous exécutez la commande ci-dessus, il installera le ngrok après le téléchargement des fichiers requis. Vous pouvez vérifier si Ngrok a été installé ou non en utilisant la commande suivante dans le terminal.
Ubuntu @ Ubuntu: ~ $ ngrok --version
Si Ngrok a été installé, il donnera la version comme indiqué dans la figure suivante.
Après installation Ngrok, Maintenant, il est prêt à utiliser pour établir des tunnels.
Exposer localhost au public
Ngrok est utilisé pour exposer votre serveur Web local à Internet. Tout ce que nous avons à faire est de dire Ngrok Sur quel port votre serveur Web local écoute. Exécutez la commande suivante pour exposer votre serveur Web local sur Internet
ubuntu @ ubuntu: ~ $ ngrok http 8080
Lorsque vous exécutez la commande ci-dessus dans le terminal, Ngrok établit un tunnel de votre serveur Web local vers Internet via le port 8080 et affiche l'URL publique par laquelle votre serveur Web local peut être accessible. Suivant l'interface graphique apparaît sur le terminal lorsque vous exécutez la commande ci-dessus.
Maintenant, votre LocalHost: 8080 est accessible à partir de partout sur Internet en utilisant le lien illustré dans la figure ci-dessus.
Inspecter le trafic dans le tunnel
Ngrok nous offre la possibilité d'inspecter toutes les demandes entrantes ou sortantes d'Internet à votre hôte local. Nous pouvons observer tout le trafic en passant au lien suivant
LocalHost: 4040 / inspect / http
Lorsque vous avez obtenu le lien ci-dessus, le navigateur vous montre toutes les demandes entrantes ou sortantes comme indiqué dans la figure suivante.
Terminal affiche également les demandes faites à votre serveur Web local. La figure suivante montre comment le terminal maintient le dossier des demandes HTTP.
Obtenir une IP publique en utilisant SSH
Ssh Également connu sous le nom de Secure Shell est un protocole de communication sécurisé utilisé pour la communication à distance entre le client et le serveur. En outre, Ssh Peut également être utilisé pour établir des tunnels afin de rendre votre local le plus accessible au public. Dans ce blog, nous verrons comment utiliser SSH pour établir des tunnels entre votre Host local et Internet public.
Exposer localhost au public
LocalHost peut également être exposé au public en utilisant Ssh qui est essentiellement un protocole de communication. On l'appelle Ssh tunneling ou Ssh remise des portes. Exécutez la commande suivante dans le terminal de votre Host local pour établir un tunnel entre votre serveur local et éloigné
ubuntu @ ubuntu: ~ $ ssh -r 8080: localhost: 8088 RemoteUser @ iPaddress
Dans la commande ci-dessus
Maintenant, le port 8088 de votre Host local est accessible à partir d'un serveur distant ayant une «adresse IP» IP et le nom d'utilisateur «RemoteUser» via le port 8080.
Configuration du serveur distant
Avant d'accéder à LocalHost via le tunnel à partir d'un serveur distant, apportez des modifications dans le sshd_config Fichier du serveur distant. Ce fichier peut être ouvert en tapant la commande suivante dans le terminal.
ubuntu @ ubuntu: ~ $ nano / etc / ssh / sshd_config
Après avoir ouvert le fichier, effectuez les modifications comme indiqué dans la figure suivante.
Pertetcp forforwing oui
Gatewayports oui
Après avoir apporté des modifications, redémarrez votre Ssh serveur pour appliquer ces modifications. Maintenant localhost est ouvert au serveur distant pour accéder.
Tester les tunnels
Jusqu'à présent, nous avons établi des tunnels entre localhost et un serveur distant en utilisant Ssh et Ngrok. Nous allons maintenant tester si ces tunnels ont été établis ou non. Nous utiliserons netcat commande pour tester les tunnels. Exécutez la commande suivante dans le terminal de votre Host local
ubuntu @ ubuntu: ~ $ netcat -l -p 8088
Lorsque vous exécutez la commande ci-dessus dans le terminal de votre Host local, netcat commence à écouter sur le port 8088 de votre localhost.
Tapez maintenant la commande suivante dans le terminal du serveur distant pour envoyer un message
ubuntu @ ubuntu: ~ $ echo "Bonjour!»| NetCat [RemoTeServer IP] 8080
Lorsque vous exécutez la commande ci-dessus dans le terminal de votre serveur distant, le message «bonjour» doit apparaître sur le terminal de LocalHost. Si cela se produit, alors votre tunnel a été établi.
Conclusion
Pour rendre votre local, accessible à partir d'Internet est réalisé en établissant des tunnels entre votre Host local et Internet. Dans ce blog, nous avons discuté de la façon d'établir des tunnels pour que votre local est accessible à Internet. Deux méthodes d'établissement de tunnels ont été discutées qui sont Ssh tunneling et Ngrok tunneling. Inspection du trafic utilisant Ngrok Le tunneling a également été discuté. Après cela, le processus de test des tunnels en utilisant netcat a été discuté. Après avoir lu ce blog, il vous sera très facile de rendre votre serveur Web local au public.