La mise en réseau

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 de manière unique l'appareil. Les adresses IP peuvent être classées en deux types qui sont publics et privés. Les adresses IP publiques sont accessibles de n'importe où sur Internet, tandis que les adresses IP privées ne sont accessibles que dans le réseau local (LAN).

Maintenant, si vous souhaitez partager quelque chose de votre serveur Web local avec vos amis qui sont en dehors du réseau local et qu'ils ne peuvent pas accéder à votre machine. Alors, comment exposeriez-vous votre hôte local à vos amis en dehors du réseau local?

Dans ce cas, vous établissez un tunnel entre votre hôte local et Internet et partagez une adresse IP publique avec vos amis, accessible de partout sur Internet.

Les tunnels peuvent être établis en utilisant SSH ou alors Ngrok. Ici, nous discuterons des deux manières, puis nous vérifierons le résultat du tunneling en utilisant chat net.

Obtenir une IP publique à l'aide de Ngrok

Ngrok est un logiciel de tunneling multiplateforme qui peut être utilisé pour établir des tunnels sécurisés d'Internet vers le réseau local. Il capture également tout le trafic pour 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 Terminal.

[email protected]:~$ snap install ngrok

Lorsque vous exécutez la commande ci-dessus, elle installe le ngrok après avoir téléchargé les fichiers requis. Vous pouvez vérifier si Ngrok a été installé ou non en utilisant la commande suivante dans le Terminal.

[email protégé] :~$ ngrok --version

Si Ngrok a été installé, il donnera la version comme indiqué dans la figure suivante.

Après l'installation Ngrok, maintenant il est prêt à être utilisé 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 écoute votre serveur Web local. Exécutez la commande suivante pour exposer votre serveur Web local à Internet

[email protégé] : ~$ ngrok http 8080

Lorsque vous exécutez la commande ci-dessus dans le terminal, Ngrok établit un tunnel entre votre serveur Web local et Internet via le port 8080 et affiche l'URL publique via laquelle votre serveur Web local est accessible. L'interface graphique suivante apparaît sur le terminal lorsque vous exécutez la commande ci-dessus.

Maintenant, votre localhost:8080 est accessible de partout sur Internet en utilisant le lien indiqué dans la figure ci-dessus.

Inspection du trafic à travers le tunnel

Ngrok nous donne la possibilité d'inspecter toutes les demandes entrantes ou sortantes d'Internet vers votre hôte local. Nous pouvons observer tout le trafic en allant sur le lien suivant

localhost:4040/inspect/http

Lorsque vous accédez au lien ci-dessus, le navigateur vous affiche toutes les demandes entrantes ou sortantes, comme illustré dans la figure suivante.

Le terminal affiche également les requêtes adressées à votre serveur Web local. La figure suivante montre comment le terminal conserve l'enregistrement des requêtes http.

Obtenir une IP publique à l'aide de 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 hôte local accessible au public. Dans ce blog, nous verrons comment utiliser SSH pour établir des tunnels entre votre hôte 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 creuser un tunnel ou SSH redirection de port. Exécutez la commande suivante dans le Terminal de votre localhost pour établir un tunnel entre votre localhost et le serveur distant

[email protected]:~$ ssh -R 8080:localhost:8088 remoteUser@IPAddress

Dans la commande ci-dessus

Désormais, le port 8088 de votre hôte local est accessible à partir d'un serveur distant ayant une adresse IP « IP Address » et un 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 quelques modifications au sshd_config fichier du serveur distant. Ce fichier peut être ouvert en tapant la commande suivante dans le terminal.

[email protégé] :~$ nano /etc/ssh/sshd_config

Après avoir ouvert le fichier, apportez les modifications comme indiqué dans la figure suivante.

AllowTcpForwarding 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 auquel 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 chat net commande pour tester les tunnels. Exécutez la commande suivante dans le terminal de votre localhost

[email protégé] :~$ netcat -l -p 8088

Lorsque vous exécutez la commande ci-dessus dans le terminal de votre localhost, chat net commence à écouter sur le port 8088 de votre localhost.

Tapez maintenant la commande suivante dans le terminal du serveur distant pour envoyer un message

[email protected]:~$ echo "Bonjour!” | netcat [IP du serveur distant] 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

Rendre votre localhost accessible depuis Internet se fait en établissant des tunnels entre votre localhost et Internet. Dans ce blog, nous avons expliqué comment établir des tunnels pour rendre votre hôte local accessible à Internet. Deux méthodes d'établissement de tunnels ont été discutées qui sont SSH creusement de tunnels et Ngrok creuser un tunnel. Inspection de la circulation à l'aide Ngrok le tunnel a également été discuté. Après cela, le processus de test des tunnels en utilisant chat net a été discuté. Après avoir lu ce blog, il vous sera très facile de rendre votre serveur Web local public.

Meilleurs émulateurs de console de jeu pour Linux
Cet article répertorie les logiciels d'émulation de console de jeu populaires disponibles pour Linux. L'émulation est une couche de compatibilité logi...
Meilleures distributions Linux pour les jeux en 2021
Le système d'exploitation Linux a parcouru un long chemin depuis son apparence originale, simple et basée sur le serveur. Ce système d'exploitation s'...
Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...