Se você já montou um servidor doméstico com Jellyfin, Nextcloud, Immich ou qualquer outro serviço no seu Home Lab, provavelmente viveu o mesmo drama que eu. Depois de horas configurando Docker, ajustando volumes e organizando containers, vem a pergunta inevitável, como acessar tudo isso de fora de casa?
A resposta tradicional sempre foi abrir portas no roteador, configurar port forwarding e apontar um DDNS para o seu IP. Mas então surge um obstáculo moderno chamado CGNAT. Seu provedor simplesmente não entrega um IP público real, e todo o plano vai por água abaixo.
A boa notícia é que existe uma alternativa elegante, segura e extremamente poderosa. Com o Cloudflare Tunnel, você pode ter uma URL pública como meusite.com, acessar seus serviços remotamente e manter todas as portas do seu roteador fechadas. Isso muda completamente a forma como pensamos em Segurança em Home Lab.
Neste guia, vou misturar relato de experiência com instruções técnicas para mostrar como usar o Cloudflare Tunnel para ter acesso remoto sem abrir portas e ainda contornar as limitações do CGNAT.
O problema invisível chamado CGNAT
O CGNAT, sigla para Carrier-Grade NAT, é uma técnica usada por provedores para compartilhar um único IP público entre vários clientes.
Na prática, o IP que aparece no seu roteador não é realmente seu. Ele é privado dentro da rede do provedor. Isso significa que conexões vindas da internet simplesmente não conseguem chegar até você.
Mesmo que você configure encaminhamento de portas no roteador, o tráfego externo nunca alcança sua rede. É como tentar receber cartas em uma casa que não tem endereço exclusivo.
Para quem busca Como contornar CGNAT, a resposta não está em mexer no roteador, mas em mudar a direção da conexão.

Por que o encaminhamento de portas é um risco
Mesmo para quem tem IP público real, abrir portas como 80 e 443 expõe diretamente seu IP para a internet.
Isso traz alguns problemas sérios:
- Ataques de força bruta em serviços expostos
- Scanners automatizados buscando vulnerabilidades
- Exposição desnecessária do seu endereço IP
Em um Home Lab, muitas vezes rodamos serviços experimentais. Um erro de configuração pode significar invasão em poucas horas.
Com o Cloudflare Tunnel, a conexão é iniciada de dentro para fora. Nenhuma porta precisa estar aberta. Nenhum IP fica exposto diretamente.
O que é e como funciona o Cloudflare Tunnel
O Cloudflare Tunnel é um serviço da Cloudflare que cria um túnel seguro entre sua máquina local e a rede global deles.
Em vez de a internet tentar entrar na sua rede, é o seu servidor que estabelece uma conexão de saída permanente com a Cloudflare. Esse detalhe muda tudo.
Essa conexão é feita usando o agente chamado cloudflared. Ele mantém um canal criptografado ativo com a infraestrutura da Cloudflare. Quando alguém acessa seu domínio, o tráfego passa primeiro pela Cloudflare e depois é encaminhado pelo túnel até seu serviço local.
Resultado, você ganha:
- Domínio público com HTTPS automático
- Proteção contra DDoS
- Nenhuma porta aberta no roteador
Isso é Acesso remoto sem abrir portas na prática.
A mágica do cloudflared no Docker
No meu caso, eu já utilizava Docker para praticamente todos os serviços. Então fazia sentido rodar o cloudflared como mais um contêiner.
Um simples container passa a funcionar como ponte entre sua rede local e a rede da Cloudflare.
Ele se conecta à sua conta no Cloudflare Zero Trust, autentica o túnel e começa a encaminhar requisições para os serviços definidos no arquivo de configuração.
Isso significa que você pode rodar em:
- Raspberry Pi
- Mini PC com Linux
- Servidor doméstico com Ubuntu Server
- VM dentro de um hypervisor
Tudo sem depender de IP público.
Configurando o seu primeiro túnel
Vamos ao passo a passo conceitual. Não é complicado, mas exige atenção.
1. Criar conta e domínio
Você precisa ter um domínio adicionado à sua conta na Cloudflare. Pode ser um domínio próprio ou transferido para o DNS deles.
Depois, ative o Cloudflare Zero Trust no painel.
2. Instalar o agente cloudflared
Você pode instalar o cloudflared diretamente no sistema ou rodar via Docker.
Exemplo básico usando Docker Compose:
version: '3'services:cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel run
volumes:
- ./cloudflared:/etc/cloudflared
Após instalar, você autentica com:
cloudflared tunnel loginIsso abre um link para autorizar sua máquina na conta Cloudflare.
3. Criar e mapear o túnel
Depois da autenticação, crie o túnel:
cloudflared tunnel create homelabAgora vem a parte mais importante, o arquivo config.yml.
Exemplo de config.yml com múltiplos serviços
tunnel: <ID_DO_TUNEL>credentials-file: /etc/cloudflared/<ID_DO_TUNEL>.jsoningress:
- hostname: jellyfin.meusite.com
service: http://jellyfin:8096
- hostname: immich.meusite.com
service: http://immich:2283
- service: http_status:404
Nesse exemplo:
- jellyfin.meusite.com aponta para o container Jellyfin
- immich.meusite.com aponta para o Immich
- A última regra define fallback 404
Perceba que estamos usando nomes internos da rede Docker. O Cloudflare Tunnel apenas redireciona o tráfego.
Depois disso, basta rodar:
cloudflared tunnel run homelabPronto. Seus serviços já estão acessíveis externamente, com HTTPS automático.
Vantagens além do acesso remoto
A maior vantagem é clara, você resolve o problema de Como contornar CGNAT sem ligar para o provedor.
Mas os benefícios vão além.
SSL automático
A Cloudflare emite e gerencia certificados automaticamente. Você não precisa configurar Let’s Encrypt manualmente.
Proteção contra DDoS
Todo o tráfego passa pela infraestrutura da Cloudflare. Isso adiciona uma camada de proteção que seria impossível replicar em casa.
Autenticação adicional via Zero Trust
Você pode configurar políticas no Cloudflare Zero Trust para exigir:
- Login com e-mail
- Código OTP
- Integração com Google ou GitHub
Isso é extremamente útil para painéis administrativos. Mesmo que alguém descubra a URL, ainda precisará se autenticar antes de chegar ao serviço.
Em termos de Segurança em Home Lab, isso eleva o nível do seu laboratório doméstico para algo próximo ao ambiente corporativo.
Conclusão e considerações finais
Depois que comecei a usar o Cloudflare Tunnel, nunca mais voltei para DDNS tradicional com portas abertas.
Para a maioria dos entusiastas de Linux, usuários de Docker e donos de servidores domésticos, vale muito a pena. Especialmente para quem está preso atrás de CGNAT.
Claro, existe uma limitação importante. Você passa a depender de um terceiro, a Cloudflare. Se o serviço cair ou houver mudanças de política, seu acesso externo será impactado.
Ainda assim, o equilíbrio entre praticidade, segurança e simplicidade torna essa solução extremamente atraente.
Hoje, quando alguém pergunta como ter Acesso remoto sem abrir portas, minha resposta é direta, use Cloudflare Tunnel.