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 ngrokLorsque 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 --versionSi 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 8080Lorsque 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/httpLorsque 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@IPAddressDans la commande ci-dessus
- 8080 est le port que le serveur écoute
- 8088 est le port que vous souhaitez exposer
- remoteUser est le nom de l'utilisateur auquel vous allez exposer votre serveur web
- L'adresse IP est l'adresse IP de l'utilisateur distant
- -R signifie que vous créez une connexion du serveur distant à votre hôte local
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_configAprès avoir ouvert le fichier, apportez les modifications comme indiqué dans la figure suivante.
AllowTcpForwarding ouiGatewayPorts 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 8088Lorsque 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] 8080Lorsque 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.