−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS

VPS para Headscale: controle do Tailscale self-hosted

Rode o Headscale num VPS pequeno e mantenha sob o seu controle o servidor de coordenação da sua VPN mesh. Instalação, primeiro usuário, dispositivos e limites.

Uma VPN mesh é daquelas ferramentas que facilitam tudo sem chamar atenção: notebook, servidor de casa, celular e VPSs se enxergam em endereços privados, onde quer que estejam. O problema das VPNs mesh hospedadas é o servidor de coordenação: uma empresa guarda o mapa de todos os dispositivos que você tem. O Headscale é um substituto open source desse servidor de controle. Rode-o num VPS pequeno, continue usando os apps cliente normais, e o mapa é seu.

Como as peças se encaixam

Esse último ponto é o motivo de um plano minúsculo bastar: o VPS só responde a pequenas requisições de coordenação.

Do que você precisa

Instalação (Debian 12 / Ubuntu 24.04)

Baixe o .deb atual da página de releases do Headscale no GitHub, trocando a versão pela mais recente:

HS_VER=0.26.1
wget -O headscale.deb \
  "https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy

Edite /etc/headscale/config.yaml; as duas linhas que importam:

server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080

Coloque o Caddy na frente para o HTTPS:

cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy

Adicione um usuário e um dispositivo

headscale users create alice
headscale users list            # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h

Versões mais antigas pedem o nome do usuário em vez do ID em --user; headscale preauthkeys create --help mostra o que a sua espera.

Num dispositivo Linux:

tailscale up --login-server https://hs.example.com --authkey YOUR_KEY

Em celulares e desktops, o app do Tailscale permite definir um servidor de controle personalizado nas configurações. Rode headscale nodes list no VPS e o seu dispositivo deve aparecer.

Relays e travessia de NAT

A maioria dos dispositivos se conecta diretamente. Quando dois não conseguem (redes móveis restritivas, NAT duplo), o tráfego passa por um relay DERP. De fábrica, o Headscale usa os relays públicos do Tailscale, que só enxergam pacotes criptografados. Se você não quer nada externo no caminho, ative o relay embutido no config.yaml (derp.server.enabled: true) e abra a UDP 3478. O tráfego retransmitido passa então a contar na banda do seu VPS.

Limites honestos

Não há painel web oficial: usuários, chaves e rotas são comandos de CLI (tranquilo depois da segunda vez). Recursos mais novos do serviço hospedado chegam ao Headscale mais tarde, se chegarem. E o servidor de controle agora é responsabilidade sua: se ele cair, as conexões existentes continuam funcionando, mas novos dispositivos não entram e as chaves não se renovam. Faça backup: todo o estado fica em /var/lib/headscale.

Para um home lab, uma família ou uma equipe pequena que quer tirar o mapa de dispositivos de servidores de terceiros, é um dos melhores usos de um VPS de $8.

Relacionados

Pronto para implantar? Pague com cripto, sem KYC — online em cerca de um minuto.

Implantar agora →

FAQ

O que o servidor Headscale realmente vê?

Metadados: quais dispositivos existem, as chaves públicas deles, os endereços e quando estiveram online pela última vez. O tráfego em si passa diretamente entre os dispositivos via WireGuard (ou por um relay, se eles não se alcançam) e é criptografado de ponta a ponta. Hospedar por conta própria significa que esses metadados ficam no seu servidor, e não no de outra pessoa.

Preciso de clientes especiais?

Não. Você usa os apps normais do Tailscale no Linux, macOS, Windows, iOS e Android e os aponta para a URL do seu servidor. No Linux é uma flag só: --login-server.

Qual plano basta?

O Headscale é minúsculo: o Nano-IP ($8/mês) atende com folga uma família ou uma equipe pequena. Você precisa de um IP dedicado porque os dispositivos têm de alcançar o servidor de controle via HTTPS; um plano NAT não aceita a 443 de entrada.

E se dois dispositivos não conseguirem se conectar diretamente?

Eles recorrem a um relay (DERP). Por padrão, o Headscale usa os relays públicos do Tailscale, que só enxergam pacotes criptografados. Você pode ativar o relay embutido do Headscale; ele exige a UDP 3478 aberta e usa a banda do seu VPS para o tráfego retransmitido.

O que falta em relação ao serviço Tailscale hospedado?

Não há painel web oficial: você gerencia usuários e chaves pela linha de comando (existem interfaces da comunidade). Alguns recursos mais novos do serviço hospedado chegam ao Headscale mais tarde ou nunca. Para uma rede pessoal ou de equipe pequena, o essencial (mesh, ACLs, MagicDNS, exit nodes) funciona bem.

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.