Comment obtenir une adresse IP publique en utilisant NGROK ou SSH Tunneling

Comment obtenir une adresse IP publique en utilisant NGROK ou SSH Tunneling
Chaque appareil connecté sur Internet a une adresse IP qui identifie uniquement l'appareil. Les adresses IP peuvent être classées en deux types qui sont publics et privés. Les adresses IP publiques sont accessibles à partir de n'importe où sur Internet tandis que les adresses IP privées ne peuvent être accessibles que dans le réseau local (LAN).

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

  • 8080 est le port qui est le serveur écoute
  • 8088 est le port que vous souhaitez exposer
  • RemoteUser est le nom de l'utilisateur à qui vous allez exposer votre serveur Web
  • IPaddress est la propriété intellectuelle de l'utilisateur distant
  • -R signifie que vous créez une connexion à partir du serveur distant vers votre Host local

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.