No artigo anterior, link a seguir, mostramos como expor o Hub ESP32 — hospedado em um servidor Nginx dentro da rede local — para acesso externo usando o Cloudflare Quick Tunnel, sem abrir portas no roteador e sem depender de IP público. Aquela solução funciona muito bem para cenários onde precisamos publicar um serviço HTTP específico (como o dashboard do Hub) de forma simples e rápida.
https://blog.eletrogate.com/expondo-um-hub-esp32-na-internet-com-cloudflare-tunnel-e-ntfy-sh
Neste novo artigo, vamos explorar uma abordagem completamente diferente para acesso remoto: a VPN Tailscale, baseada no protocolo WireGuard. Em vez de expor um serviço web da rede para a internet, a Tailscale cria uma rede privada virtual entre seus dispositivos, permitindo que você acesse (ou até mesmo conceda acesso temporário a outra pessoa por meio do recurso de Device Sharing da Tailscale) o Raspberry Pi, o Hub ESP32, outros dispositivos da sua LAN (como outros ESP32, câmeras, NAS, etc.) como se estivesse fisicamente em casa.
Além disso, por estar dentro da mesma rede privada da Tailnet, você pode acessar qualquer computador da sua casa ou laboratório, seja Windows, Linux, macOS ou Raspberry Pi, utilizando ferramentas como VNC, Conexão de Área de Trabalho Remota (RDP), RustDesk, PUTTY, SSH, SFTP ou qualquer outro protocolo que normalmente só funciona na rede local. Tudo isso sem abrir portas no roteador, sem DDNS e sem expor nada à internet pública.
Vamos aproveitar exatamente o mesmo Hub configurado no artigo anterior, mas agora inserido dentro de uma Tailnet, e demonstrar como acessar a aplicação do Raspberry Pi e os ESP32 diretamente a partir de um notebook ou celular — inclusive usando o 4G/5G.
Ao longo do desenvolvimento do Hub ESP32, percebemos que existem duas necessidades distintas:
Acessar um painel ou serviço específico
– como o dashboard hospedado no Nginx disponibilizado para um público maior conhecendo a URL.
– Aqui soluções como Cloudflare Tunnel funcionam muito bem.
Acessar a rede local como um todo
– por exemplo: abrir diretamente a interface de múltiplos ESP32 (coletor de energia, reservatório, sprinklers, etc.),
– sem depender do Hub,
– sem expor nada publicamente, mas com a possibilidade de convidar outros usuários.
– e com suporte completo a WebSockets, MQTT, SSH e outros protocolos além de HTTP.
A Tailscale atende exatamente essa segunda necessidade.
Ela cria uma VPN moderna, privada e criptografada entre todos os seus dispositivos: notebooks, Raspberry Pi, celulares, PCs e servidores. Assim, mesmo a partir de um celular no 4G, podemos acessar:
o Hub no Raspberry Pi,
qualquer ESP32 da rede 192.168.x.x,
ou qualquer outro serviço local,
como se estivéssemos conectados ao Wi-Fi de casa.
Além disso, a Tailscale oferece recursos que o Quick Tunnel não fornece, como:
acesso privado entre dispositivos (sem URL pública),
roteamento de sub-redes (subnet routing),
exit nodes,
MagicDNS e nomes fixos,
comunicação peer-to-peer criptografada via WireGuard.
O resultado é um ambiente de acesso remoto eficiente, seguro e flexível, ideal para quem trabalha com IoT, automação residencial, ESP32 e servidores locais.
A Tailscale é uma VPN moderna construída sobre o protocolo WireGuard, que cria conexões rápidas, seguras e criptografadas entre dispositivos. Ela funciona de forma semelhante a um “cabo virtual” que liga seus equipamentos — notebook, celular, Raspberry Pi, Windows, macOS, Linux e até outros dispositivos IoT — independentemente de onde eles estejam.
Quando você instala o aplicativo da Tailscale em um dispositivo e faz login na sua conta, ele passa a integrar uma rede privada chamada Tailnet. Todos os dispositivos dentro dessa Tailnet recebem um endereço IP próprio (geralmente na faixa 100.x.x.x) e conseguem se comunicar diretamente, mesmo que estejam em cidades, redes Wi-Fi ou operadoras diferentes.
Conexões diretas peer-to-peer (WireGuard)
Sempre que possível, a Tailscale tenta estabelecer um caminho direto entre dois dispositivos — por exemplo, seu celular 4G direto para seu Raspberry Pi em casa.
Isso faz com que o acesso seja rápido, estável e com baixa latência.
Fallback por relays (DERP)
Caso não seja possível criar uma conexão direta (por NAT restritivo ou firewall), a Tailscale usa automaticamente um dos servidores DERP, que apenas reencaminham o tráfego já criptografado.
Mesmo assim, a comunicação permanece segura graças ao WireGuard.
Nada é exposto ao público
Diferente do Quick Tunnel, que cria um endpoint público HTTP, a Tailnet não gera nenhuma URL acessível pela internet.
Somente os dispositivos autenticados conseguem se ver e se comunicar.
O plano “Personal Free” da Tailscale é extremamente generoso e atende plenamente o contexto de IoT e automação:
Quantidade generosa de dispositivos pessoais
Transferência ilimitada entre nós da Tailnet
DNS interno com MagicDNS
Device Sharing (compartilhar um dispositivo com outra pessoa)
Suporte a clientes Windows, Linux, macOS, iOS, Android, Raspberry Pi
Suporte a recursos avançados como:
Subnet Routing
Exit Nodes
Conexões P2P criptografadas
SSH integrado (Tailscale SSH)
Para nosso uso — acessar o Hub no Raspberry Pi, interagir com os ESP32 e navegar em dispositivos da LAN — o modo free atende perfeitamente.

Figura 1 – Visão geral dos Componente de uma Rede TailNet
A figura acima ilustra bem o papel da Tailnet:
Todos os seus dispositivos formam uma rede privada criptografada.
O Raspberry Pi, que hospeda o Hub ESP32, entra na Tailnet e recebe um IP próprio.
Seu celular no 4G também entra na Tailnet e enxerga o Raspberry Pi como se estivessem na mesma LAN.
A partir dele, você acessa o Hub ou qualquer serviço interno, como se estivesse conectado ao Wi-Fi da casa.
Essa visão é fundamental para entender porque a Tailscale é tão poderosa para automação IoT:
ela não expõe portas, não depende de DDNS e não exige IP fixo — apenas cria um “fio invisível” ligando todos os seus dispositivos.
Agora que já entendemos a ideia da Tailnet, vamos colocar a mão na massa e criar a nossa rede privada usando o plano Personal Free da Tailscale. A ideia aqui é bem simples:
colocar o Raspberry Pi (onde está o Hub ESP32) dentro da Tailnet,
adicionar os dispositivos que vão acessar o Hub (notebook, celular, etc.),
e conferir tudo pelo painel web da Tailscale.
Acesse o site da Tailscale:https://tailscale.com
Clique em Sign up e crie a conta usando Google, Microsoft, GitHub ou e-mail.
Assim que a conta é criada, a Tailscale já cria automaticamente a sua Tailnet pessoal
(algo como seu-nome.gmail.com).
Essa Tailnet será o “condomínio fechado” onde todos os seus dispositivos vão se encontrar.
No Raspberry Pi que hospeda o Nginx e o Hub ESP32:
Instale o cliente Tailscale (em Raspberry Pi OS / Debian):
Depois, conecte o Raspberry à Tailnet:
O comando vai mostrar uma URL de autenticação.
Abra essa URL no navegador, faça login com a mesma conta da Tailscale e autorize o Raspberry.
Quando terminar, o Raspberry já terá:
um IP da Tailnet, na faixa 100.x.x.x,
um nome interno (que depois pode ser usado com MagicDNS).
Esse Raspberry será o ponto central para acesso ao Hub e, se você quiser, também para acesso à rede 192.168.18.x (via subnet routing, que veremos mais adiante).
Depois do Raspberry Pi, é hora de adicionar ao Tailnet os dispositivos que você usará para acessar o Hub ESP32: Windows, Linux e macOS.
Acesse:https://tailscale.com/download
Baixe o instalador para Windows.
Execute: Next → Next → Finish.
Abra o aplicativo Tailscale e clique em Log in.
Entre com a mesma conta usada no Raspberry Pi.
Pronto: seu Windows passa a aparecer no painel da Tailnet com um IP 100.x.x.x.
Para manter o tutorial simples e universal, vamos usar o mesmo instalador automático que funciona na maioria das distribuições Linux assim como no Raspberry Pi OS.
Abra o terminal e execute:
Esse script detecta automaticamente sua distribuição e instala o pacote adequado (DEB, RPM, etc.).
Depois da instalação:
O comando mostra uma URL de autenticação, exemplo:
Abra essa URL no navegador, faça login e autorize o dispositivo.
Você deve ver algo como:
Agora o Linux já pode acessar o Raspberry Pi, o Hub e demais dispositivos da Tailnet.
No macOS, o processo é mais simples:
Acesse:https://tailscale.com/download
Baixe a versão para macOS (.pkg).
Instale normalmente (como qualquer pacote do macOS).
Abra o app Tailscale → clique em Log in.
Autorize a integração com a sua conta.
O macOS será imediatamente listado na Tailnet com seu IP 100.x.x.x.
Quando Windows, Linux e macOS estiverem autenticados:
todos aparecerão no painel da Tailscale,
todos terão IPs 100.x.x.x,
todos conseguirão pingar uns aos outros,
e estarão prontos para acessar o Raspberry Pi (que hospeda o Hub) a partir de qualquer rede — inclusive 4G/5G.
No celular que você quer usar para acessar o Hub:
Android / iOS
Instale o app Tailscale pela Play Store ou App Store.
Abra o app e toque em Log in.
Use a mesma conta da Tailnet.
Após a autenticação, o celular passa a aparecer no painel junto com os outros dispositivos.
Esse será o seu cenário típico:
celular no 4G → Tailnet → Raspberry Pi → Hub ESP32 / ESP32 da LAN.
Abra o painel web:
https://login.tailscale.com/admin/machines
Você deve ver algo parecido com:
domraspberry (Raspberry Pi com o Hub)
seu desktop/notebook (Windows, Linux, macOS)
seu celular (Android / iPhone)
Cada um com seu IP 100.x.x.x e status connected.
A partir daqui:
o notebook consegue pingar o Raspberry pelo IP da Tailnet,
o celular (no 4G) também consegue,
e todos estão prontos para acessar o Hub e, mais adiante, a rede local via subnet routes.

Figura 2 – Painel do Administrador da VPN na Tailscale
A Tailscale oferece um recurso poderoso chamado Exit Node, que permite direcionar todo o tráfego de internet de um dispositivo para passar por outro membro da Tailnet. Em outras palavras: você escolhe um dispositivo como “saída para a internet” e todos os demais passam a navegar usando o IP público dele.
Ele funciona como um “roteador VPN pessoal”, semelhante a um VPN comercial, mas dentro da sua própria Tailnet, com controle total.
Imagine que seu Raspberry Pi está em casa, conectado a uma rede estável.
Agora imagine que você está usando o seu notebook em um Wi-Fi público de aeroporto ou usando o celular via 4G.
Se você ativar o Raspberry Pi como Exit Node, todo o tráfego do seu notebook ou celular será:
criptografado via WireGuard,
enviado ao Raspberry Pi pela Tailnet,
e só então encaminhado para a internet.
Resultado:
seu notebook/celular passa a navegar como se estivesse fisicamente no Wi-Fi da sua casa,
recebendo inclusive o mesmo IP público da sua residência.
Alguns cenários típicos:
Você pode usar Wi-Fi de hotéis, cafés, aeroportos, coworkings etc. com todo tráfego saindo pela sua casa.
Alguns serviços, bancos ou sites só funcionam com IP local.
Com o Exit Node ativado, tudo funciona normalmente.
Útil para testar aplicações, firewalls ou ambientes que dependem do IP de origem.
Você pode compartilhar acesso ao Exit Node para permitir que outra pessoa navegue com a proteção da sua rede.
No contexto do projeto (Hub ESP32 + Tailscale):
Para acessar o Hub ESP32 remotamente
Para acessar dispositivos da rede local 192.168.x.x
Para usar subnet routes
Para abrir o WebSocket do ESP32
Para acessar os ESP32 diretamente no IP local
👉 O Exit Node não é necessário.
Subnet Routing já resolve toda a parte de acesso à LAN.
Se um dia quiser ativar (não é obrigatório para o Hub), basta:
Abra https://login.tailscale.com/admin/machines
Clique no Raspberry Pi
Habilite a opção Exit Node
Abra o app Tailscale:
Vá em Settings → Exit Node
Selecione o Raspberry Pi
E pronto: toda a navegação do cliente passará por ele.
Uma comparação simples, ideal para incluir na leitura do usuário:
Funcionalidade | Serve para… | Quando usar | Exemplo |
Subnet Routing | Acessar dispositivos da LAN (192.168.x.x) | Quando queremos acessar ESP32, NAS, câmeras, HUB, etc. | Acessar um ESP32 pelo IP local |
Exit Node | Usar o Raspberry (ou outro nó) como saída para a internet | Quando precisamos navegar como se estivéssemos na rede doméstica | Celular no 4G navegando com IP da casa |
Exit Node não é necessário para acessar o Hub ESP32 ou os ESP32 da LAN.
Ele serve para redirecionar toda a navegação de um dispositivo pela sua casa.
É útil para segurança, privacidade e acesso a serviços restritos.
Pode ser habilitado ou desabilitado a qualquer momento.
Com o Raspberry Pi, o notebook e o celular já conectados à Tailnet, acessar o Hub ESP32 remotamente se torna extremamente simples.
Diferente do Quick Tunnel, onde o Hub recebia uma URL pública temporária, aqui o Raspberry passa a ter um IP privado e estável da Tailnet — é por meio dele que você acessará o Hub em qualquer lugar do mundo.
Vamos mostrar duas formas de acesso:
Acessar o Hub no Raspberry Pi (via IP da Tailnet)
Acessar diretamente os ESP32 da LAN (via Subnet Routing)
Após rodar sudo tailscale up no Raspberry, ele ganhou um IP da Tailnet, algo como:
Você pode ver esse IP com:
Ou simplesmente olhando no painel da Tailscale:
🔗 https://login.tailscale.com/admin/machines
Esse IP será sempre o mesmo enquanto o dispositivo permanecer na Tailnet.
Agora vem a parte simples:
Abra no notebook ou celular:
E você verá:
o dashboard do Hub,
as páginas HTML que falam com o ESP32,
gráficos, WebSockets, serviços e tudo funcionando como se estivesse na rede local.
Porque a Tailscale cria uma conexão WireGuard direta:
O tráfego não é público; ele viaja 100% criptografado pela VPN.
Ao ativar o Subnet Routing no Raspberry com:
e habilitar a rota no Admin Console,
qualquer dispositivo da Tailnet (notebook, Android, iPhone, Linux, Windows) consegue acessar todos os ESP32 da sua LAN usando seus IPs normais, por exemplo:
Inclusive com:
WebSocket funcionando ✔
Atualização de dashboard ✔
POST/GET/REST ✔
Página HTML carregando normalmente ✔
Ou seja, funciona exatamente como se você estivesse no Wi-Fi de casa.
Isso é uma vantagem muito grande em relação ao Quick Tunnel, que expõe apenas um único serviço HTTP.
Com a Tailscale, você acessa quantos ESP32 quiser, cada um pelo seu IP interno.
Se habilitar o recurso MagicDNS no painel da Tailscale, você poderá acessar o Raspberry Pi pelo nome amigável:
E isso funciona tanto no notebook quanto no celular.
(Os ESP32 não respondem via mDNS pela Tailnet, pois mDNS não atravessa VPN — só funciona na LAN.
Mas o Hub no Raspberry continua acessível normalmente por nome.)
No celular, conecte-se à Tailnet via aplicativo Tailscale.
Abra o navegador do celular e acesse:
A página do ESP32 carrega normalmente.
O WebSocket conecta e atualiza os dados em tempo real.
Todos os botões, gráficos e leituras funcionam como na LAN.
Tudo isso sem:
abrir portas no roteador,
usar UPnP,
configurar DDNS,
expor nada para a internet pública,
ou depender de URL temporária como no Quick Tunnel.
O Raspberry Pi ganha um IP estável da Tailnet.
Você acessa o Hub diretamente por esse IP, de qualquer lugar.
Com Subnet Routing, acessa também os ESP32 da LAN.
WebSocket e APIs funcionam normalmente pela Tailnet.
Nada é exposto à internet pública: toda comunicação é privada e criptografada.
O Cloudflare Quick Tunnel é excelente para expor um serviço HTTP específico (como o dashboard do Hub) para acesso externo. Já a Tailscale atua em um nível completamente diferente: em vez de publicar serviços, ela cria uma rede privada virtual completa, onde todos os seus dispositivos podem se comunicar de forma direta, segura e criptografada.
Nesta seção, vamos destacar os recursos da Tailscale que vão muito além das capacidades do Quick Tunnel — especialmente úteis para quem trabalha com IoT, automação e dispositivos ESP32.
A Tailscale usa WireGuard, um dos protocolos de VPN mais rápidos e seguros da atualidade.
Diferentemente do Quick Tunnel:
não há servidor intermediário roteando o HTTP,
não há URL pública exposta na internet,
não há risco de escaners externas descobrirem potenciais endpoints.
Toda comunicação ocorre apenas entre dispositivos autenticados da Tailnet.
Resultado:
Você acessa seu Hub ESP32 no Raspberry Pi como se estivesse na mesma rede Wi-Fi, mas sem abrir portas, sem DDNS e sem exposição externa.
A Tailscale oferece um DNS interno opcional chamado MagicDNS, que cria nomes amigáveis para todos os dispositivos da Tailnet, como:
Isso facilita o acesso, evitando a necessidade de memorizar IPs 100.x.x.x.
(Observação: dispositivos IoT que usam mDNS, como ESP32, não podem ser resolvidos via MagicDNS diretamente, porque mDNS não atravessa VPN. Mas o Raspberry Pi, sim.)
A Tailscale permite convidar outra pessoa para acessar apenas um dispositivo específico da sua Tailnet — sem dar acesso total à rede.
Isso é ideal quando você quer:
dar acesso temporário ao Hub,
permitir suporte remoto,
ou possibilitar que outra pessoa veja um dashboard local sem expor nada na internet.
Esse recurso simplesmente não existe no Quick Tunnel.
Como vimos na seção anterior, um Exit Node permite navegar pela internet usando o IP público do seu Raspberry Pi ou de outro dispositivo da Tailnet.
É útil para:
segurança em redes públicas,
testes,
acesso a serviços restritos ao IP da casa.
Mas o mais importante:
não é necessário ser exit node para acessar o Hub ou os ESP32.
Isso é uma capacidade extra da Tailscale que não existe no Quick Tunnel.
Essa é uma das funcionalidades mais poderosas — e uma das grandes diferenças em relação ao Quick Tunnel.
Com o Subnet Routing, um dos dispositivos da Tailnet (no nosso caso, o Raspberry Pi) pode anunciar para a Tailscale que ele tem acesso a uma rede local completa, como:
Isso transforma o Raspberry Pi em uma espécie de “ponte” entre a Tailnet (100.x.x.x) e a sua LAN doméstica.
A partir de um notebook ou celular conectado à Tailnet (inclusive no 4G), você consegue:
acessar qualquer ESP32 da LAN pelo IP local,
abrir interfaces web de câmeras IP, NAS, impressoras e outros dispositivos,
executar WebSockets, APIs REST, MQTT e SSH diretamente,
tudo como se estivesse fisicamente no Wi-Fi de casa.
E a rota foi ativada no painel de administração da Tailscale.
Porque o Quick Tunnel expõe somente um serviço HTTP.
Já a Tailscale, com Subnet Routing, expõe:
toda a LAN,
todos os ESP32,
todos os serviços TCP/UDP,
de forma privada e criptografada.
É literalmente transformar a rede da sua casa/escritório em uma rede acessível de qualquer lugar — sem abrir portas, sem DDNS, sem riscos.
Ao contrário do Cloudflare Tunnel, que é orientado a HTTP/HTTPS, a Tailscale:
aceita WebSocket (WS/WSS),
aceita TCP puro,
aceita UDP,
aceita MQTT,
aceita gRPC,
permite SSH diretamente,
permite VNC, RDP, RustDesk, SFTP e qualquer serviço de rede.
Isso é essencial para projetos ESP32, data loggers, servidores locais, automação residencial e integrações mais avançadas.
Todos os dispositivos da Tailnet devem ser autenticados individualmente.
Não existe acesso público, portas expostas, scanning externo ou URLs abertas.
É uma arquitetura de Zero Trust, herdada do WireGuard e dos modelos modernos de VPN.
A Tailscale não substitui o Cloudflare Tunnel — ela atua em outro nível.
Recurso | Cloudflare Tunnel | Tailscale |
Expor um serviço HTTP publicamente | ✔ | (não é o foco) |
Acessar LAN inteira (192.168.x.x) | ✘ | ✔ Subnet Routing |
WebSocket / MQTT / SSH / TCP | parcial | ✔ total |
VPN P2P privada | ✘ | ✔ |
Exit Node | ✘ | ✔ |
MagicDNS | ✘ | ✔ |
Device Sharing | ✘ | ✔ |
Acesso do celular no 4G como se estivesse no Wi-Fi | ✘ | ✔ |
Se seu objetivo é acesso remoto amplo, privado e seguro a múltiplos dispositivos IoT, a Tailscale é muito mais completa.
Neste artigo mostramos uma segunda forma — mais ampla e poderosa — de acessar o Hub ESP32 e os dispositivos da sua rede local de qualquer lugar do mundo.
Enquanto o Cloudflare Quick Tunnel apresentado no artigo anterior permite publicar um serviço HTTP de forma prática e sem abrir portas no roteador, a abordagem com Tailscale vai muito além: ela cria uma rede privada virtual completa, onde todos os seus computadores, celulares e servidores podem se comunicar como se estivessem no mesmo ambiente físico.
Com a Tailscale:
o Raspberry Pi que hospeda o Hub passa a ter um IP privado estável da Tailnet;
o celular, mesmo no 4G, consegue acessar o Hub como se estivesse no Wi-Fi de casa;
e com o Subnet Routing, é possível acessar todos os ESP32 da LAN diretamente pelos seus IPs, incluindo WebSocket, APIs, dashboards e interfaces HTML.
Tudo isso acontece sem expor portas, sem DDNS, sem depender de IP público, e com o tráfego sempre criptografado pelo WireGuard.
Além disso, recursos como MagicDNS, Device Sharing, Exit Nodes e a comunicação peer-to-peer tornam a Tailnet uma solução extremamente flexível para qualquer projeto envolvendo IoT, clusters caseiros, servidores locais, automação e desenvolvimento.
No final, a grande vantagem é a liberdade de escolher como acessar seus dispositivos:
Via Quick Tunnel, quando você quiser publicar um serviço HTTP específico para outras pessoas acessarem.
Via Tailscale, quando quiser um ambiente completamente privado, seguro e com acesso total à sua rede local, sem abrir portas e sem expor nada à internet pública.
Para quem trabalha com ESP32, automação residencial, energia, monitoramento ou qualquer aplicação crítica em rede local, a combinação desses dois recursos oferece o melhor dos dois mundos.
Se você já possui o Hub ESP32 funcionando no Raspberry Pi, agora também pode acessá-lo — e acessar todos os ESP32 da LAN — em qualquer lugar do mundo, com a mesma fluidez e estabilidade como se estivesse no seu laboratório ou escritório.
|
|
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!