2

Acesso Remoto Seguro sem Abrir Portas no Roteador: Implementando Redes Mesh com Tailscale e WireGuard

Fala pessoal!

Quem já tentou acessar um servidor ou PC de casa enquanto estava fora (no 4G do celular ou na rede do trabalho) provavelmente já enfrentou o pesadelo do CGNAT (Carrier-Grade NAT).

A maioria das operadoras de internet no Brasil (Claro, Vivo, etc.) não entrega mais endereços IPv4 públicos para planos residenciais. Seu roteador fica escondido atrás de camadas de NAT da operadora, o que significa que o velho método de abrir portas no modem e usar DDNS (tipo No-IP ou DuckDNS) simplesmente não funciona mais.

E mesmo para quem tem IP público, abrir portas como 22 (SSH) ou 80/443 diretamente para a internet aberta é um risco enorme de segurança, atraindo bots de varredura o dia todo.

A forma mais elegante e moderna de resolver isso de uma vez por todas é usar redes em malha (Mesh VPN) com Tailscale e WireGuard.

Por que essa solução é tão boa?

  1. Fura o CGNAT nativamente: O Tailscale utiliza técnicas de NAT Traversal (STUN e DERP). Os dispositivos iniciam a conexão de dentro para fora, estabelecendo um túnel UDP direto ponto a ponto mesmo que ambos estejam atrás de firewalls restritivos.
  2. Zero portas abertas: Você não precisa tocar em nenhuma configuração do modem da operadora. Nenhuma porta é exposta na internet pública.
  3. Criptografia e Velocidade do WireGuard: Como o túnel é negociado diretamente de máquina para máquina pelo kernel do Linux, o throughput é praticamente o limite da sua conexão de internet, com latência imperceptível.
  4. MagicDNS: Cada aparelho ganha um IP fixo na faixa 100.x.y.z e um domínio interno amigável. Você conecta via ssh usuario@servidor-casa de qualquer lugar do mundo como se estivesse na mesma sala.

Escrevi o tutorial passo a passo de configuração e rotas de sub-rede lá no meu blog:

👉 Artigo Completo no Vexis Sentinel

Vocês ainda usam redirecionamento tradicional de portas e DDNS ou já migraram tudo para redes mesh e túneis como Tailscale e Cloudflare?

Carregando publicação patrocinada...
1

Imagina que alguém da família entra na tailnet só pra ver filme no Jellyfin. Sem perceber, o notebook dessa pessoa passa a enxergar tudo, de Proxmox e NAS até a LAN inteira pelo subnet router. E isso é o comportamento padrão: a política inicial da tailnet é um allow-all (* pra *).

O "zero portas abertas" protege da internet, mas dentro da tailnet quem decide é o policy file. Dá pra trocar a regra allow-all (as regras só somam permissão, então se o allow-all continuar lá, nada muda) por algo assim:

"grants": [
  {"src": ["autogroup:member"], "dst": ["autogroup:self"], "ip": ["*"]},
  {"src": ["group:admins"], "dst": ["tag:server"], "ip": ["tcp:22", "tcp:443"]}
]

Cada usuário acessa só os próprios aparelhos (se a pessoa entrar com a conta dela, não com a sua), e o que tem tag:server só aceita SSH e HTTPS de quem está em group:admins. Só precisa declarar o grupo em groups e a tag em tagOwners. O Jellyfin pode ganhar uma regra própria só pra porta 8096, e pra LAN atrás do subnet router a regra pode apontar só pro IP/CIDR necessário, não pra rede toda.

De quebra, quando o servidor já autentica com a tag, a expiração de chave (180 dias por padrão) vem desligada nele, e os notebooks continuam expirando.

Alguém aqui usa a seção tests do policy file pra barrar regra quebrada na hora de salvar, ou numa tailnet caseira não compensa?

1

Meus 2 cents,

Parabens pelo post !

Ainda uso OpenVPN em algumas situacoes (quando nao tenho suporte ao WireGuard) e IPSEC (para operacoes corporativas fim-a-fim, usando Fortigate ou apliances legacy).

Mas em instalacoes mais novas, o wireguard (ou seu derivado tailscale) sao opcoes melhores, com mais velocidade.

P.ex. o Mikrotik tem wireguard nativo, o que eh bem pratico para ligar matriz/ filial/ funcionarios home office.

Obrigado por compartilhar !

Saude e Sucesso !


Este post foi favoritado via extensão TABNEWS FAVORITOS

Tem curiosidade sobre IA ? Da uma olhada no meu LIVRO: IA PARA ENGENHEIROS

1

Só um detalhe sobre velocidade: quando os dois lados estão atrás de NAT mais chato, a conexão direta às vezes não fecha e o tráfego vai pelo relay DERP do próprio Tailscale. Continua funcionando, mas aí fica bem longe do limite da sua internet. O tailscale ping <maquina> mostra se a resposta veio direto ou via DERP, e o tailscale status também marca isso.

E no Linux o Tailscale usa o wireguard-go, em espaço de usuário, e não o WireGuard do kernel. É rápido do mesmo jeito, só não passa pelo kernel como tá no post.