feat: Grid Expansion (Batch 4), Security Hardening, and ADN Optimization

This commit is contained in:
Ricardo Monla
2026-02-16 23:27:22 -03:00
parent 0d05dac8f7
commit 07a5bbb6c9
17 changed files with 438 additions and 40 deletions
+51 -32
View File
@@ -1,44 +1,63 @@
# 00 - Bitácora del Proyecto: Optimización srv-NS8 # 00 - Bitácora del Proyecto: Optimización srv-NS8
Este documento registra la evolución, cambios y eventos significativos en el servidor `srv-NS8`. Este documento registra la evolución, cambios y eventos significativos en el servidor `srv-NS8` y nodos asociados.
> **Estados:** ✅ Completado | ⏳ En Proceso | 🧪 Verificado | ⚠️ Alerta | 📍 Definido > **Referencias:** ✅ Completado | ⏳ En Proceso | 🧪 Verificado | ⚠️ Alerta | 📍 Definido
## 2026-02-16 ## 2026-02-16
| Hora | E | Acción | Detalle | | Hora | Nodo | Detalle |
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- |
| 14:10 | ✅ | Optimización Dashboard | **Exitoso**. Reorganización de `homepage` en 3 columnas (Infra, Gestión, Apps) mediante ajuste de `settings.yaml`. Corrección de widgets Portainer (Auth) y Uptime Kuma (URL). | | 23:15 | Grid | 🔒 **Seguridad**: Hardening Completo. `PermitRootLogin no` en `srvv-SITIO` y `srvv-SITIO2`. |
| 13:00 | ✅ | Implementación Homepage | **Exitoso**. Despliegue de `gethomepage` en `servicios/homepage`. Integración con Proxmox API, Portainer y logs. Sustitución de página default Nginx por Dashboard dinámico. | | 23:05 | Grid | 🔒 **Seguridad**: Hardening aplicado. `PermitRootLogin no` en Proxmox Nodes. Clave SSH local protegida con Passphrase. |
| 22:45 | srvv-UPTIME | 🔧 **Mantenimiento**: Limpieza de Logs y Reducción de Historial. Uso de disco bajó de 86% a 77% (+350MB libres). |
| 22:35 | srvv-SITIO2 | ✅ **Expansión de Grid**: **Conexión Exitosa**. LXC Debian 12 (`10.0.10.19`). Acceso configurado vía `root`. Documentado en `adn/nodos/srvv-SITIO2.md`. |
| 22:30 | srvv-DATA | ✅ **Expansión de Grid**: **Conexión Exitosa**. LXC Debian 12 (`10.0.10.13`). Documentado en `adn/nodos/srvv-DATA.md`. |
| 22:30 | srvv-UPTIME | ⚠️ **Alerta**: **Disco 86% Lleno**. LXC Debian 12 (`10.0.10.9`). Documentado en `adn/nodos/srvv-UPTIME.md`. |
| 22:25 | srvv-KOHA | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian 11. Documentado en `adn/nodos/srvv-KOHA.md`. |
| 22:15 | srvv-DOCs | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian (`10.0.10.14`). Docker Host. Documentado en `adn/nodos/srvv-DOCs.md`. |
| 22:15 | srvv-DTIC | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Debian (`10.0.10.4`). Docker Host. Documentado en `adn/nodos/srvv-DTIC.md`. |
| 22:05 | srvv-SITIO0 | ✅ **Expansión de Grid**: **Conexión Exitosa** (Script `alta_nodo.sh`). VM Debian 12 (`10.0.10.119`). Docker detectado (requiere permisos de grupo para `rmonla`). Documentado en `adn/nodos/srvv-SITIO0.md`. |
| 21:55 | srvv-SITIO | ✅ **Expansión de Grid**: **Conexión Exitosa**. VM Ubuntu (`10.0.10.18`). Detectada IP Pública directa. Docker instalado pero sin contenedores activos. Documentado en `adn/nodos/srvv-SITIO.md`. |
| 21:50 | srv-pmox3 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Nodo de Alta Capacidad (64GB RAM). Aloja `srvv-FENIX` (32GB) y varios LXC. Documentado en `adn/nodos/srv-pmox3.md`. |
| 21:45 | srv-pmox2 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Servidor i5-6500 (16GB RAM). Aloja servicios `KOHA` y `DASU`. Documentado en `adn/nodos/srv-pmox2.md`. |
| 21:30 | srv-pmox1 | ✅ **Reversión SSL**: Se elimina certificado expirado y se reactiva `pve-ssl.pem` (Self-Signed). Acceso port 8006 recuperado (con advertencia de navegador). |
| 21:25 | srv-NS8 | ✅ **Actualización Protocolo**: Se define en `adn/02_protocolo.md` la estrategia de **Bitácora Centralizada** + **Documentación de Nodo** actualizada. |
| 21:10 | srv-pmox1 | ⚠️ **Diagnóstico SSL**: Se confirma que el nodo usa un certificado custom `/etc/pve/local/pveproxy-ssl.pem` (Let's Encrypt) que expiró el 21/12/2025. El certificado default (`pve-ssl.pem`) es válido hasta 2027 pero está ignorado. |
| 15:40 | srv-pmox1 | ⚠️ **Alerta de Recursos**: Se detecta **Sobreasignación de RAM**. VMs asignadas suman ~24GB sobre 16GB físicos. Riesgo de degradación por swapping/ballooning. |
| 15:35 | srv-pmox1 | ✅ **Documentación de Nodo**: Se crea `adn/nodos/srv-pmox1.md` detallando Specs (i5-6500, 16GB RAM) y Cargas de Trabajo (5 VMs activas). Se integra en `adn/01_ontologia.md`. |
| 15:30 | srv-pmox1 | ✅ **Expansión de Grid**: **Conexión Exitosa**. Se establece acceso SSH sin clave (`id_rsa`) al nodo `10.0.10.201`. Se recaba información de hardware y servicios. |
| 14:10 | srv-NS8 | ✅ **Optimización Dashboard**: **Exitoso**. Reorganización de `homepage` en 3 columnas (Infra, Gestión, Apps) mediante ajuste de `settings.yaml`. Corrección de widgets Portainer (Auth) y Uptime Kuma (URL). |
| 13:00 | srv-NS8 | ✅ **Implementación Homepage**: **Exitoso**. Despliegue de `gethomepage` en `servicios/homepage`. Integración con Proxmox API, Portainer y logs. Sustitución de página default Nginx por Dashboard dinámico. |
## 2026-02-15 ## 2026-02-15
| Hora | E | Acción | Detalle | | Hora | Nodo | Detalle |
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- |
| 21:55 | ✅ | Consolidación ADN | Se actualiza `01_ontologia.md` con la nueva arquitectura de acceso remoto (Tailscale + RustDesk) y manual de conexión. | | 21:55 | srv-NS8 | ✅ **Consolidación ADN**: Se actualiza `01_ontologia.md` con la nueva arquitectura de acceso remoto (Tailscale + RustDesk) y manual de conexión. |
| 21:35 | ✅ | Implementación Acceso Remoto | **Exitoso**. Se instala Tailscale (IP `100.88.252.26`) y se verifica RustDesk nativo. Se establece solución de doble capa (Red VPN + GUI). | | 21:35 | srv-NS8 | ✅ **Implementación Acceso Remoto**: **Exitoso**. Se instala Tailscale (IP `100.88.252.26`) y se verifica RustDesk nativo. Se establece solución de doble capa (Red VPN + GUI). |
| 20:50 | ✅ | Sincronización Inicial Repo | **Exitoso**. Se crea `.gitignore` para excluir datos volátiles y se realiza el primer commit masivo de ADN, Scripts y Servicios. | | 20:50 | srv-NS8 | ✅ **Sincronización Inicial Repo**: **Exitoso**. Se crea `.gitignore` para excluir datos volátiles y se realiza el primer commit masivo de ADN, Scripts y Servicios. |
## 2026-02-11 ## 2026-02-11
| Hora | E | Acción | Detalle | | Hora | Nodo | Detalle |
| :--- | :--- | :--- | :--- | | :--- | :--- | :--- |
| 23:25 | ✅ | Configuración SSL y Reverse Proxy | **Exitoso**. Certificado Let's Encrypt instalado para `ns8.frlr.utn.edu.ar`. Nginx configurado como Reverse Proxy para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (Puerto 443), eliminando la necesidad de exponer puertos inseguros. | | 23:25 | srv-NS8 | ✅ **Configuración SSL y Reverse Proxy**: **Exitoso**. Certificado Let's Encrypt instalado para `ns8.frlr.utn.edu.ar`. Nginx configurado como Reverse Proxy para servir `/portainer/`, `/sysacad/`, `/bitacoras/` bajo HTTPS (Puerto 443). |
| 23:15 | ✅ | Configuración Red Híbrida | **Exitoso**. Se ejecuta `configurar_red_hibrida.sh`. El servidor mantiene gateway `10.x` para salida, pero responde correctamente a la IP pública `190.x` mediante Policy Routing. Mecanismo de rollback verificado. | | 23:15 | srv-NS8 | ✅ **Configuración Red Híbrida**: **Exitoso**. Se ejecuta `configurar_red_hibrida.sh`. El servidor mantiene gateway `10.x` para salida, pero responde correctamente a la IP pública `190.x` mediante Policy Routing. |
| 23:10 | ✅ | Protocolo de Seguridad | Se incorpora la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md`, haciendo obligatorio el uso de mecanismos de reversión automática para cambios de red. | | 23:10 | srv-NS8 | ✅ **Protocolo de Seguridad**: Se incorpora la **Directiva 5: Protocolo de Seguridad de Red (Hombre Muerto)** en `adn/02_protocolo.md` (Reversión automática). |
| 23:00 | ✅ | Instalación Nginx Nativo | **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80) funcionando como Proxy Reverso para Portainer, Bitácoras y SysACAD. | | 23:00 | srv-NS8 | ✅ **Instalación Nginx Nativo**: **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80). |
| 22:55 | ✅ | Resolución Conflicto Puerto | Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. | | 22:55 | srv-NS8 | ✅ **Resolución Conflicto Puerto**: Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. |
| 22:50 | ✅ | Saneamiento y Simplificación | Se eliminan scripts de migración de IP complejos por riesgo innecesario. Se consolida `scripts/instalar_nginx_simple.sh` para instalación nativa sin alterar la red. | | 22:50 | srv-NS8 | ✅ **Saneamiento y Simplificación**: Se eliminan scripts de migración de IP complejos por riesgo innecesario. Se consolida `scripts/instalar_nginx_simple.sh`. |
| 22:45 | ✅ | Cambio de Estrategia: Nginx Nativo | Se decide eliminar el contenedor `proxy` (Docker) y reemplazarlo por **Nginx Nativo** en el host (`10.0.10.8`), manteniendo la configuración de red actual del servidor. | | 22:45 | srv-NS8 | ✅ **Cambio de Estrategia: Nginx Nativo**: Se decide eliminar el contenedor `proxy` (Docker) y reemplazarlo por **Nginx Nativo** en el host (`10.0.10.8`). |
| 22:15 | ✅ | Documentación de Red | Se detalla la **Topología de Red** en `adn/01_ontologia.md`. Se aclara el uso de `macvlan` para la IP pública `190.114.205.18` y la IP privada `10.0.10.8` para el host. | | 22:15 | srv-NS8 | ✅ **Documentación de Red**: Se detalla la **Topología de Red** en `adn/01_ontologia.md`. |
| 22:10 | ✅ | Mantenimiento | Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). Se descargan imágenes y se recrea el contenedor. | | 22:10 | srv-NS8 | ✅ **Mantenimiento**: Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). |
| 22:05 | ✅ | Documentación de Accesos | Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md` para facilitar la navegación a los servicios. | | 22:05 | srv-NS8 | ✅ **Documentación de Accesos**: Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md`. |
| 22:00 | ✅ | Reactivación de Servicios | Se levantan exitosamente `portainer`, `proxy` (tras corregir conflicto de red), `bitacoras` y `sysacad`. Todos los contenedores operativos y limitados en recursos. | | 22:00 | srv-NS8 | ✅ **Reactivación de Servicios**: Se levantan exitosamente `portainer`, `proxy`, `bitacoras` y `sysacad`. |
| 21:50 | 🧪 | Validación de Servicios | Se ejecutan pruebas de configuración (`docker compose config`) exitosas para todos los servicios migrados. Límites de memoria confirmados correctos. | | 21:50 | srv-NS8 | 🧪 **Validación de Servicios**: Pruebas de configuración (`docker compose config`) exitosas. Límites de memoria confirmados correctos. |
| 21:40 | ✅ | Optimización de Recursos | Se completa la migración de archivos (incluidos `.env` y ocultos). Se aplican límites de memoria RAM a los servicios Docker para proteger la VM. | | 21:40 | srv-NS8 | ✅ **Optimización de Recursos**: Se completa la migración de archivos e incluyen `.env`. Se aplican límites de memoria RAM a los servicios Docker. |
| 21:35 | ✅ | Centralización de Servicios | Se mueven las configuraciones de `portainer`, `bitacoras`, `sysacad` y `proxy` a `dtic-srv-NS8/servicios/`. Se ajusta contexto de build del proxy. Se crean referencias `LEEME_MIGRACION.md` en origen. | | 21:35 | srv-NS8 | ✅ **Centralización de Servicios**: Se mueven las configuraciones de servicios a `dtic-srv-NS8/servicios/`. |
| 21:22 | 📍 | Definición de Prioridades | Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. Se define el objetivo de **Optimizar** los servicios Docker (no solo reactivar). | | 21:22 | srv-NS8 | 📍 **Definición de Prioridades**: Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. |
| 21:15 | ✅ | Relevamiento Técnico | Se detectan redes Docker sin contenedores activos (`bitacoras`, `sysacad`, `portainer`). VM VirtualBox consume ~4GB RAM. | | 21:15 | srv-NS8 | ✅ **Relevamiento Técnico**: Se detectan redes Docker sin contenedores activos. VM VirtualBox consume ~4GB RAM. |
| 21:07 | ✅ | Protocolo de Armonía | Se incorpora la directiva de **Armonía y Auto-optimización** en `adn/02_protocolo.md`. | | 21:07 | srv-NS8 | ✅ **Protocolo de Armonía**: Se incorpora la directiva de **Armonía y Auto-optimización** en `adn/02_protocolo.md`. |
| 21:05 | ✅ | Establecimiento de Protocolo | Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. | | 21:05 | srv-NS8 | ✅ **Establecimiento de Protocolo**: Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. |
| 21:01 | ✅ | Inicio del Relevamiento | Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. | | 21:01 | srv-NS8 | ✅ **Inicio del Relevamiento**: Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. |
+21
View File
@@ -10,6 +10,27 @@ Este documento define la identidad, propósito y componentes principales del ser
- **Kernel**: 6.1.0-28-amd64. - **Kernel**: 6.1.0-28-amd64.
- **Ubicación de Red**: `10.0.10.8/24`. - **Ubicación de Red**: `10.0.10.8/24`.
## Nodos de la Red (Grid)
- **srv-NS8** (Local): Workstation / Híbrido.
- **[srv-pmox1](nodos/srv-pmox1.md)** (`10.0.10.201`): Nodo Proxmox de Virtualización.
- **[srv-pmox2](nodos/srv-pmox2.md)** (`10.0.10.202`): Nodo Proxmox de Virtualización.
- **[srv-pmox3](nodos/srv-pmox3.md)** (`10.0.10.203`): Nodo Proxmox de Virtualización (High RAM).
- **[srvv-SITIO](nodos/srvv-SITIO.md)** (`10.0.10.18`): VM Ubuntu / Docker Host (IP Pública `190.114.205.20`).
- **[srvv-SITIO0](nodos/srvv-SITIO0.md)** (`10.0.10.119`): VM Debian 12 (`srvv-SCERO`).
- **[srvv-DTIC](nodos/srvv-DTIC.md)** (`10.0.10.4`): VM Debian 12 / Docker Host.
- **[srvv-DOCs](nodos/srvv-DOCs.md)** (`10.0.10.14`): VM Debian 12 / Docker Host.
- **[srvv-KOHA](nodos/srvv-KOHA.md)** (`10.0.10.130`): VM Debian 11 / Librería.
- **[srvv-UPTIME](nodos/srvv-UPTIME.md)** (`10.0.10.9`): LXC Debian 12 / Monitorización (⚠️ Disk 77%).
- **[srvv-DATA](nodos/srvv-DATA.md)** (`10.0.10.13`): LXC Debian 12 / Datos.
- **[srvv-SITIO2](nodos/srvv-SITIO2.md)** (`10.0.10.19`): LXC Debian 12 / Web Secundario (Acceso `root`).
- **[srvv-DNS](nodos/srvv-DNS.md)** (`10.0.10.2`): VM Debian 12 / Servidor DNS.
## Hardware ## Hardware
- **CPU**: AMD Ryzen (16 hilos). - **CPU**: AMD Ryzen (16 hilos).
- **RAM**: 15 GiB Total. - **RAM**: 15 GiB Total.
+13 -8
View File
@@ -21,14 +21,19 @@ Este documento establece las reglas fundamentales para la interacción, document
- **Consistencia**: No deben existir discrepancias entre diferentes hebras (archivos `.md`). Si se actualiza una definición en `01_ontologia.md`, debe reflejarse en los protocolos y bitácoras correspondientes. - **Consistencia**: No deben existir discrepancias entre diferentes hebras (archivos `.md`). Si se actualiza una definición en `01_ontologia.md`, debe reflejarse en los protocolos y bitácoras correspondientes.
- **Auto-corrección**: Al detectar una inconsistencia, es prioritario resolverla para restaurar la armonía del sistema documental. - **Auto-corrección**: Al detectar una inconsistencia, es prioritario resolverla para restaurar la armonía del sistema documental.
## 4. Formato de Registro (Bitácoras) ## 4. Estructura de Registro (Centralizada)
- **Estructura**: Tablas separadas por fecha (H2 con fecha `YYYY-MM-DD`). - **Principio**: **Bitácora Única**.
- **Orden**: Descendente (lo más reciente arriba). - `adn/00_bitacora.md` es la **Fuente de Verdad Histórica** del Grid completo.
- **Columnas Obligatorias**: - Se prohíben bitácoras dispersas en archivos individuales.
- `Hora` (HH:MM) - **Formato**: Tabla Markdown con columnas: `| Hora | Nodo | Detalle |`.
- `E` (Estado/Icono) - **Hora**: `HH:MM` (Hora Local).
- `Acción` - **Nodo**: Hostname del equipo afectado (e.g. `srv-pmox1`, `srvv-SITIO`).
- `Detalle/Impacto` - **Detalle**: Descripción consisa. Uso de Emojis para estado visual (✅, ⚠️, ❌, 🔧).
## 5. Documentación de Nodos (Snapshots)
- **Ubicación**: `adn/nodos/<HOSTNAME>.md`.
- **Contenido**: Representa el **Estado Actual** (Snapshot) del nodo.
- **Actualización**: Solo se modifica cuando cambia la configuración o estado del nodo (no se usa como log histórico).
+37
View File
@@ -0,0 +1,37 @@
# Nodo: srv-pmox1
## Información General
- **Hostname**: `srv-pmox1`
- **IP**: `10.0.10.201`
- **Rol**: Nodo de Virtualización (Proxmox VE)
- **Versión PVE**: 8.2.2 (Kernel 6.8.4-3-pve)
- **Estado**: 🟢 Online
## Hardware
- **CPU**: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (4 Cores)
- **RAM**: 16 GB DDR4 (15Gi Total / ~13Gi Usados)
- **Almacenamiento**:
- `sda`: 447.1G (Sistema/VMs)
- `sdb`: 223.6G (Datos/Backups)
## Cargas de Trabajo (VMs)
| VMID | Nombre | Estado | Memoria (MB) | Disco (GB) |
| :--- | :--- | :--- | :--- | :--- |
| 101 | srvv-SITIO | Running | 5120 | 32.00 |
| 102 | srvv-SITIO0 | Running | 3072 | 50.00 |
| 103 | srvv-DTIC | Running | 8192 | 50.00 |
| 104 | srvv-DOCs | Running | 4096 | 50.00 |
| 112 | srvv-DNS | Running | 4096 | 10.00 |
## Análisis de Salud
- **⚠️ Sobreasignación de RAM**: La suma de la memoria asignada a las VMs activas (~24 GB) excede la memoria física del host (16 GB). El sistema depende fuertemente de KSM (Kernel Samepage Merging) o Ballooning, lo que podría degradar el rendimiento bajo carga.
## Estado SSL (Diagnóstico)
- **Dominio**: `pmox.frlr.utn.edu.ar`
- **Certificado**: Proxmox Default (Self-Signed)
- **Estado**: 🟢 **Activo** (Válido hasta Jun 2027).
- **Nota**: El navegador mostrará advertencia "Sitio No Seguro" al ser autofirmado, pero el servicio es accesible.
- **Historial**: Se revirtió el certificado expirado de Let's Encrypt el 16/02/2026 para recuperar acceso.
+24
View File
@@ -0,0 +1,24 @@
# Nodo: srv-pmox2
## Información General
- **Hostname**: `srv-pmox2`
- **IP**: `10.0.10.202`
- **Rol**: Nodo de Virtualización (Proxmox VE)
- **Estado**: 🟢 Online
## Hardware
- **CPU**: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz (4 Cores)
- **RAM**: 16 GB DDR4 (15Gi Total)
- **Almacenamiento**: (Pendiente de detalle fino)
## Cargas de Trabajo (VMs)
| VMID | Nombre | Estado | Memoria (MB) | Disco (GB) |
| :--- | :--- | :--- | :--- | :--- |
| 105 | srvv-KOHA | Running | 2048 | 32.00 |
| 108 | pcv-DASU2 | Running | 4096 | 50.00 |
| 109 | pcv-DASU3 | Running | 4080 | 50.00 |
| 110 | pcv-SERVIIO | Running | 4096 | 32.00 |
## Análisis de Salud
- **Uso de RAM**: ~14GB asignados de 16GB físicos. Cerca del límite, pero manejable.
+33
View File
@@ -0,0 +1,33 @@
# Nodo: srv-pmox3
## Información General
- **Hostname**: `srv-pmox3`
- **IP**: `10.0.10.203`
- **Rol**: Nodo de Virtualización (Proxmox VE)
- **Estado**: 🟢 Online
## Hardware
- **CPU**: AMD A10-9700 RADEON R7 (4 Cores + 6 GPU Cores)
- **RAM**: 64 GB DDR4 (61Gi Total / 41Gi Usados)
- **Almacenamiento**: (Pendiente de detalle fino)
## Cargas de Trabajo
### Máquinas Virtuales (VMs)
| VMID | Nombre | Estado | Memoria (MB) | Disco (GB) |
| :--- | :--- | :--- | :--- | :--- |
| 100 | docker | Stopped | 4096 | 10.00 |
| 111 | srvv-FENIX | Running | 32768 | 100.00 |
| 114 | srvv-N8N | Stopped | 4096 | 10.00 |
### Contenedores (LXC)
| VMID | Nombre | Estado |
| :--- | :--- | :--- |
| 106 | srvv-UPTIME | Running |
| 107 | srvv-DATA | Running |
| 113 | srvv-SITIO2 | Running |
| 115 | srvv-N8N | Stopped |
## Análisis de Salud
- **Carga Principal**: `srvv-FENIX` consume 32GB de RAM (50% del host).
- **Recursos**: Host holgado con ~20GB de RAM libres.
+18
View File
@@ -0,0 +1,18 @@
# Nodo: srvv-DATA
## Información General
- **Hostname**: `srvv-DATA`
- **IP**: `10.0.10.13`
- **Rol**: Base de Datos / Almacenamiento
- **Estado**: 🟢 Online
- **Tipo**: Contenedor LXC (Proxmox)
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Compartido LXC)
- **RAM**: 1 GB (1.0Gi Total)
- **Almacenamiento**: 4 GB (Root)
## Análisis de Salud
- **Uso de RAM**: Muy bajo (74Mi).
- **Disco**: 41% ocupado.
+24
View File
@@ -0,0 +1,24 @@
# Nodo: srvv-DNS
## Información General
- **Hostname**: `srvv-DNS`
- **IP**: `10.0.10.2`
- **Rol**: Servidor DNS (Presunto)
- **Estado**: 🟢 Online
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Virtual - KVM)
- **RAM**: 4 GB (3.8Gi Total)
- **Almacenamiento**: 10 GB (61% usado)
## Cargas de Trabajo
- **Servicios Detectados**:
- `bind9`: 🔴 Inactivo / No encontrado.
- `named`: 🔴 Inactivo / No encontrado.
- **Motor Docker**: Estado desconocido (no verificado).
## Análisis de Salud
- **Uso de RAM**: Bajo (500Mi usado).
- **Disco**: **61% Ocupado** (Base de 10GB).
- **Alerta**: El servicio DNS principal no parece estar corriendo vía Systemd. ¿Posible contenedor?
+22
View File
@@ -0,0 +1,22 @@
# Nodo: srvv-DOCs
## Información General
- **Hostname**: `srvv-DOCs`
- **IP**: `10.0.10.14`
- **Rol**: Docker Host / Documentación
- **Estado**: 🟢 Online
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Virtual - KVM)
- **RAM**: 4 GB (3.8Gi Total)
- **Almacenamiento**: 48 GB (17% usado)
## Cargas de Trabajo
- **Motor**: Docker (Instalado).
- **Acceso**: Requiere permisos `docker` para usuario `rmonla`.
- **Contenedores**: *No auditables actualmente.*
## Análisis de Salud
- **Uso de RAM**: ~1.2Gi de 3.8Gi.
- **Estado**: Operativo.
+22
View File
@@ -0,0 +1,22 @@
# Nodo: srvv-DTIC
## Información General
- **Hostname**: `srvv-DTIC`
- **IP**: `10.0.10.4`
- **Rol**: Docker Host / Servicios Internos
- **Estado**: 🟢 Online
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Virtual - KVM)
- **RAM**: 4 GB (3.8Gi Total)
- **Almacenamiento**: 48 GB (17% usado)
## Cargas de Trabajo
- **Motor**: Docker (Instalado).
- **Acceso**: Requiere permisos `docker` para usuario `rmonla`.
- **Contenedores**: *No auditables actualmente.*
## Análisis de Salud
- **Uso de RAM**: ~1.3Gi de 3.8Gi.
- **Estado**: Operativo.
+21
View File
@@ -0,0 +1,21 @@
# Nodo: srvv-KOHA
## Información General
- **Hostname**: `srvv-KOHA`
- **IP**: `10.0.10.130`
- **Rol**: VM / Librería
- **Estado**: 🟢 Online
- **OS**: Debian 11 (Bullseye)
## Hardware
- **CPU**: (Virtual - KVM)
- **RAM**: 2 GB (1.9Gi Total)
- **Almacenamiento**: 31 GB (23% usado)
## Cargas de Trabajo
- **Servicios**: Sistema de gestión de bibliotecas (Koha).
- **Motor Docker**: No detectado/verificado.
## Análisis de Salud
- **Uso de RAM**: ~44% (838Mi usado).
- **Disco**: 23% ocupado.
+23
View File
@@ -0,0 +1,23 @@
# Nodo: srvv-SITIO
## Información General
- **Hostname**: `srvv-SITIO`
- **IP Privada**: `10.0.10.18`
- **IP Pública**: `190.114.205.20`
- **Rol**: Servidor Web / Docker Host (VM en `srv-pmox1`)
- **Estado**: 🟢 Online
- **OS**: Ubuntu Linux
## Hardware (Virtual)
- **CPU**: Common KVM processor (Virtualizado)
- **RAM**: 4.8 GB Total (~900MB Usados)
- **Almacenamiento**: 32GB (Root)
## Cargas de Trabajo
- **Motor**: Docker (Instalado).
- **Contenedores Activos**: *Ninguno actualmente.*
## Análisis de Salud
- **Estado**: Ocioso/Disponible.
- **Notas**: Tiene asignada una IP pública directa. Posible candidato para migrar servicios web expuestos.
- **Acceso**: Configurado vía usuario `rmonla` (Root Deshabilitado).
+22
View File
@@ -0,0 +1,22 @@
# Nodo: srvv-SITIO0
## Información General
- **Hostname**: `srvv-SCERO`
- **IP**: `10.0.10.119`
- **Rol**: Servidor Web / Docker Host
- **Estado**: 🟢 Online
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Pendiente de validación - VM en Proxmox/KVM)
- **RAM**: 3 GB (2.9Gi Total)
- **Almacenamiento**: 48 GB (Root)
## Cargas de Trabajo
- **Motor**: Docker (Instalado).
- **Acceso**: El usuario `rmonla` requiere permisos `sudo` o grupo `docker` para listar contenedores.
- **Contenedores**: *No auditables actualmente sin privilegios.*
## Análisis de Salud
- **Uso de RAM**: ~760MB usados de 3GB. Holgado.
- **Disco**: 22% usado.
+23
View File
@@ -0,0 +1,23 @@
# Nodo: srvv-SITIO2
## Información General
- **Hostname**: `srvv-SITIO2`
- **IP**: `10.0.10.19`
- **Rol**: Servidor Web Secundario (LXC)
- **Estado**: 🟢 Online
- **Tipo**: Contenedor LXC (Proxmox)
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Compartido LXC)
- **RAM**: 2 GB (2.0Gi Total)
- **Almacenamiento**: 10 GB (16% usado)
## Cargas de Trabajo
- **Motor**: No se detectó Docker.
- **Servicios**: (Pendiente de despliegue).
## Análisis de Salud
- **Uso de RAM**: ~265Mi (Bajo).
- **Disco**: 16% ocupado. Espacio: 7.9G libre.
- **Acceso**: Configurado vía usuario `rmonla` (Root Deshabilitado).
+20
View File
@@ -0,0 +1,20 @@
# Nodo: srvv-UPTIME
## Información General
- **Hostname**: `srvv-UPTIME`
- **IP**: `10.0.10.9`
- **Rol**: Monitorización (Uptime Kuma)
- **Estado**: 🟢 Online
- **Tipo**: Contenedor LXC (Proxmox)
- **OS**: Debian 12 (Bookworm)
## Hardware
- **CPU**: (Compartido LXC)
- **RAM**: 1 GB (1.0Gi Total)
- **Almacenamiento**: 4 GB (Root)
## Análisis de Salud
- **⚠️ Alerta de Disco**: **77% Ocupado** (2.8G usados).
- *Mejora*: Bajó del 86% tras limpieza de logs (Feb 16).
- **Nota**: `kuma.db` sigue pesando 1.5GB.
- **Uso de RAM**: ~200Mi (Bajo).
+3
View File
@@ -0,0 +1,3 @@
```bash
mkdir -p ~/.ssh && echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvPSt/gxq2AujLe5IMdybgyTADQbdVKQsvJBmAIU1WKWDz/2Ak+PUXgDXQPxfKipjQhEvZ7NkBzdvGBKsHWZ0DrEc01rUtoUT+U3CdajPyTCW7ZGQgk0R+Vg/4vA/ywRKCRCCSEa7t5ZT0xCQe8B75Gw7MqRL56u9ltUQgLuFcFB5zgqoW9WcpvLGOXVOj8s6BttA0CH5slWBPkYwNpywK5XztHwYZDUzX4BARC+JgCGWeatKBGUvD5WenKgsmAMWr+j0wvdm6EZumHMrMoizIq53Ylnw12MlwUtKAaCNqk72vZ7PkBVaiZEZphFL0KZxCCFGdXB9qF9C1PCRcIogq8ooiGUn5DVcTotEKDA3U1bT3bpN+9soBOoRmnRoIhUtIMlsiM0p3HaiFZJERcsQeal8c0SnA3vzV+8GbEBffm4maVac3u9cr4/Qh9VExf4ecs+c6QDPxq0CQDBZH24r4o+jVpQPcRszTSVHGWAntbotmLc2FNVnX8jQ6EHYIqFv0kqUT4g03QpzTZfW4DyQnED/7jvscIhiXMl7gFqh9UpRIqjy5BGxkz16VkFB3Qs6oKyKpXpU/Rxq0cEVnB6wgAga1kbexaMVfl78Q0mVS/J0+MnfxBkb9eYJ7a52NbWRtFQKS+hnfW459lsKjZs9vn7uG6f6XSZmQYWBZZpRG1Q== rmonla@srvNS8" >> ~/.ssh/authorized_keys
```
+61
View File
@@ -0,0 +1,61 @@
#!/bin/bash
# Script: alta_nodo.sh
# Uso: ./scripts/alta_nodo.sh <IP> <HOSTNAME> [USUARIO]
# Descripción: Automatiza la configuración SSH local y el despliegue de claves al nuevo nodo.
IP=$1
NAME=$2
USER_SSH=${3:-rmonla} # Por defecto usa 'rmonla' si no se especifica
# Validar argumentos básicos
if [ -z "$IP" ] || [ -z "$NAME" ]; then
echo "❌ Error: Faltan argumentos."
echo "Uso correcto: ./scripts/alta_nodo.sh <IP> <HOSTNAME> [USUARIO]"
echo "Ejemplo: ./scripts/alta_nodo.sh 10.0.10.205 srv-pmox4 rmonla"
exit 1
fi
echo "--- Iniciando Alta de Nodo: $NAME ($IP) con Usuario: $USER_SSH ---"
# 1. Configurar SSH local (~/.ssh/config)
if grep -q "^Host $NAME$" ~/.ssh/config; then
echo "️ Host '$NAME' ya existe en ~/.ssh/config (Se asume configuración correcta)."
else
echo "🔧 Agregando '$NAME' a ~/.ssh/config..."
cat >> ~/.ssh/config <<EOF
Host $NAME
HostName $IP
User $USER_SSH
StrictHostKeyChecking no
EOF
fi
# 2. Verificar Conectividad
echo "📡 Verificando conexión (Ping)..."
ping -c 2 $IP > /dev/null
if [ $? -ne 0 ]; then
echo "⚠️ Alerta: No hay ping a $IP. Verifica la red."
else
echo "✅ Ping exitoso."
fi
# 3. Intentar instalación automática de clave (ssh-copy-id)
echo "🔑 Intentando instalar clave SSH automáticamente en $USER_SSH@$IP..."
ssh-copy-id -o ConnectTimeout=5 -i ~/.ssh/id_rsa.pub $USER_SSH@$IP 2>/dev/null
if [ $? -eq 0 ]; then
echo "✅ Clave instalada exitosamente via ssh-copy-id."
echo "🚀 Probando conexión SSH..."
ssh -o ConnectTimeout=5 $NAME "uptime"
else
echo "⚠️ No se pudo copiar la clave automáticamente."
echo "Probablemente necesites ingresar la contraseña de '$USER_SSH' si te la pide."
echo ""
echo "📋 SI FALLA, EJECUTA ESTO MANUALMENTE EN LA TERMINAL DEL NODO ($IP) con tu usuario:"
echo "-----------------------------------------------------------"
# Generamos el comando dinámicamente con la clave actual
PUBKEY=$(cat ~/.ssh/id_rsa.pub)
echo "mkdir -p ~/.ssh && echo \"$PUBKEY\" >> ~/.ssh/authorized_keys"
echo "-----------------------------------------------------------"
fi