Agora, se você deseja compartilhar algo do seu servidor da web local com seus amigos que estão fora da rede local da área e eles não podem acessar sua máquina. Então, como você exporia sua localhost a seus amigos fora da LAN?
Nesse caso, você estabelece um túnel do seu host para a Internet e compartilha um endereço IP público com seus amigos que podem ser acessados de toda a Internet.
Túneis podem ser estabelecidos usando Ssh ou Ngrok. Aqui discutiremos os dois caminhos e então verificaremos o resultado do tunelamento usando netcat.
Obtendo IP público usando Ngrok
Ngrok é um software de tunelamento de plataforma cruzada que pode ser usada para estabelecer túneis seguros da Internet para a rede local. Ele também captura todo o tráfego para inspeção. A seguir, o método para estabelecer túneis de localhost para a Internet.
Instalando NGrok
Antes de usar Ngrok Na sua máquina, temos que instalá -la. Ngrok pode ser instalado usando o seguinte comando no terminal.
ubuntu@ubuntu: ~ $ snap install ngrok
Quando você executa o comando acima, ele instalará o ngrok após o download de arquivos necessários. Você pode verificar se Ngrok foi instalado ou não usando o seguinte comando no terminal.
ubuntu@ubuntu: ~ $ ngrok --version
Se Ngrok foi instalado, ele dará à versão como mostrado na figura a seguir.
Depois de instalar Ngrok, Agora está pronto para usar para estabelecer túneis.
Expondo localhost ao público
Ngrok é usado para expor seu servidor da web local à Internet. Tudo o que precisamos fazer é dizer Ngrok em que porta o servidor da web local está ouvindo. Execute o seguinte comando para expor seu servidor da web local à Internet
ubuntu@ubuntu: ~ $ ngrok http 8080
Quando você executa o comando acima no terminal, Ngrok Estabelece um túnel do seu servidor da web local para a Internet através da porta 8080 e exibe o URL público pelo qual o servidor da web local pode ser acessado. A seguir, a GUI aparece no terminal quando você executa o comando acima.
Agora o seu localhost: 8080 pode ser acessado de toda a Internet usando o link mostrado na figura acima.
Inspecionar o tráfego através do túnel
Ngrok fornece -nos a capacidade de inspecionar todos os pedidos de entrada ou saída da Internet para sua localhost. Podemos observar todo o tráfego indo para o seguinte link
LocalHost: 4040/Inspect/http
Quando você obteve o link acima, o navegador mostra todas as solicitações de entrada ou saída, como mostrado na figura a seguir.
Terminal também mostra as solicitações feitas ao seu servidor da web local. A figura a seguir mostra como o terminal mantém o registro das solicitações HTTP.
Obtendo IP público usando SSH
Ssh Também conhecido como shell seguro é um protocolo de comunicação seguro usado para comunicação remota entre cliente e servidor. Além disso, Ssh também pode ser usado para estabelecer túneis para tornar sua localhost acessível ao público. Neste blog, veremos como usar o SSH para estabelecer túneis entre sua localhost e internet pública.
Expondo localhost ao público
Localhost também pode ser exposto ao público usando Ssh que é basicamente um protocolo de comunicação. É chamado Ssh tunelamento ou Ssh encaminhamento de porta. Execute o seguinte comando no terminal do seu host para estabelecer um túnel entre o host localizador e o servidor remoto
ubuntu@ubuntu: ~ $ ssh -r 8080: localhost: 8088 remoteuser@ipaddress
No comando acima
Agora, a porta 8088 do seu localhost pode ser acessada de um servidor remoto com "endereço IP" IP e nome de usuário "RemoteUser" através da porta 8080.
Configuração do servidor remoto
Antes de acessar localhost através do túnel de um servidor remoto, faça algumas alterações no sshd_config arquivo do servidor remoto. Este arquivo pode ser aberto digitando o seguinte comando no terminal.
ubuntu@ubuntu: ~ $ nano/etc/ssh/sshd_config
Depois de abrir o arquivo, faça as alterações como mostrado na figura a seguir.
AllowTcpforwarding Sim
Gatewayports sim
Depois de fazer alterações, reinicie seu Ssh servidor para aplicar essas alterações. Agora o localHost está aberto ao servidor remoto a ser acessado.
Testando os túneis
Até agora, estabelecemos túneis entre localhost e um servidor remoto usando Ssh e Ngrok. Agora vamos testar se esses túneis foram estabelecidos ou não. Nós vamos usar netcat comando para testar túneis. Execute o seguinte comando no terminal do seu host local
ubuntu@ubuntu: ~ $ netcat -l -p 8088
Quando você executa o comando acima no terminal de sua localhost, netcat começa a ouvir na porta 8088 do seu host localizador.
Agora digite o seguinte comando no terminal do servidor remoto para enviar mensagem
ubuntu@ubuntu: ~ $ echo “Olá!”| netcat [RemoteServer IP] 8080
Quando você executa o comando acima no terminal do seu servidor remoto, a mensagem "Hello" deve aparecer no terminal do localHost. Se isso acontecer, então seu túnel foi estabelecido.
Conclusão
Para tornar sua localhost acessível da Internet. Neste blog, discutimos como estabelecer túneis para tornar sua localhost acessível à Internet. Dois métodos para estabelecer túneis foram discutidos que são Ssh tunelamento e Ngrok tunelamento. Inspeção do tráfego usando Ngrok O tunelamento também foi discutido. Depois disso, o processo de teste dos túneis usando netcat foi discutido. Depois de ler este blog, será muito fácil para você fazer o seu servidor da web local para o público.