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) |
ℹ️
.141resuelto: la caja responde a ping pero no a:11434/:5001ahora mismo — normal, es wake-on-demand (los servicios GPU solo se despiertan al entrar arol.monxas.casa, y "modo juego" los para para liberar VRAM). Esbazzite(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_enden el router). Reservas estáticas se configuran en el container/VM directamente (cloud-init o/etc/network/interfaces), no en el router. CT 102iarq-backup-target, LXC 101 (hermesbot), LXC 249 (beszel) y LXC 250 (kiwix) están DESTRUIDOS — no aparecen enpvesh 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: Apunta al VIP keepalived servido por Caddy LXC 270/271 (post-F4.f 2026-05-20). - Cloudflare DNS: registro wildcard
*.monxas.casaapunta 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.lan→192.168.0.50). Estilo de casa: DNS-first, preferir.lansobre 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.lancuando 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 IP192.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 comodocs.home.monxas.casa). - Subnet WG:
10.0.0.0/24(server10.0.0.1; peers.2/.3; full-tunnel NAT víaeth0).
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).