Agora, se você deseja compartilhar algo de seu servidor da Web local com seus amigos que estão fora da rede local e eles não podem acessar sua máquina. Então, como você exporia seu host local para seus amigos fora da LAN?
Neste caso, você estabelece um túnel do seu host local para a internet e compartilha um endereço IP público com seus amigos, que pode ser acessado de toda a internet.
Os túneis podem ser estabelecidos usando SSH ou Ngrok. Aqui, discutiremos as duas formas e, em seguida, verificaremos o resultado do tunelamento usando netcat.
Obtendo IP público usando Ngrok
Ngrok é um software de tunelamento de plataforma cruzada que pode ser usado para estabelecer túneis seguros da internet para a rede local. Ele também captura todo o tráfego para inspeção. A seguir está o método para estabelecer túneis do host local para a internet.
Instalando o Ngrok
Antes de usar Ngrok na sua máquina, temos que instalá-lo. Ngrok pode ser instalado usando o seguinte comando no Terminal.
[email protegido]: ~ $ snap install ngrokQuando você executa o comando acima, ele instala o ngrok após baixar os arquivos necessários. Você pode verificar se Ngrok foi instalado ou não usando o seguinte comando no Terminal.
[email protegido]: ~ $ ngrok - versãoSe Ngrok foi instalado irá fornecer a versão conforme mostrado na figura a seguir.
Depois de instalar Ngrok, agora está pronto para usar para estabelecer túneis.
Expondo o localhost ao público
Ngrok é usado para expor seu servidor da web local para a internet. Tudo o que temos que fazer é contar Ngrok em qual porta seu servidor web local está escutando. Execute o seguinte comando para expor seu servidor da web local à internet
[email protegido]: ~ $ ngrok http 8080Quando você executa o comando acima no Terminal, Ngrok estabelece um túnel do seu servidor web local para a internet através da porta 8080 e exibe o URL público através do qual o seu servidor web local pode ser acessado. A GUI a seguir aparece no Terminal quando você executa o comando acima.
Agora seu localhost: 8080 pode ser acessado de toda a internet usando o link mostrado na figura acima.
Inspecionando o tráfego através do túnel
Ngrok nos fornece a capacidade de inspecionar todas as solicitações de entrada ou saída da Internet para o seu host local. Podemos observar todo o tráfego acessando o seguinte link
localhost: 4040 / inspect / httpQuando você acessa o link acima, o navegador mostra todas as solicitações de entrada ou saída, conforme mostrado na figura a seguir.
O terminal também mostra as solicitações feitas ao seu servidor web local. A figura a seguir mostra como o terminal mantém o registro de solicitações http.
Obter IP público usando SSH
SSH também conhecido como Secure Shell é 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 seu host local acessível ao público. Neste blog, veremos como usar SSH para estabelecer túneis entre seu host local e a Internet pública.
Expondo o 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 local para estabelecer um túnel entre o seu host local e o servidor remoto
[email protegido]: ~ $ ssh -R 8080: localhost: 8088 remoteUser @ IPAddressNo comando acima
- 8080 é a porta que o servidor está escutando
- 8088 é a porta que você deseja expor
- remoteUser é o nome do usuário a quem você irá expor seu servidor web
- IPAddress é o IP do usuário remoto
- -R significa que você está criando uma conexão do servidor remoto ao seu host local
Agora a porta 8088 do seu host local pode ser acessada de um servidor remoto com IP “Endereço IP” e nome de usuário “remoteUser” através da porta 8080.
Configuração de servidor remoto
Antes de acessar o host local 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.
[email protegido]: ~ $ nano / etc / ssh / sshd_configDepois de abrir o arquivo, faça as alterações conforme mostrado na figura a seguir.
AllowTcpForwarding simGatewayPorts sim
Depois de fazer as alterações, reinicie o seu SSH servidor para aplicar essas mudanças. Agora o localhost está aberto ao servidor remoto para ser acessado.
Testando os Túneis
Até agora, estabelecemos túneis entre o host local 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
[email protegido]: ~ $ netcat -l -p 8088Quando você executa o comando acima no terminal do seu host local, netcat começa a escutar na porta 8088 do seu host local.
Agora digite o seguinte comando no terminal do servidor remoto para enviar mensagem
[email protegido]: ~ $ echo “Olá!”| netcat [remoteserver IP] 8080Quando você executa o comando acima no terminal do seu servidor remoto, a mensagem “Hello” deve aparecer no terminal do localhost. Se isso acontecer, seu túnel foi estabelecido.
Conclusão
Para tornar seu host local acessível a partir da internet é feito estabelecendo túneis entre seu host local e a internet. Neste blog, discutimos como estabelecer túneis para tornar seu host local acessível à internet. Dois métodos de estabelecer túneis foram discutidos, os quais são SSH tunelamento e Ngrok tunelamento. Inspeção de tráfego usando Ngrok 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ê tornar seu servidor da web local para o público.