Network reference¶
Datos canónicos de red. Para diagramas y flujos, ver Architecture → Network map.
Subnet¶
- LAN:
192.168.0.XXX/24 - Gateway:
192.168.0.XXX(router Movistar R2) - DHCP range:
192.168.0.XXX — 192.168.0.XXX(clientes dinámicos) - Reservas estáticas:
192.168.0.XXX — 99y192.168.0.XXX — 254 - Broadcast:
192.168.0.XXX
Hosts críticos¶
| IP | Host | Servicio principal |
|---|---|---|
| 192.168.0.XXX | Router Movistar R2 | Gateway WAN, NAT, DHCP |
| 192.168.0.XXX | pmx-50 |
Proxmox nodo Ryzen |
| 192.168.0.XXX | pmx-51 |
Proxmox nodo Celeron |
| 192.168.0.XXX | LXC 101 hermesbot |
Hermes agent |
| 192.168.0.XXX | VM 171 | Home Assistant |
| 192.168.0.XXX | LXC 172 | ha-ml |
| 192.168.0.XXX | LXC 186 | Proxmox Backup Server |
| 192.168.0.XXX | LXC 251 | RAG + Kiwix |
| 192.168.0.XXX | LXC 200 | n8n + alert forwarder |
| 192.168.0.XXX | Raspi | Pi-hole DNS |
| 192.168.0.XXX | VM 208 | Docker hub (Caddy + obs + apps) |
| 192.168.0.XXX | LXC 110 | tv-gw (LG TV monitoring) |
| 192.168.0.XXX | — | LG TV (monitorizada vía tv-gw) |
| 192.168.0.XXX | — | NAS TerraMaster F4-423 |
| 192.168.0.XXX | LXC 270 | Caddy primary |
| 192.168.0.XXX | LXC 271 | Caddy secondary |
| 192.168.0.XXX | VIP | keepalived ingress unificado |
DNS¶
Pi-hole (.204)¶
- Primary DNS para toda la LAN (vía DHCP option 6).
- Sinkhole de listas estándar (StevenBlack hosts, etc.).
- Override
monxas.casaen dnsmasq config:address=/monxas.casa/192.168.0.XXX # pre-F4 address=/monxas.casa/192.168.0.XXX # post-F4 (VIP)Esto manda cualquier subdominio*.monxas.casaa la IP local del ingress, evitando el round-trip a CF cuando estamos en LAN.
Cloudflare¶
- Zona
monxas.casagestionada en CF. - Registro wildcard
*.monxas.casa(CNAME) →<tunnel-uuid>.cfargotunnel.com. - Vigente desde 2026-05-20: ya no hace falta crear DNS record por servicio nuevo.
- TTL: Automatic (CF managed).
Hostnames locales (no .casa)¶
Algunos hosts tienen entradas adicionales en /etc/hosts del Pi-hole:
192.168.0.XXX pmx-50 pmx-50.lan
192.168.0.XXX pmx-51 pmx-51.lan
192.168.0.XXX nas nas.lan
192.168.0.XXX mediasrv mediasrv.lan
VIPs¶
| VIP | keepalived priority | Backed by | Purpose |
|---|---|---|---|
| 192.168.0.XXX | MASTER 150, BACKUP 100 | LXC 270 (pmx-50) → LXC 271 (pmx-51) | Caddy HA ingress |
track_process caddy weight -20: si Caddy muere en MASTER, prioridad baja a
130 y BACKUP (100) sigue siendo BACKUP… mal. Ver keepalived.conf: en
realidad el weight se debe restar de la BACKUP para que el failover funcione,
o usar track_script con un check de TCP :443. Validar empíricamente
durante el Caddy failover drill.
CF Tunnel¶
- Tunnel UUID: gestionado en CF dashboard, credentials en
secrets/cloudflared.sops.yaml. - Daemon: LXC 123 (pmx-51),
cloudflaredservice. - Config:
/etc/cloudflared/config.yaml— generado porhomelab-ctl.py. - Ingress regla por defecto post-F4:
```yaml
ingress:
- hostname: "*.monxas.casa" service: https://192.168.0.XXX:443 originRequest: noTLSVerify: true # Caddy serve internal TLS
- service: http_status:404 ```
Puertos en el router¶
Solo CF Tunnel out (443 saliente). Cero port-forwards abiertos en WAN. Esto es feature, no bug:
- Toda exposición externa va por CF (DDoS protection, CF Access SSO).
- Si CF cae, todo lo externo cae — riesgo aceptado.
VPN (WireGuard)¶
- Server: LXC 155 (
pmx-51). - Listen port: 51820 UDP (sí, hay un solo port-forward UDP — único en el router).
- Subnet WG:
10.X.X.X/24(TBD confirmar). - Clientes: móviles + Macs cuando se viaja.
- Routing: full tunnel (todo el tráfico) o split (solo
192.168.0.XXX/24+*.monxas.casa).
Cosas que NO existen¶
- VLANs — red plana intencionalmente.
- IPv6 LAN — solo IPv4 internamente; CF maneja dual-stack externo.
- mDNS/Bonjour cross-subnet — irrelevante (un solo subnet).
- Multicast routing — keepalived usa VRRP en mismo subnet, no necesita.