docs: Actualización de contexto IA, Drones, Candados y nuevos nodos

This commit is contained in:
Ricardo Monla
2026-04-08 18:09:04 -03:00
parent cad987ce7f
commit fb8c8eefe5
139 changed files with 900 additions and 36345 deletions
@@ -5,8 +5,8 @@
**Código:** A04.P005
**Fecha:** 27 de marzo de 2026
**Autor:** Sistema ADN
**Versión:** 2.2
**Estado:** 🚧 EN EJECUCIÓN (Fase 2 completada, Fase 3 pendiente — Creación VM PC Cliente)
**Versión:** 2.5
**Estado:** 🚧 EN EJECUCIÓN (Nueva VM 105 dasu-sql3 - Fase 4.N1-4.N3 completadas)
**Dependencia:** A04.P001 (Red srv-dasu)
## 📋 Resumen Ejecutivo
@@ -80,8 +80,22 @@ Crear dos VMs nuevas (SQL Server + PC cliente) en `srv-dasu`, instalar el sistem
- [x] **3.6:** Instalar Tailscale VPN (cuenta `pcdasu0@frlr.utn.edu.ar`). Anotar IP Tailscale asignada. ✅ **IP: 100.98.225.100**
- [ ] **3.7:** Instalar herramientas cliente SQL (SSMS o sqlcmd) si es necesario.
- [ ] **3.8:** Verificar conectividad hacia dasu-sql2 (ping + test TCP 1433).
- [ ] **3.9:** ⚠️ PROBLEMA: VMs sin conectividad de red IP. Estado: 192.168.1.x NO responde a ping desde srv-dasu. Investiguando causa (posible conflicto de bridge/red).
- [x] **3.9:** Instalar qemu-guest-agent en VM dasu-pcv2 para backups desatendidos (ACPI shutdown) ✅.
### ⏳ **FASE 4: Nueva VM dasu-sql3 (VM 105)** *(2026-04-08)*
- [x] **4.N1:** Crear VM 105 (dasu-sql3) ✅. Eliminar VMs 103 y 104 problemáticas, crear VM 105 limpia.
- [x] **4.N2:** ISO Windows Server 2022 Español ✅. Usar `Windows_Server_2022_Spanish_Evaluation.iso`.
- [x] **4.N3:** Discos SATA ✅. 60GB (sata0) para SO + 120GB (sata1) para datos SQL.
- [ ] **4.N4:** Finalizar instalación Windows.
- [ ] **4.N5:** Instalar VirtIO drivers.
- [ ] **4.N6:** Configurar hostname `dasu-sql3` y Workgroup.
- [ ] **4.N7:** Configurar red DHCP.
- [ ] **4.N8:** Instalar OpenSSH Server (puerto 7022).
- [ ] **4.N9:** Instalar Tailscale.
- [ ] **4.N10:** Instalar SQL Server 2019.
### ⏳ **FASE 4: Instalación del Sistema DASUTEN**
- [x] **4.1:** Obtener backup/script de la base de datos DASUTEN del sistema actual. ✅ (Descargado localmente archivo de 604MB y confirmado acceso vía SMB al crudo `.bak`)
@@ -0,0 +1,124 @@
# Plan: Conocimiento del Contexto y Ámbito de Trabajo
> **Ámbito:** A09 — dtic-DIIAA
**Código:** A09.P001
**Fecha:** 08 de abril de 2026
**Autor:** Lic. Ricardo Monla
**Versión:** 1.2
**Estado:** 🚧 En Curso (Fase 3 completada)
**Dependencia:** Ninguna
## 📋 Resumen Ejecutivo
Este plan tiene como objetivo establecer el conocimiento completo del contexto y ámbito de trabajo del Departamento de Investigación en Inteligencia Artificial y Automatizaciones (DIIAA).
**Alcances:**
- Comprender la estructura institucional
- Identificar nodos y recursos disponibles
- Establecer conexiones y accesos
- Documentar el estado actual de infraestructura
## 🎯 Objetivos
1. **Conocer el contexto institucional** — DTIC, FRLR, UTN
2. **Identificar el nodo principal** — srv-ns8 y sus servicios
3. **Establecer accesos seguros** — Candados y bóveda
4. **Configurar nginx nativo** — Servidor web para aplicaciones DIIAA
5. **Documentar estado actual** — Infraestructura y servicios existentes
## 📅 Fases de Implementación
### FASE 1: Reconocimiento Institucional ✅ COMPLETADA
- [x] Documentar estructura organizacional (DTIC → DIIAA)
- [x] Identificar responsables y roles
- [x] Mapear dependencias institucionales
### FASE 2: Reconocimiento de Infraestructura ✅ COMPLETADA
- [x] Identificar nodos disponibles
- [x] Verificar conectividad y accesos
- [x] Listar servicios existentes en srv-ns8
### FASE 3: Configuración de Accesos ✅ COMPLETADA
- [x] Optimizar herramienta `candados` (help resumida/completa)
- [x] Documentar métodos para cargar contraseñas en variables
- [x] Actualizar README de candados
- [x] Sanear bóveda (eliminar duplicados, renombrar claves)
### FASE 3.5: Mejora de Drones ✅ COMPLETADA
- [x] Auto-detección de nodo por hostname
- [x] Ámbito automático heredado del nodo
- [x] Unificación de vistas (events + entradas)
- [x] Registro automático en bitácora sin intervención manual
### FASE 4: Setup de nginx Nativo ⏳ PENDIENTE
- [ ] Instalar nginx en srv-ns8 (nativo, no Docker)
- [ ] Configurar servidor virtual para dtic-DIIAA
- [ ] Habilitar acceso web al ámbito
### FASE 5: Documentación y Puesta en Marcha ⏳ EN CURSO
- [x] Crear manifiesto del ámbito A09
- [x] Crear plan A09.P001
- [ ] Crear ficha del nodo srv-ns8 (ya existe en `nodos/`)
- [ ] Documentar configuración nginx
- [x] Registrar en bitácora actividades
## 🎯 Criterios de Éxito
| Criterio | Verificación |
| :--- | :--- |
| **Manifiesto creado** | `A09_dtic-DIIAA.md` existe |
| **Plan documentado** | `A09.P001_Contexto-y-Ambito.md` existe |
| **Accesos configurados** | SSH a srv-ns8 funcional |
| **nginx operativo** | Servicio web accesible |
| **Bitácora actualizada** | Eventos registrados |
## 📝 Notas Técnicas
### Stack Tecnológico
- **Servidor Web:** nginx (nativo en srv-ns8)
- **Gestión de Secretos:** candados (AES-256-GCM)
- **Automatización:** ADN CLI + Drones
- **Bitácora:** Sistema ADN con web de visualización
### Nodo Principal: srv-ns8
| Campo | Valor |
| :--- | :--- |
| **Hostname** | srv-ns8.frlr.utn.edu.ar |
| **IP** | 10.0.10.8 |
| **SO** | Debian GNU/Linux 12 (bookworm) |
| **Rol** | Servidor de aplicaciones y gestión |
| **Servicios** | nginx, DNS (srvv-dns), otros |
## 🔄 Armonía Integral
**Última actualización:** 2026-04-08 09:50 (Fases 1-3 completadas, drones mejorados)
| Documento | Estado | Notas |
| :--- | :--- | :--- |
| `A09_dtic-DIIAA.md` | ✅ Creado | Manifiesto del ámbito con pilares ADN |
| `A09.P001_Contexto-y-Ambito.md` | ✅ Fases 1-3.5 completadas | Plan actualizado (v1.2) |
| `nodos/srv-ns8.md` | ✅ Existe | Ficha técnica en `nodos/` (global) |
| `adn/tools/candados/candados.rb` | ✅ Optimizado | Help resumida + completa (--help) |
| `adn/tools/candados/README.md` | ✅ Actualizado | Sincronizado con help |
| `adn/tools/cli/dron/ejecutor.rb` | ✅ Mejorado | Auto-detección de nodo y ámbito |
| `adn/tools/cli/dron/dispatcher.rb` | ✅ Mejorado | Opción --nodo agregada |
| `adn/tools/db/core/bitacora_db.rb` | ✅ Mejorado | Vista unificada events + entradas |
| `docs/contexto/IA.md` | ✅ Actualizado | Documentación de drones mejorados |
| nginx config | ⏳ Pendiente | Configuración nativa en srv-ns8 |
---
## Referencias
- **Ámbito de referencia:** `docs/ambito/dtic-DNS/A07_dtic-DNS.md`
- **ADN Ontología:** `adn/01_ontologia.md`
- **Bitácoras:** `./adn/tools/run db evento:listar --ambito dtic-DIIAA`
+123
View File
@@ -0,0 +1,123 @@
# A09 - Ámbito dtic-DIIAA
> Manifiesto de Ámbito | Referencia: [`adn/01_ontologia.md`](../../../adn/01_ontologia.md)
## Identificación
| Campo | Valor |
| :--- | :--- |
| **Código** | A09 |
| **Nombre** | Departamento de Investigación en Inteligencia Artificial y Automatizaciones |
| **Estado** | 🚧 En Implementación |
| **Inicio** | 08/04/2026 |
| **Fin Estimado** | Continuo (investigación y desarrollo) |
## Objetivo
El ámbito **dtic-DIIAA** engloba todas las operaciones relacionadas con la investigación, desarrollo y administración de sistemas de Inteligencia Artificial y Automatizaciones de la Facultad.
Este ámbito cubre:
1. **Investigación en IA** — Desarrollo y aplicación de modelos de inteligencia artificial.
2. **Automatizaciones** — Scripts y sistemas para automatización de tareas operativas.
3. **Administración de servidores** — Gestión de servidores y sistemas de altas prestaciones.
4. **Capacitación** — Formación y transferencia de conocimientos en IA y automatizaciones.
## Contexto Institucional
```
Lic. Ricardo MONLA
└── Departamento de Investigación en IA y Automatizaciones (DIIAA)
└── Dirección de Tecnologías de la Información y Comunicación (DTIC)
└── Facultad Regional La Rioja (FRLR)
└── Universidad Tecnológica Nacional (UTN)
```
## Funciones Principales
1. **Administración de servidores y sistemas de altas prestaciones**
2. **Investigación y desarrollo en Inteligencia Artificial**
3. **Automatización de procesos operativos**
4. **Soporte técnico especializado**
## Ecosistema ADN
Este ámbito opera bajo el **Ecosistema ADN** — el núcleo autónomo que gestiona la ontología, bitácoras, seguridad y procesos del proyecto.
### Pilares Fundamentales
El ADN se rige por tres principios rectores que guían toda decisión operativa:
| Pilar | Descripción |
| :--- | :--- |
| **Menos es Más** | Cada componente debe justificar su existencia. Eliminar lo innecesario, consolidar lo disperso, evitar duplicación. |
| **Armonía Integral** | Todo está conectado. Si un dato cambia en un sitio, debe propagarse a todos los demás. La consistencia es obligatoria. |
| **Mejora Continua** | El ADN evoluciona. Las buenas prácticas emergentes se formalizan como nuevas reglas (Evolución Progresiva). |
### Hebras del ADN
| # | Hebra | Descripción |
| :--- | :--- | :--- |
| **01** | **Ontología** | Define identidad, nodos, ámbitos y topología de red |
| **02** | **Bitácora** | Registro diario de eventos, triggers y métricas |
| **03** | **Seguridad** | Protocolos de red, candados y bóveda cifrada |
| **04** | **Iconografía** | Taxonomía visual de estados e iconos semánticos |
| **05** | **Directivas IA** | Premisas de trabajo para Inteligencia Artificial |
| **06** | **Gobernanza** | Idioma, nomenclatura, coherencia documental, resguardo |
| **07** | **Proyectos** | Gestión de proyectos transversales |
| **08** | **Procesos** | Procesos automatizados sobre infraestructura |
**CLI Principal:** `./adn/tools/run <subcomando>`
| Categoría | Comandos frecuentes |
| :--- | :--- |
| **Bitácoras** | `db evento:crear`, `db evento:actualizar`, `jornada iniciar/cerrar` |
| **Nodos** | `nodos info <nombre>`, `nodos listar`, `nodos agrupar` |
| **Seguridad** | `candados run <clave> '<cmd>'`, `candados authorize` |
| **Drones** | `dron lanzar`, `dron flota`, `dron salud`, `dron limpiar` |
> **Drones:** Subsistema del ADN para tareas en background con auto-bitácora. Ver [`adn/tools/cli/dron.rb`](../../../adn/tools/cli/dron.rb)
## Nodos Involucrados
### Nodo Principal
| Nodo | IP | Rol en el Ámbito |
| :--- | :--- | :--- |
| **srv-ns8** | `10.0.10.8` | Workstation / Docker Host / Hipervisor — servidor principal de aplicaciones y gestión |
> **Ficha técnica completa:** [`nodos/srv-ns8.md`](../../../nodos/srv-ns8.md)
### Nodos de Soporte
| Nodo | IP | Rol en el Ámbito |
| :--- | :--- | :--- |
| **srv-pmox1** | `10.0.10.201` | Hipervisor Proxmox (anfitrión de VMs) |
| **srvv-dns** | `10.0.10.2` | Servidor DNS (soporte de resolución) |
> Ver fichas completas en [`nodos/`](../../../nodos/)
## Planes Asociados
| Código | Nombre | Estado |
| :--- | :--- | :--- |
| [A09.P001](A09.P001_Contexto-y-Ambito.md) | Conocimiento del Contexto y Ámbito de Trabajo | 🚧 En Curso |
## 🔄 Armonía Integral
**Última actualización:** 2026-04-08 (Creación del ámbito A09 - dtic-DIIAA)
| Documento | Estado | Notas |
| :--- | :--- | :--- |
| `A09_dtic-DIIAA.md` | ✅ Creado | Manifiesto del ámbito |
| `A09.P001_Contexto-y-Ambito.md` | 🚧 En curso | Plan de conocimiento del contexto |
| `nodos/srv-ns8.md` | ✅ Existe | Ficha técnica en `nodos/` |
---
## Referencias
- **Ecosistema ADN**: [`adn/00_indice.md`](../../../adn/00_indice.md)
- **Ontología**: [`adn/01_ontologia.md`](../../../adn/01_ontologia.md)
- **Bitácoras**: `./adn/tools/run db evento:listar --ambito dtic-DIIAA`
- **Nodos**: [`nodos/`](../../../nodos/)
@@ -0,0 +1,80 @@
#!/bin/bash
# Script para agregar registros CNAME de DKIM en srvv-dns
# Ejecutar: sudo bash A07.P002_agregar_dkim.sh
ZONA_FILE="/docker/coreDNS/zones/frlr.utn.edu.ar.db"
BACKUP_FILE="/docker/coreDNS/zones/bkp_260407_preDKIM_frlr.utn.edu.ar.db"
echo "🔧 Agregando registros DKIM para Microsoft 365..."
# 1. Crear backup
echo " 1. Creando backup..."
cp "$ZONA_FILE" "$BACKUP_FILE"
if [ $? -eq 0 ]; then
echo " ✅ Backup creado: $BACKUP_FILE"
else
echo " ❌ Error al crear backup"
exit 1
fi
# 2. Verificar si los registros ya existen
if grep -q "selector1._domainkey" "$ZONA_FILE"; then
echo " ⚠️ El registro selector1._domainkey ya existe"
else
echo " ✅ Registro selector1._domainkey no existe (ok para agregar)"
fi
if grep -q "selector2._domainkey" "$ZONA_FILE"; then
echo " ⚠️ El registro selector2._domainkey ya existe"
else
echo " ✅ Registro selector2._domainkey no existe (ok para agregar)"
fi
# 3. Agregar registros CNAME de DKIM
# Los agrego después de los registros NS existentes
echo " 2. Agregando registros CNAME de DKIM..."
# Crear archivo temporal con los nuevos registros
cat >> "$ZONA_FILE" << 'EOF'
; =============================================
; Registros CNAME para DKIM (Microsoft 365)
; Agregados: 2026-04-07 - A07.P002
; =============================================
selector1 IN CNAME selector1-frlr-utn-edu-ar._domainkey.o365frlrutneduar.onmicrosoft.com.
selector2 IN CNAME selector2-frlr-utn-edu-ar._domainkey.o365frlrutneduar.onmicrosoft.com.
EOF
if [ $? -eq 0 ]; then
echo " ✅ Registros DKIM agregados"
else
echo " ❌ Error al agregar registros"
echo " Restaurando backup..."
cp "$BACKUP_FILE" "$ZONA_FILE"
exit 1
fi
# 4. Actualizar serial de zona (incrementar último dígito)
echo " 3. Actualizando serial de zona..."
SERIAL_ACTUAL=$(grep -A5 'IN SOA' "$ZONA_FILE" | grep -oE '[0-9]{10}' | head -1)
NUEVO_SERIAL=$((SERIAL_ACTUAL + 1))
sed -i "s/$SERIAL_ACTUAL/$NUEVO_SERIAL/" "$ZONA_FILE"
echo " Serial: $SERIAL_ACTUAL$NUEVO_SERIAL"
# 5. Forzar reload de CoreDNS
echo " 4. Forzando reload de CoreDNS..."
docker kill --signal=HUP coredns 2>/dev/null || echo " (signal enviado)"
echo " ✅ CoreDNS notificado"
echo ""
echo "✅ ¡Completado!"
echo ""
echo "📋 Verificación:"
echo " dig selector1._domainkey.frlr.utn.edu.ar CNAME"
echo " dig selector2._domainkey.frlr.utn.edu.ar CNAME"
echo ""
echo "⏱️ Esperar 15-30 minutos para propagación"
echo ""
echo "🔐 Luego habilitar DKIM en:"
echo " https://security.microsoft.com/dkimv2"
@@ -0,0 +1,26 @@
=== Backup DNS frlr.utn.edu.ar ===
== REGISTROS MX ==
0 frlr-utn-edu-ar.mail.protection.outlook.com.
== REGISTROS TXT (SPF, DKIM, etc) ==
"v=spf1 mx ip4:190.114.205.2 include:spf.protection.outlook.com -all"
"MS=ms22480661"
"google-site-verification=vZpwlfgIM_oSwlxfhvCY3zvbLEkRzHz8AFUDsVPmgzo"
== REGISTROS A ==
190.114.205.20
== REGISTROS CNAME ==
== REGISTROS NS ==
ns1.frlr.utn.edu.ar.
ns3.utn.edu.ar.
== DKIM LOCAL (mail._domainkey) ==
"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOMtst0Un3kUnMr+azAfJ1zho2"
"l5+Zg7E575exs30JJi5R044EqIRIB3cqxL8QN5pawb0meiHOn6D5S+LEaGKd4+jxPW"
"WY/haivsuUP8tJuNcV53LdlpiTcBcrvtJLPCOsxgQl7XofghR8+dNEZ66uKNI+w7/"
"7BoMeOHMivP8auwIDAQAB"
== DMARC ==
+45
View File
@@ -0,0 +1,45 @@
Ese mensaje de error es el "mapa del tesoro". Te está confirmando que el sistema no puede habilitar el DKIM porque todavía no has publicado los registros en el DNS de la UTN.
Aquí tienes los datos exactos que debes copiar y pegar en tu panel de control de DNS (donde gestionas el dominio frlr.utn.edu.ar):
Debes crear estos 2 registros CNAME:
Registro 1:
Tipo: CNAME
Nombre (Host): selector1._domainkey
Valor (Apunta a): selector1-frlr-utn-edu-ar._domainkey.o365frlrutneduar.onmicrosoft.com
Registro 2:
Tipo: CNAME
Nombre (Host): selector2._domainkey
Valor (Apunta a): selector2-frlr-utn-edu-ar._domainkey.o365frlrutneduar.onmicrosoft.com
¿Dónde se hace esto?
Vuelve a la pantalla que me mostraste antes (la del listado de registros MX, SPF y CNAME).
Busca un botón que diga "Agregar registro" o "Administrar DNS".
Carga los dos registros de arriba.
El paso final (Paciencia)
Una vez que los guardes en el DNS:
Espera al menos 15 a 30 minutos (aunque el cartel diga 4 días, suele ser rápido, pero no instantáneo).
Regresa a la pantalla de DKIM (la de la imagen anterior).
Intenta mover el interruptor a Habilitado.
Nota técnica: Si el panel de DNS te pide el nombre completo, asegúrate de que sea selector1._domainkey.frlr.utn.edu.ar. Algunos paneles añaden el dominio automáticamente, otros no.
Cuando ese interruptor se ponga en azul, ¡Gmail dejará de rechazarte! ¿Sabes dónde está el panel para agregar estos registros nuevos?
Enlaces
https://security.microsoft.com/dkimv2
https://admin.cloud.microsoft/?#/Domains/Details/frlr.utn.edu.ar