Pular para o conteúdo
MÓDULO 2.4

🔗 Rede privada com Tailscale

Seu modelo roda numa máquina em casa — mas você quer usá-lo do café, do celular, do trabalho. A resposta não é abrir portas no roteador. É costurar todos os seus aparelhos numa rede privada criptografada com o Tailscale, como se estivessem na mesma sala. Este módulo monta essa rede de ponta a ponta.

6
Tópicos
~30
Minutos
Prático
Nível
Rede
Tipo

Conteúdo detalhado

1

🌐 O problema: usar seus modelos de qualquer lugar

O modelo está rodando lindamente — só que na máquina de casa. Você sai, e ele fica trancado atrás do seu roteador. O instinto errado é abrir uma porta no roteador (port-forward) e apontar pra internet. Isso põe seu PC exposto ao mundo inteiro: qualquer bot que varre a internet acha a porta aberta em minutos.

🆕 Novo aqui?

"Porta" é um número que identifica um serviço numa máquina (o Ollama atende na 11434). "Port-forward" é mandar o roteador encaminhar essa porta pra internet pública — cômodo, mas é abrir a janela da sua casa pra rua. "VPN" é um túnel criptografado que liga máquinas como se estivessem na mesma rede local.

✗ Abrir porta no roteador

  • Seu PC fica visível pra internet inteira
  • Bots varrem e tentam invadir a porta aberta
  • Depende de IP fixo / DNS dinâmico e configuração frágil
  • Sem criptografia ponta a ponta por padrão

✓ Rede privada (Tailscale)

  • Nenhuma porta exposta à internet pública
  • Só seus dispositivos logados enxergam o modelo
  • Funciona atrás de qualquer roteador, sem IP fixo
  • Tráfego criptografado de ponta a ponta
Modelo
preso em casa
Port-forward
= risco
Meta
acessar de fora
Caminho
rede privada
2

🕸️ O que é Tailscale

Tailscale é uma VPN mesh: em vez de todo mundo passar por um servidor central, cada dispositivo fala direto com os outros, num túnel criptografado. Você instala, faz login com a mesma conta em cada aparelho, e pronto — eles formam uma rede privada chamada tailnet, como se estivessem ligados no mesmo switch.

🆕 Novo aqui?

  • VPN mesh: rede em que cada par de dispositivos conversa ponto-a-ponto, sem um servidor no meio gargalando o tráfego.
  • WireGuard: o protocolo de túnel criptografado moderno e enxuto que o Tailscale usa por baixo — rápido e auditado.
  • tailnet: o nome da sua rede privada — o conjunto de todos os seus dispositivos logados na mesma conta.

🔑 A ideia central

Cada dispositivo na tailnet ganha um endereço fixo e estável na faixa 100.x.y.z. Esse IP funciona de qualquer lugar do mundo — em casa, no 4G, no Wi-Fi do café — sempre apontando para o mesmo aparelho, com tráfego criptografado.

  • Ponto-a-ponto: os dados vão direto entre seus aparelhos (WireGuard), sem desvio.
  • Zero config de rede: atravessa NAT e firewall sozinho; nada de abrir porta no roteador.
  • Identidade, não senha: você loga com sua conta (Google, GitHub...), e só seus dispositivos entram.
Laptop100.x.x.11 Celular100.x.x.12 Servidor100.x.x.13 PC + GPU100.x.x.14 modelo · Ollamaporta 11434 tailnet rede privada

Os quatro dispositivos (em azul) ficam interligados na mesma tailnet — linhas tracejadas mostram que a conversa é direta, peer-a-peer. O modelo (em ciano) roda no PC com GPU e, por estar na rede, qualquer aparelho logado o alcança pelo IP 100.x.

3

⚙️ Instalar e logar

Pôr um dispositivo na tailnet são três passos: instalar o cliente, subir o Tailscale e autenticar. Faça isso em cada máquina que você quer na rede (PC, servidor, laptop) — o celular usa o app da loja.

1

Instalar o cliente

Um único script cuida de Linux e macOS. No Windows, baixe o instalador em tailscale.com/download.

2

Subir e autenticar

tailscale up abre um link no navegador; você loga com sua conta (Google/GitHub/Microsoft) e o aparelho entra na tailnet.

3

Anotar o IP da tailnet

Cada máquina ganha um 100.x.y.z. Esse é o endereço que você vai usar pra alcançá-la de qualquer lugar.

⌨️ Exemplo prático: instalar e subir o Tailscale

Objetivo: colocar esta máquina (Linux/macOS) na sua rede privada. Cole no terminal, uma linha de cada vez.

# 1) instalar o cliente (Linux e macOS)
curl -fsSL https://tailscale.com/install.sh | sh
# 2) subir e autenticar (abre o login no navegador)
sudo tailscale up
# 3) descobrir o IP desta máquina na tailnet
tailscale ip -4

Como verificar: o tailscale ip -4 deve imprimir um endereço começando com 100. (ex.: 100.115.92.14). Rode tailscale status pra listar todos os seus dispositivos online — se eles aparecem, a tailnet está de pé.

💡 Dica prática

Numa máquina que fica sempre ligada (seu servidor/PC do modelo), use sudo tailscale up --ssh pra também poder entrar nela por SSH de qualquer lugar da tailnet — sem abrir porta nenhuma. E ligue a opção de chave que não expira no painel admin pra não precisar reautenticar esse host toda hora.

4

📡 Acessando o modelo pela rede

Por padrão, o Ollama só escuta em localhost — ou seja, só a própria máquina o enxerga. Pra outros dispositivos da tailnet chamarem o modelo, você manda o Ollama escutar em todas as interfaces com OLLAMA_HOST=0.0.0.0. Aí qualquer aparelho logado fala com ele pelo IP 100.x do host.

🎯 O fluxo, em duas máquinas

  • No host do modelo (PC + GPU): sobe o Ollama escutando na rede e descobre o IP 100.x dele.
  • No outro dispositivo (laptop): chama a API do Ollama nesse IP 100.x:11434 — como se o modelo estivesse rodando local.

⌨️ Exemplo prático: expor o Ollama na tailnet e chamar de outro device

Objetivo: rodar o modelo numa máquina e usá-lo de outra, pela rede privada.

# --- NO HOST DO MODELO (PC + GPU) ---
# fazer o Ollama escutar na rede, não só em localhost
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
# qual é o IP deste host na tailnet?
tailscale ip -4  # ex.: 100.115.92.14
# --- NO OUTRO DEVICE (laptop, já na tailnet) ---
# chamar o modelo pelo IP 100.x do host
curl http://100.115.92.14:11434/api/generate \
  -d '{"model":"llama3.2","prompt":"diga oi","stream":false}'

Como verificar: o curl do laptop deve voltar um JSON com o campo response preenchido. Se travar, confira: (a) o host respondeu ao tailscale status? (b) o firewall do host libera a porta 11434 na interface da tailnet? Um teste rápido: curl http://100.115.92.14:11434/api/tags deve listar os modelos instalados.

🔌 O pulo do gato

Com isso, qualquer ferramenta que fala com a API do Ollama (Open WebUI, scripts Python, seus agentes da Trilha 4) passa a apontar pro IP 100.x em vez de localhost — e funciona de onde você estiver. O modelo vira um serviço da sua rede privada.

localhost
só a máquina
0.0.0.0
escuta a rede
IP 100.x
endereço do host
:11434
porta do Ollama
5

📱 Do celular ao laptop

Aqui o truque fica concreto: instale o app Tailscale no celular (App Store / Play Store), logue com a mesma conta, e o telefone entra na tailnet. Agora, do 4G na rua, você abre uma interface de chat apontada pro IP 100.x de casa e conversa com o seu modelo — rodando na sua GPU, sem nuvem, sem porta aberta.

1

App no celular

Instale o Tailscale, ative a VPN e logue na mesma conta. O telefone ganha o próprio IP 100.x.

2

Aponte pro host de casa

No navegador do celular (ou num app de chat de LLM), use http://100.x.y.z:11434 — o IP do seu PC com GPU — ou a interface Open WebUI da Trilha 3 servida nele.

3

Use de qualquer lugar

Funciona no Wi-Fi do café, no 4G, na casa de um amigo. A tailnet te segue; o modelo continua em casa.

💡 Dica prática

Ative o MagicDNS no painel do Tailscale: em vez de decorar 100.115.92.14, você acessa o host por um nome amigável, tipo http://pc-gpu:11434. Mais fácil de lembrar e não muda se o IP mudar.

App
mesma conta
4G/Wi-Fi
tanto faz
Modelo
fica em casa
Você
em qualquer lugar
6

🛡️ Segurança e ACLs

A tailnet já é privada — mas dá pra apertar mais. O princípio é o menor privilégio: cada dispositivo só alcança o que precisa. Numa rede de poucos aparelhos seus isso importa pouco; quando você adicionar a máquina de um colega ou um servidor compartilhado, as ACLs viram essenciais.

🆕 Novo aqui?

  • MagicDNS: recurso que dá nomes (em vez de IPs) aos seus dispositivos dentro da tailnet — pc-gpu em vez de 100.x.y.z.
  • ACL (Access Control List): regras que dizem quem pode falar com quem na tailnet — ex.: "o celular pode chegar na porta 11434 do PC-GPU, e só nela".

⚠️ Alerta de segurança

  • Não exponha o Ollama à internet pública. OLLAMA_HOST=0.0.0.0 é seguro porque só a tailnet alcança a máquina — nunca combine isso com port-forward no roteador.
  • Menor privilégio sempre. Se compartilhar a tailnet com outra pessoa, use ACL pra liberar só a porta do modelo, não o aparelho inteiro.
  • O modelo não tem login. A API do Ollama não pede senha — sua única barreira é a rede. Mantenha a tailnet fechada ao que é seu.

✓ Boa higiene de rede

  • Acesso só pela tailnet, nada de porta no roteador
  • ACL liberando apenas a porta do modelo
  • MagicDNS pra nomes estáveis e legíveis
  • Revisar dispositivos no painel; remover o que não usa

✗ Receita de problema

  • Port-forward da 11434 pra internet pública
  • Tailnet aberta com acesso total entre todos
  • Convidar gente sem restringir por ACL
  • Achar que "0.0.0.0" basta sem entender quem escuta

⌨️ Exemplo prático: uma ACL de menor privilégio

Objetivo: deixar só seus dispositivos chegarem na porta 11434 do host do modelo. Edite no painel admin do Tailscale (Access controls).

{
  "acls": [
    {
      "action": "accept",
      "src": ["autogroup:member"],
      "dst": ["tag:modelo:11434"]
    }
  ]
}

Como verificar: marque o host do modelo com a tag modelo no painel; depois, de um device autorizado, o curl 100.x:11434/api/tags responde — e de um device fora da regra, a conexão é recusada. Menor privilégio na prática.

Auto-checagem (opcional): qual é a forma recomendada de acessar seu modelo local quando você está fora de casa?

Privilégio
o menor possível
ACL
quem fala com quem
MagicDNS
nomes, não IPs
Internet
nunca exposta

📌 Resumo do módulo

Não abra portas no roteador — port-forward expõe seu PC ao mundo; a saída é uma rede privada.
Tailscale = VPN mesh (WireGuard) — seus aparelhos formam a tailnet, cada um com um IP 100.x estável.
Expor o modelo é uma linha — OLLAMA_HOST=0.0.0.0 e chamar pelo IP 100.x de outro device.
Segurança = menor privilégio — ACLs e MagicDNS; nunca exposto à internet pública.

Próximo:

Trilha 3 — Instalação & Técnicas. Você concluiu a Trilha 2: hardware escolhido, base pronta e rede privada de pé. Agora é hora de instalar o primeiro modelo e dominar as técnicas.