Files
network-documentation/servidores/pegaprox

PegaProx — Panel de Gestión Multi-Nodo

LXC: TYAN VMID 123
IP: 192.168.10.125
URL: https://192.168.10.125:5000
Versión: v1.1.1 (release estable, checkout por tag)
Estado: ✅ running


Descripción

Panel web para el control y administración centralizada de los 3 nodos Proxmox (TYAN, Cisco1, DellT430-2) sin necesidad de cluster Proxmox. Proporciona métricas en vivo, gestión de VMs/LXC, snapshots programados, backups, alertas, RBAC y auditoría.

Infraestructura

Parámetro Valor
Nodo TYAN (192.168.10.3)
VMID 123
Tipo LXC (unprivileged)
OS Ubuntu 24.04
CPU 4 cores
RAM 4 GB
Disco 40 GB (local-lvm)
IP 192.168.10.125/24
Instalación Git tag v1.1.1 en /opt/PegaProx + venv + deploy.sh --no-interactive
Servicio systemctl status pegaprox (systemd, autostart)
Puertos 5000 (Web), 5001 (VNC WebSocket), 5002 (SSH WebSocket)

Acceso

Método Detalle
Web UI (LAN) https://192.168.10.125:5000 ya no disponible (modo reverse proxy)
Web UI (exterior) https://pegaprox.consultoria-as.com — vía Cloudflare Tunnel (acceso único)
Admin usuario admin / Aasi940812
SSH ssh root@192.168.10.125 (password: Aasi940812)

Túnel Cloudflare

Parámetro Valor
Conector cloudflared 2026.9.1 (repo pkg.cloudflare.com, Ubuntu 24.04)
Servicio systemctl status cloudflared (token-managed, /etc/cloudflared/token)
Protocolo http2 forzado via override systemd (/etc/systemd/system/cloudflared.service.d/override.conf) — QUIC a region2 falló en el precheck
Origen Dashboard Zero Trust → Public hostname → Type HTTP, Service http://localhost:5000

Troubleshooting del montaje (Sept 2026):

  1. Token del conector con "Invalid tunnel secret" → el token se había copiado mal/regenerado; pedirlo fresco del dashboard.
  2. Error 1016/530 → el registro DNS viejo pegaprox bloqueaba el public hostname; se borró y el túnel recreó el CNAME.
  3. Error 502 con x509 → Type HTTPS contra un origen con cert autofirmado.
  4. Error 502 con connection reset → Type HTTPS contra PegaProx en modo reverse proxy (HTTP plano); el Type correcto es HTTP.
  5. Consolas sin conectar por túnel → activado modo reverse proxy; el frontend enruta los WS por el puerto principal.

Modo Reverse Proxy (consolas habilitadas)

PegaProx corre detrás de proxy (PEGAPROX_BEHIND_PROXY=true en /etc/systemd/system/pegaprox.service.d/override.conf):

  • Sirve HTTP plano en 127.0.0.1:5000 (el TLS lo termina Cloudflare en el borde)
  • Las consolas (VNC de VMs, terminal de LXC/nodos) se enrutan por el mismo hostname/puerto — no se necesitan public hostnames extra para 5001/5002
  • ⚠️ El acceso directo LAN https://192.168.10.125:5000 ya no funciona (bind solo loopback, sin TLS). El acceso es siempre por https://pegaprox.consultoria-as.com
  • Verificado por API: GET /api/health → 200, y el endpoint WS de consola responde 401 sin token (llega al backend, no 502)

Nodos Conectados (root@pam para pruebas)

Cluster Host Guests visibles
TYAN 192.168.10.3 14 (todos running)
Cisco1 192.168.10.185 16 (12 running)
DellT430-2 192.168.10.187 9 (todos running)

Nota: PegaProx auto-creó un API token para root@pam en cada nodo Proxmox (feature #110). Para producción, considerar crear un usuario PVE dedicado con roles limitados (PVEVMAdmin, PVEDatastoreAdmin, PVESysAdmin) en lugar de root.

Seguridad (pendiente de endurecer)

  • Activar 2FA (TOTP) en la cuenta admin (Settings → Security)
  • Exposición externa via Cloudflare Tunnel (sin puertos abiertos)
  • Activar Cloudflare Access (zero-trust con 2FA) sobre el hostname pegaprox.consultoria-as.com antes de uso en producción
  • Cambiar de root@pam a usuario PVE con permisos limitados al terminar las pruebas
  • La DB está encriptada (SQLCipher); master key en /etc/pegaprox/secret.key (respaldarla)

Actualizaciones

cd /opt/PegaProx
# verificar el tag estable antes de actualizar
git fetch --tags && git tag -l | sort -V | tail -5

O desde la UI: Settings → Updates → Check for Updates.


Documentación de PegaProx - Consultoria-AS
Actualizado: 19 Septiembre 2026