Na arquitetura moderna de TI, expor serviços internos diretamente à internet é um risco desnecessário. Utilizando o Headscale (uma alternativa open-source ao servidor de controle do Tailscale), integrado a uma infraestrutura orquestrada via Podman, é possível criar uma rede mesh isolada digna de operações enterprise, mas hospedada no seu próprio hardware.
O objetivo deste projeto foi simples, mas poderoso: construir a Raem Network. Uma malha fechada onde todos os serviços essenciais operam offline para o mundo externo, mas acessíveis de forma transparente para dispositivos autorizados.
“O verdadeiro poder da infraestrutura self-hosted não está em ter todas as portas abertas, mas em ter a chave certa para uma única porta invisível.”
A Arquitetura da Raem Network
O coração dessa operação roda no Raem OS Server, nossa distribuição customizada baseada no Debian 13 Trixie. Para garantir o isolamento, todos os serviços foram encapsulados em containers usando o Podman. O acesso externo foi orquestrado via uma VPS na Hetzner, conectada ao servidor local através de um túnel WireGuard seguro.
O Nginx Proxy Manager (NPM) da VPS foi configurado para expor apenas uma única interface pública: o subdomínio do Headscale. Qualquer outro serviço, registro DNS ou aplicação foi removido da exposição pública.
| Serviço / Ferramenta | Função na Arquitetura | Exposição |
|---|---|---|
| Headscale | Servidor de controle da VPN Mesh (Tailscale-compatible) | Público (Apenas para registro de nós) |
| Podman | Motor de containerização e orquestração isolada | Interno |
| Authentik | Identity and Access Management (IAM) e SSO via PostgreSQL/Redis | Malha (Via MagicDNS) |
| GLPI | Hardware Asset Management (HAM) e Service Desk | Malha (Via MagicDNS) |
Para mais aprofundamento sobre configurações de servidores Linux e ferramentas de DevOps, acompanhe as publicações em blog.raem.me.
Segurança Zero Trust e MagicDNS
Com o Headscale coordenando a rede, estabelecemos um modelo de segurança robusto. No momento, a malha conta com três nós principais: o próprio servidor Raem OS, meu desktop principal rodando Arch Linux e um laptop Dell (também com Arch Linux). Novos dispositivos só podem enxergar a rede após o registro formal via interface pública.
A navegação interna foi facilitada pelo MagicDNS. Isso significa que, se eu preciso acessar o GLPI para gerenciar meus ativos de hardware, não preciso decorar IPs internos. O Headscale resolve o nome do serviço diretamente dentro do túnel, e o Authentik garante que apenas meu usuário autenticado tenha permissão de entrada.
FAQ: Perguntas Frequentes
- Por que usar Headscale em vez do Tailscale oficial?
O Headscale permite que você seja o dono completo do seu painel de controle (control server), mantendo 100% da infraestrutura self-hosted sem limites artificiais de usuários ou nós. - Qual a vantagem do Podman sobre o Docker neste cenário?
O Podman possui uma arquitetura daemonless e roda containers rootless de forma nativa, elevando a segurança do servidor Debian, mitigando riscos caso um container seja comprometido. - Como o WireGuard interage com o Headscale?
O Headscale usa o protocolo WireGuard por baixo dos panos para criar a malha mesh criptografada ponto a ponto (peer-to-peer) entre seus dispositivos.
Criar uma rede mesh isolada devolve a você o controle total sobre os seus dados e a segurança da sua infraestrutura. O Headscale, junto com o ecossistema do Podman e Authentik, fornece todas as ferramentas necessárias para operar em nível enterprise. Se você quer dominar mais arquiteturas avançadas como essa, continue acompanhando as documentações completas no blog.raem.me.



