rede-domestica/NETWORK.md
2026-06-17 02:50:42 -03:00

7.5 KiB
Raw Blame History

Contexto: Rede Doméstica do Ronaldo

Este arquivo dá contexto ao Claude Code sobre a infraestrutura de rede doméstica do Ronaldo (Fedora 44, KVM/libvirt, mesh Wi-Fi). Mantenha atualizado conforme a rede mudar.

Visão geral da topologia

Internet (fibra)
    │
    ▼
ZTE ZXHN F6645P (ONT da Claro)
    │  [modo BRIDGE — sem Wi-Fi, sem DHCP, apenas conversor óptico→Ethernet]
    ▼
Mesh Mercusys Halo H80X — Unidade SALA (router/DHCP/Wi-Fi principal)
    │
    ├─ Porta 1: ZTE (uplink/WAN)
    ├─ Porta 2: OrangePi PC (cabeado)
    ├─ Porta 3: Backhaul cabeado ──────────► Mesh Halo H80X — Unidade ESCRITÓRIO
    │                                              ├─ Porta 1: Backhaul (recebido)
    │                                              ├─ Porta 2: Laptop Fedora (cabeado)
    │                                              └─ Porta 3: spare/livre
    │
    └─ Wi-Fi: celulares (Ronaldo, Juliana, Roberto), TV da sala,
              2x Chromecast, Xbox (em teste — pode migrar para cabo
              via switch Gigabit adicional se a performance não for boa)

Notas da topologia

  • ZTE F6645P: ONT da Claro. Será colocado em modo bridge (função oficial da Claro, sem necessidade de desbloqueio/hack). Em bridge, perde Wi-Fi e DHCP próprios; só repassa o sinal da fibra como Ethernet puro por uma única porta.
  • Mesh Mercusys Halo H80X (kit com 2 unidades, Wi-Fi 6 AX3000, 3 portas Gigabit cada): assume 100% do roteamento, DHCP e Wi-Fi da casa após o bridge do ZTE. Tem Address Reservation nativo (DHCP Binding via app, em More → Advanced → Address Reservation) — diferente do ZTE da Claro, que não expõe essa opção na interface web.
  • Backhaul cabeado entre as duas unidades mesh (cabo já existente entre sala e escritório) — preferível ao backhaul wireless padrão, pois libera o espectro de rádio das duas unidades para os clientes em vez de gastar banda com a comunicação entre nós.
  • Xbox: testando primeiro via Wi-Fi (Wi-Fi 6, deve ser suficiente). Se a performance/latência não for boa, Ronaldo cogita comprar um switch Gigabit não-gerenciado para a sala, já que as 3 portas da unidade da sala estarão todas ocupadas (ZTE + OrangePi + backhaul). O switch permitiria conectar Xbox, TV e eventualmente um Wii, tudo cabeado.
  • TV da sala: permanece no Wi-Fi.

Inventário de dispositivos (IPs e MACs)

Estado atual (antes da mesh — IPs fixos via nmcli manual)

O ZTE F6645P da Claro não expõe DHCP Binding na interface web (limitação do firmware customizado pela operadora). Por isso, os dispositivos críticos têm IP fixo configurado manualmente no próprio SO (nmcli ... ipv4.method manual), fora da faixa DHCP dinâmica do roteador (192.168.0.2.50).

Dispositivo MAC IP fixo Método
fedora (Ethernet, br0) 30:24:A9:FB:C7:6F 192.168.0.60 nmcli manual (interface br0)
fedora (Wi-Fi) 22:90:26:F9:0D:6F 192.168.0.64 nmcli manual (CLARO_F76183)
orangepipc (end0) 02:81:49:3B:6E:5D 192.168.0.61 nmcli manual (Wired connection 1)
win11 (VM, KVM bridge) 52:54:00:D9:C3:41 192.168.0.62 IP estático configurado no Windows
sandbox (VM, KVM bridge) 52:54:00:F5:4F:0E 192.168.0.63 nmcli manual (Wired connection 1)

Gateway: 192.168.0.1 (ZTE). DNS: 1.1.1.1 / 1.0.0.1 (Cloudflare). Faixa DHCP dinâmica do ZTE: 192.168.0.2192.168.0.50 (lease time 12h / 43200s) — usada por celulares, Chromecasts, Xbox, TV, etc.

Plano para quando a mesh entrar

  • Migrar as reservas de IP para o Address Reservation nativo da mesh (DHCP Binding de verdade, via MAC).
  • Possivelmente reverter fedora e orangepi de IP manual (nmcli) para DHCP automático, já que a reserva da mesh garante o mesmo IP de qualquer forma — mais simples de manter.
  • win11 e sandbox (VMs no host Fedora, via bridge br0 do libvirt) também podem ser migradas para reserva via mesh.

Outras infraestruturas relevantes

VMs no host Fedora (KVM/libvirt)

  • Bridge br0 no host Fedora, ligada à interface física enp1s0 (substituiu a rede NAT default/virbr0 do libvirt).
  • win11: VM Windows 11, interface type='bridge' em br0, modelo e1000e.
  • sandbox: VM Linux (Fedora Server), interface type='bridge' em br0, modelo virtio. Tem Docker e Tailscale instalados.
  • Funções Fish criadas para gerenciar as VMs sem digitar virsh diretamente: win11start, win11stop, win11kill, sandboxstart, sandboxstop, sandboxkill (em ~/.config/fish/functions/). stop = shutdown gracioso; kill = virsh destroy (força bruta, só usar se a VM estiver travada).

Resolução de nomes (/etc/hosts no host Fedora)

mDNS (Avahi) entre Fedora e OrangePi não funciona de forma confiável nessa rede (diagnosticado: a query mDNS chega ao OrangePi via tcpdump, mas o Avahi dele não responde — causa raiz não 100% confirmada, suspeita de dependência anterior do Tailscale para essa resolução). Solução adotada: entradas estáticas em /etc/hosts:

192.168.0.60   fedora
192.168.0.61   orangepi
192.168.0.62   win11
192.168.0.63   sandbox
137.131.145.213   oracle
62.84.180.13   contabo

win11 resolve nome via NetBIOS/Samba (nmblookup) como alternativa — funciona nativamente pois é Windows. Para isso ser possível, foi necessário liberar ICMP no Firewall do Windows Defender dentro da VM (perfil de rede "Público" bloqueia ping por padrão).

Servidores remotos (fora da LAN)

Nome IP Observação
oracle 137.131.145.213 Responde ping normalmente.
contabo 62.84.180.13 Ping bloqueado por padrão pelo Contabo Firewall (firewall de borda, separado do ufw interno da VPS). Foi liberado via painel de controle da Contabo (regra de Inbound ICMP).

Firewall do host Fedora (firewalld)

  • Zona ativa: FedoraWorkstation, aplicada às interfaces wlp0s20f3, br0, enp1s0.
  • Serviço mdns foi adicionado a essa zona (firewall-cmd --add-service=mdns --permanent) durante o diagnóstico de mDNS — mantido, mesmo que o mDNS para o OrangePi não tenha funcionado por outro motivo.
  • Outros serviços liberados na zona: dhcpv6-client, samba, samba-client, ssh.

Coisas a evitar / lições aprendidas

  • Não usar virsh edit sem EDITOR=nano — o padrão é vim, que o Ronaldo não gosta de usar.
  • STP da bridge br0 demora a estabilizar (listening → learning → forwarding, ~15s por estágio) após qualquer mudança de configuração via nmcli. Um estado momentâneo de NO-CARRIER/state DOWN logo após mudar a bridge não é necessariamente um erro — pode só ser o STP em progresso. Verificar com bridge link show antes de assumir que algo quebrou.
  • Tailscale: removido do Fedora (host). Ainda presente no OrangePi e na VM sandbox. Avaliar se vale remover dos dois também por consistência.
  • Pretende-se criar um repositório GitHub para versionar este inventário (provavelmente como README.md + um CSV com a tabela de dispositivos), no lugar de (ou complementando) este arquivo.