Vamos apresentar um tutorial de como instalar e usar o Ngrok em máquinas com Windows e Linux.
O Ngrok é uma ferramenta fantástica para permitir acesso a serviços que estão rodando em uma máquina que está atrás de uma rede interna e consequentemente por trás de um NAT.
Além disso, o Ngrok pode ser uma alternativa para quem não deseja ou não pode fazer um portforwarding no roteador que está conectado a Internet.
Para esse tutorial, estamos supondo que você já tem um servidor WEB instalado na máquina. Caso não tenha veja abaixo como instalar servidor WEB.
Instalar servidor WEB em Linux.
Instalar servidor WEB no Windows.
Fazendo Login no Ngrok
Inicialmente, vamos acessar o site do Ngrok. Depois, vamos criar uma conta clicando em “Sign up”.
Após fazer o cadastras a conta e fazer o login, vamos copiar o nosso token. Esse token será usado para criar os tuneis com o Ngrok.
A seguir vamos apresentar a instalação e o uso do Ngrok no Windows e no Linux.
Instalando Ngrok no Windows
Para instalar o Ngrok no Windows vamos acessar o site a seguir e vamos clicar no ícone do “Windows”. Depois disso, vamos clicar em “Download“.
Depois de fazer o download do Ngrok vamos acessar a pasta que contém o arquivo compactado.
Em seguida, vamos clicar com o botão direito para extrair o arquivo compactado. Nesse caso, escolha o local onde deseja descompactar.
Uma vez descompactado, agora temos o arquivo “ngrok.exe” e precisamos usar um terminal para acessar as funcionalidades.
Configurando token Ngrok no Windows
Para acessar o ngrok pelo terminal podemos abrir o menu iniciar e procurar por “Command prompt” . Depois disso, vá até o diretório que está seu arquivo do ngrok.
Alternativamente, você pode abrir a pasta que tem o arquivo “ngrok.exe” e clicar com o botão direito do mouse e depois clicar no ícone “open in Terminal“. Nesse caso, vamos abrir pelo power shell do windows.
Uma vez dentro da pasta vamos procurar o arquivo “ngrok.exe“. Se estiver usando o power shell do windows, você vai usar o comando abaixo para configurar o token que você copiou da página do ngrok.
.\ngrok config add-authtoken seu-token
Se estiver usando o terminal comum do windows como o prompt de comando, você pode usar o comando abaixo.
ngrok config add-authtoken seu-token
Depois de inserir o token, você verá uma mensagem como a que aparece a seguir.
Mapeamento de porta do Ngrok no Windows
Agora, vamos fazer o mapeamento de porta com o ngrok. Para isso, vamos mapear a port http em nossa porta 80.
Vamos usar o comando abaixo.
ngrok http 80
Podemos ver que vai aparecer uma tela que descreve agumas informações importantes.
- 1 – Aqui temos o link para http://127.0.0.1:4040 esse link pode ser usado para verificar a página interna do ngrok que mostra informações sobre as conexões.
- 2 – Aqui temos o link do endereço público que o ngrok está te emprestando. Nesse caso, esse será o endereço que usaremos para acessar a sua máquina de qualquer lugar da Internet.
- 3 – Aqui temos o endereço de loopback “localhost” e a porta que estamos usando “80”. Isso significa que toda vez que alguem acessar o endereço público que o ngrock te emprestou será direcionado para o seu endereço local e na porta 80.
Testando Ngrok no Windows com Navegador
Agora vamos abrir o navegador e digitar o endereço externo que você pegou na tela da figura acima ( o endereço que termina com “ngrok-free.app”). Em seguida, digite esse endereço no seu navegador.
Depois que você clicar no botão “Visit Site” para continuar, você vai acessar o seu servidor WEB local como na figura abaixo. Além disso, veja esses livros que podem te ajudar a entender melhor os conceitos de redes apresentados aqui.
Instalando Ngrok no Linux
Após fazer o seu login no site do ngrok, vamos para o “Setup & Installation” e em seguida vamos escolher como sistema operaciona o Linux. Depois disso, vamos escolher a instalação baseada em “apt” como na figura abaixo.
Agora, vamos precisar instalar o “curl” em nosso Linux. Para instalar o “curl” vamos usar o comando abaixo.
sudo apt install curl
Depois de instalar o curl, vamos colar o comando de instalação que copiamos do site do Ngrok.
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
&& echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \
| sudo tee /etc/apt/sources.list.d/ngrok.list \
&& sudo apt update \
&& sudo apt install ngrok
Configurando token Ngrok no Linux
Agora que já instalamos o Ngrok, vamos iniciar a configuração do token. Lembre-se o token é aquele que você copiou lá na sua página de login do Ngrok.
ngrok config add-authtoken seu-token
Mapeamento de porta do Ngrok no Linux
Agora, vamos fazer o mapeamento de porta com o Ngrok. Para isso, vamos mapear a porta http em nossa porta 80 do endereço de loopback http://localhost.
Vamos usar o comando abaixo.
ngrok http http://localhost:80
ou
ngrok http 80
Podemos ver que vai aparecer uma tela que descreve agumas informações importantes.
- 1 – Aqui temos o link para http://127.0.0.1:4040 esse link pode ser usado para verificar a página interna do ngrok que mostra informações sobre as conexões.
- 2 – Aqui temos o link do endereço público que o ngrok está te emprestando. Nesse caso, esse será o endereço que usaremos para acessar a sua máquina de qualquer lugar da Internet.
- 3 – Aqui temos o endereço de loopback “localhost” e a porta que estamos usando “80”. Isso significa que toda vez que alguem acessar o endereço público que o ngrock te emprestou será direcionado para o seu endereço local e na porta 80.
Testando Ngrok no Linux com Navegador
Agora vamos abrir o navegador e digitar o endereço externo que você pegou na tela da figura acima ( o endereço que termina com “ngrok-free.app”). Em seguida, digite esse endereço no seu navegador.
Depois que você clicar no botão “Visit Site” para continuar, você vai acessar o seu servidor WEB local como na figura abaixo. Uma opção de livros que podem te ajudar a entender os conceitos apresentados.
Resumo das conexões no Ngrok
Caso queira ver um resumo das requisições para o seu endereço público, você pode abrir um navegador e digitar o endereço abaixo.
127.0.0.1:4040
Na figura acima você vai conseguir ver o resumo das conexões ao seu túnel Ngrok.
Veja mais:
Como fazer X11 Forwarding com SSH
O que é protocolo de roteamento ?
Como funciona a camada de rede
Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer