From 07a5bbb6c9dedd1d40d5573971e89e8b9e3bcf1e Mon Sep 17 00:00:00 2001 From: Ricardo Monla Date: Mon, 16 Feb 2026 23:27:22 -0300 Subject: [PATCH] feat: Grid Expansion (Batch 4), Security Hardening, and ADN Optimization --- adn/00_bitacora.md | 83 ++++++++++++++++++++++++---------------- adn/01_ontologia.md | 21 ++++++++++ adn/02_protocolo.md | 21 ++++++---- adn/nodos/srv-pmox1.md | 37 ++++++++++++++++++ adn/nodos/srv-pmox2.md | 24 ++++++++++++ adn/nodos/srv-pmox3.md | 33 ++++++++++++++++ adn/nodos/srvv-DATA.md | 18 +++++++++ adn/nodos/srvv-DNS.md | 24 ++++++++++++ adn/nodos/srvv-DOCs.md | 22 +++++++++++ adn/nodos/srvv-DTIC.md | 22 +++++++++++ adn/nodos/srvv-KOHA.md | 21 ++++++++++ adn/nodos/srvv-SITIO.md | 23 +++++++++++ adn/nodos/srvv-SITIO0.md | 22 +++++++++++ adn/nodos/srvv-SITIO2.md | 23 +++++++++++ adn/nodos/srvv-UPTIME.md | 20 ++++++++++ docs/cmd-sshRSA.md | 3 ++ scripts/alta_nodo.sh | 61 +++++++++++++++++++++++++++++ 17 files changed, 438 insertions(+), 40 deletions(-) create mode 100644 adn/nodos/srv-pmox1.md create mode 100644 adn/nodos/srv-pmox2.md create mode 100644 adn/nodos/srv-pmox3.md create mode 100644 adn/nodos/srvv-DATA.md create mode 100644 adn/nodos/srvv-DNS.md create mode 100644 adn/nodos/srvv-DOCs.md create mode 100644 adn/nodos/srvv-DTIC.md create mode 100644 adn/nodos/srvv-KOHA.md create mode 100644 adn/nodos/srvv-SITIO.md create mode 100644 adn/nodos/srvv-SITIO0.md create mode 100644 adn/nodos/srvv-SITIO2.md create mode 100644 adn/nodos/srvv-UPTIME.md create mode 100644 docs/cmd-sshRSA.md create mode 100755 scripts/alta_nodo.sh diff --git a/adn/00_bitacora.md b/adn/00_bitacora.md index 088b5989..4a2088e0 100644 --- a/adn/00_bitacora.md +++ b/adn/00_bitacora.md @@ -1,44 +1,63 @@ # 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 -| Hora | E | Acción | 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). | -| 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. | +| Hora | Nodo | Detalle | +| :--- | :--- | :--- | +| 23:15 | Grid | 🔒 **Seguridad**: Hardening Completo. `PermitRootLogin no` en `srvv-SITIO` y `srvv-SITIO2`. | +| 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 -| Hora | E | Acción | 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: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). | -| 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. | +| Hora | Nodo | Detalle | +| :--- | :--- | :--- | +| 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 | 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 | 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 -| Hora | E | Acción | 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: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: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: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. | -| 22:55 | ✅ | 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: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: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: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: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: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. | -| 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: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: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: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:15 | ✅ | Relevamiento Técnico | Se detectan redes Docker sin contenedores activos (`bitacoras`, `sysacad`, `portainer`). 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:05 | ✅ | 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`. | +| Hora | Nodo | Detalle | +| :--- | :--- | :--- | +| 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 | 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 | 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 | srv-NS8 | ✅ **Instalación Nginx Nativo**: **Completado**. El usuario ejecutó `instalar_nginx_simple.sh`. Nginx está activo en el Host (Puerto 80). | +| 22:55 | srv-NS8 | ✅ **Resolución Conflicto Puerto**: Se reconfigura SysACAD para usar puertos 8080/8443, liberando el puerto 80 del host. | +| 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 | 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 | srv-NS8 | ✅ **Documentación de Red**: Se detalla la **Topología de Red** en `adn/01_ontologia.md`. | +| 22:10 | srv-NS8 | ✅ **Mantenimiento**: Se actualiza **Portainer** a la última versión disponible (detectada 2.33.7). | +| 22:05 | srv-NS8 | ✅ **Documentación de Accesos**: Se incorpora la tabla de **Puntos de Acceso (URLs)** en `adn/01_ontologia.md`. | +| 22:00 | srv-NS8 | ✅ **Reactivación de Servicios**: Se levantan exitosamente `portainer`, `proxy`, `bitacoras` y `sysacad`. | +| 21:50 | srv-NS8 | 🧪 **Validación de Servicios**: Pruebas de configuración (`docker compose config`) exitosas. Límites de memoria confirmados correctos. | +| 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 | srv-NS8 | ✅ **Centralización de Servicios**: Se mueven las configuraciones de servicios a `dtic-srv-NS8/servicios/`. | +| 21:22 | srv-NS8 | 📍 **Definición de Prioridades**: Se establece la VM `PCV_DTIC-RRHH_W732` como servicio **Crítico/Permanente**. | +| 21:15 | srv-NS8 | ✅ **Relevamiento Técnico**: Se detectan redes Docker sin contenedores activos. VM VirtualBox consume ~4GB RAM. | +| 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 | srv-NS8 | ✅ **Establecimiento de Protocolo**: Se define el **español** como idioma obligatorio. Se crea `adn/02_protocolo.md`. | +| 21:01 | srv-NS8 | ✅ **Inicio del Relevamiento**: Inicialización del repositorio y estructura de directorios `adn`, `docs`, `scripts`. | diff --git a/adn/01_ontologia.md b/adn/01_ontologia.md index fd94e815..d5400c1e 100644 --- a/adn/01_ontologia.md +++ b/adn/01_ontologia.md @@ -10,6 +10,27 @@ Este documento define la identidad, propósito y componentes principales del ser - **Kernel**: 6.1.0-28-amd64. - **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 - **CPU**: AMD Ryzen (16 hilos). - **RAM**: 15 GiB Total. diff --git a/adn/02_protocolo.md b/adn/02_protocolo.md index 5541ac36..47f0a9a0 100644 --- a/adn/02_protocolo.md +++ b/adn/02_protocolo.md @@ -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. - **Auto-corrección**: Al detectar una inconsistencia, es prioritario resolverla para restaurar la armonía del sistema documental. -## 4. Formato de Registro (Bitácoras) -- **Estructura**: Tablas separadas por fecha (H2 con fecha `YYYY-MM-DD`). -- **Orden**: Descendente (lo más reciente arriba). -- **Columnas Obligatorias**: - - `Hora` (HH:MM) - - `E` (Estado/Icono) - - `Acción` - - `Detalle/Impacto` +## 4. Estructura de Registro (Centralizada) +- **Principio**: **Bitácora Única**. + - `adn/00_bitacora.md` es la **Fuente de Verdad Histórica** del Grid completo. + - Se prohíben bitácoras dispersas en archivos individuales. +- **Formato**: Tabla Markdown con columnas: `| Hora | Nodo | Detalle |`. + - **Hora**: `HH:MM` (Hora Local). + - **Nodo**: Hostname del equipo afectado (e.g. `srv-pmox1`, `srvv-SITIO`). + - **Detalle**: Descripción consisa. Uso de Emojis para estado visual (✅, ⚠️, ❌, 🔧). + +## 5. Documentación de Nodos (Snapshots) +- **Ubicación**: `adn/nodos/.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). diff --git a/adn/nodos/srv-pmox1.md b/adn/nodos/srv-pmox1.md new file mode 100644 index 00000000..ae7f1939 --- /dev/null +++ b/adn/nodos/srv-pmox1.md @@ -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. + + diff --git a/adn/nodos/srv-pmox2.md b/adn/nodos/srv-pmox2.md new file mode 100644 index 00000000..ff87b13b --- /dev/null +++ b/adn/nodos/srv-pmox2.md @@ -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. diff --git a/adn/nodos/srv-pmox3.md b/adn/nodos/srv-pmox3.md new file mode 100644 index 00000000..09929cd8 --- /dev/null +++ b/adn/nodos/srv-pmox3.md @@ -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. diff --git a/adn/nodos/srvv-DATA.md b/adn/nodos/srvv-DATA.md new file mode 100644 index 00000000..bc74f7d0 --- /dev/null +++ b/adn/nodos/srvv-DATA.md @@ -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. diff --git a/adn/nodos/srvv-DNS.md b/adn/nodos/srvv-DNS.md new file mode 100644 index 00000000..225d3d3c --- /dev/null +++ b/adn/nodos/srvv-DNS.md @@ -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? diff --git a/adn/nodos/srvv-DOCs.md b/adn/nodos/srvv-DOCs.md new file mode 100644 index 00000000..e8ed648f --- /dev/null +++ b/adn/nodos/srvv-DOCs.md @@ -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. diff --git a/adn/nodos/srvv-DTIC.md b/adn/nodos/srvv-DTIC.md new file mode 100644 index 00000000..fccb30bf --- /dev/null +++ b/adn/nodos/srvv-DTIC.md @@ -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. diff --git a/adn/nodos/srvv-KOHA.md b/adn/nodos/srvv-KOHA.md new file mode 100644 index 00000000..6330f114 --- /dev/null +++ b/adn/nodos/srvv-KOHA.md @@ -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. diff --git a/adn/nodos/srvv-SITIO.md b/adn/nodos/srvv-SITIO.md new file mode 100644 index 00000000..41fbfa9c --- /dev/null +++ b/adn/nodos/srvv-SITIO.md @@ -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). diff --git a/adn/nodos/srvv-SITIO0.md b/adn/nodos/srvv-SITIO0.md new file mode 100644 index 00000000..c3661139 --- /dev/null +++ b/adn/nodos/srvv-SITIO0.md @@ -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. diff --git a/adn/nodos/srvv-SITIO2.md b/adn/nodos/srvv-SITIO2.md new file mode 100644 index 00000000..dd6cc0de --- /dev/null +++ b/adn/nodos/srvv-SITIO2.md @@ -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). diff --git a/adn/nodos/srvv-UPTIME.md b/adn/nodos/srvv-UPTIME.md new file mode 100644 index 00000000..6b53e1cb --- /dev/null +++ b/adn/nodos/srvv-UPTIME.md @@ -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). diff --git a/docs/cmd-sshRSA.md b/docs/cmd-sshRSA.md new file mode 100644 index 00000000..8f8d91c5 --- /dev/null +++ b/docs/cmd-sshRSA.md @@ -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 +``` \ No newline at end of file diff --git a/scripts/alta_nodo.sh b/scripts/alta_nodo.sh new file mode 100755 index 00000000..99028ce5 --- /dev/null +++ b/scripts/alta_nodo.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# Script: alta_nodo.sh +# Uso: ./scripts/alta_nodo.sh [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 [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 < /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