Skip to content

Network map

LAN única 192.168.0.0/24. Sin VLANs por ahora (homelab plano). DNS interno resuelto por Pi-hole con override address=/monxas.casa/192.168.0.250 que manda todo *.monxas.casa al VIP keepalived servido por Caddy LXC 270/271 (post-F4.f, desde 2026-05-20).

Topología L3

graph TB
    WAN[Internet WAN]
    ROUTER[ASUS TUF-AX6000
192.168.0.1
Gateway, NAT, DHCP] PIHOLE[Pi-hole DNS
192.168.0.204] subgraph Cluster["Cluster Proxmox"] PMX50[pmx-50
.50] PMX51[pmx-51
.51] VIP{{VIP keepalived
.250}} end NAS[NAS F4-423
.20] TV[LG TV
.227] TVGW[tv-gw LXC
.210] CLIENTS[Clientes LAN
Macs, móviles, IoT] WAN --> ROUTER ROUTER --> PIHOLE ROUTER --> PMX50 ROUTER --> PMX51 ROUTER --> NAS ROUTER --> CLIENTS PMX50 -.->|VRRP MASTER.-> VIP PMX51 -.->|VRRP BACKUP.-> VIP TVGW --> TV CLIENTS -->|DNS queries| PIHOLE style PIHOLE fill:#74c0fc style VIP fill:#ff6b6b,color:#fff style NAS fill:#ffd43b

IPs reservadas (estáticas)

Verificado en vivo 2026-08-01 (pvesh get .../config por LXC/VM). Esquema de bloques cerrado tras el proyecto de renumeración (Oleadas 1-4, cerrado 2026-07-31): .1 gateway · .2-.9 libre (era UniFi, devuelto 2026-08-09) · .10-.19 hipervisores · .20-.29 almacenamiento · .30-.49 proxy · .100-.199 DHCP dinámico+IoT · .200-.229 servidores · .230-.249 reserva · .250-.254 VIP.

IP Host Rol
.1 ASUS TUF-AX6000 Gateway, NAT, DHCP (.100-.199) — router principal, no Movistar
.20 NAS TerraMaster nas.lan NFS exports, SMART telemetry (movido de .237)
.22 LXC 186 pbs Proxmox Backup Server (movido de .186)
.40 LXC 270 caddy-primary Caddy HA MASTER (movido de .247)
.41 LXC 271 caddy-secondary Caddy HA BACKUP (movido de .248)
.50 pmx-50 Proxmox nodo Ryzen
.51 pmx-51 Proxmox nodo Celeron
.141 bazzite.lan (GPU box) RTX 3080 10GB, Bazzite OS (Linux) — SillyTavern/koboldcpp para rol.monxas.casa, wake-on-demand + integración MQTT/HA
.171 VM 171 homeassistant Home Assistant
.200 LXC 200 n8n n8n + alert forwarder
.201 LXC 172 ha-ml ML arrival predictor (movido de .172)
.202 LXC 251 rag RAG offline + Kiwix (movido de .188)
.203 CT 100 clawdbot OpenClaw AI assistant, Telegram @Veraclawd_bot (movido de .245)
.204 Pi-hole DNS interno + sinkhole
.205 CT 280 rp-server Remote-Pulse server (movido de .196)
.206 LXC 155 wireguard VPN (movido de .155)
.207 LXC 123 cloudflared Cloudflare Tunnel daemon
.208 VM 208 ubuntu-media-server Docker hub, backends, observability
.210 LXC 110 tv-gw L3 gateway LG TV monitoring
.211 CT 281 wp-pulse-host Host WordPress Pulse
.227 LG TV Monitorizada vía tv-gw (IP no re-verificada esta sesión)
.250 VIP keepalived Ingress unificado (post-F4)

ℹ️ .141 resuelto: la caja responde a ping pero no a :11434/:5001 ahora mismo — normal, es wake-on-demand (los servicios GPU solo se despiertan al entrar a rol.monxas.casa, y "modo juego" los para para liberar VRAM). Es bazzite (Bazzite OS, Linux), no la "Casa Brain" Windows+WSL2+Ollama que describía una versión antigua de este doc — ese rol parece haber sido reemplazado por completo cuando la máquina pasó a Linux. La caja Windows+WSL2 con RTX 3080 que sí sigue viva para AI Tagger es una máquina distinta, en .127 (DHCP, "sobremesa").

Rango DHCP dinámico confirmado en vivo: .100-.199 (nvram get dhcp_start/dhcp_end en el router). Reservas estáticas se configuran en el container/VM directamente (cloud-init o /etc/network/interfaces), no en el router. CT 102 iarq-backup-target, LXC 101 (hermesbot), LXC 249 (beszel) y LXC 250 (kiwix) están DESTRUIDOS — no aparecen en pvesh get /cluster/resources, se han quitado de este mapa.

DNS

  • Resolver primario LAN: Pi-hole .204 (DHCP option 6).
  • Override *.monxas.casa: dnsmasq config en Pi-hole:
    address=/monxas.casa/192.168.0.250
    
    Apunta al VIP keepalived servido por Caddy LXC 270/271 (post-F4.f 2026-05-20).
  • Cloudflare DNS: registro wildcard *.monxas.casa apunta al CF Tunnel (<tunnel-uuid>.cfargotunnel.com). Resuelve externo cuando se accede desde fuera de casa. Desde LAN, Pi-hole intercepta antes de salir a CF.
  • Hostnames internos .lan: SÍ configurados (verificado 2026-08-01, dig @192.168.0.204 pmx-50.lan192.168.0.50). Estilo de casa: DNS-first, preferir .lan sobre IP cruda. Confirmados en vivo: pmx-50.lan, pmx-51.lan, nas.lan, ha.lan, cloudkey.lan, switch.lan, ap.lan, caddy1.lan/caddy2.lan, n8n.lan, pihole.lan, tv-gw.lan, ha-ml.lan (y más). Para acceso interno usar .lan cuando exista, si no *.monxas.casa (override Pi-hole → VIP .250) o la IP directa.

Ingress externo

sequenceDiagram
    participant U as Usuario
    participant CF as Cloudflare
    participant CFD as cloudflared LXC 123
    participant VIP as VIP .250
    participant CADDY as Caddy LXC 270/271
    participant APP as Backend (VM 208)

    U->>CF: HTTPS grafana.monxas.casa
    CF->>CF: CF Access SSO check
    CF->>CFD: Tunnel forward
    CFD->>VIP: HTTPS :443
    VIP->>CADDY: Routed by keepalived
    CADDY->>CADDY: managed.caddy match host
    CADDY->>APP: proxy_pass 192.168.0.208:3030
    APP-->>U: Response

VPN

  • WireGuard en LXC 155 (pmx-51), LAN IP 192.168.0.206 (movido de .155). Acceso remoto a LAN cuando CF Access no basta (e.g. SSH directo a nodos, acceso a apps LAN-only como docs.home.monxas.casa).
  • Subnet WG: 10.0.0.0/24 (server 10.0.0.1; peers .2/.3; full-tunnel NAT vía eth0).

Cosas que NO existen (intencional)

  • Sin VLANs (red plana 192.168.0.0/24).
  • Sin firewall L7 interno (pfSense/OPNsense). El router ASUS TUF-AX6000 hace NAT y nada más (Movistar sigue siendo el ISP, pero ya no aporta el router — ver nota arriba).
  • Sin IPv6 (CF Tunnel maneja la dual-stack externa).
  • Sin DNS público propio (CF gestiona la zona monxas.casa).