[RFC-ADN-01] Normalizar nomenclatura de proyectos

- Directorios: PascalCase (p2601_dasuten → P2601_Dasuten)
- Planes: numeración pura (P2601_6.1.A → P2601.06.01)
- Sin caracteres especiales en nombres de archivo
- 07_proyectos.md: convención RFC-ADN-01 integrada, P2604/P2605 agregados
- evento:listar: nueva opción --detalle para descripciones completas
This commit is contained in:
Ricardo Monla
2026-03-16 15:15:53 -03:00
parent f608924c6a
commit ba5c65e2a4
33 changed files with 883 additions and 390 deletions
@@ -3,7 +3,7 @@
**Fecha:** 11 de marzo de 2026
**Autor:** Sistema ADN
**Versión:** 1.0
**Ubicación:** `docs/proy/p2601_dasuten/plan/P2601_6.1.A - Red_SrvDasu.md`
**Ubicación:** `docs/proy/P2601_Dasuten/plan/P2601.06.01_Red-SrvDasu.md`
**Estado:** ✅ COMPLETADO
## 📋 Resumen Ejecutivo
@@ -0,0 +1,259 @@
# Plan: Unión de pc-dasu0 al Dominio DASUTeN (P2601 Fase 6.1.B)
**Fecha:** 11 de marzo de 2026 (Actualizado: 16/03/2026)
**Autor:** Sistema ADN
**Versión:** 4.1
**Estado:** ⏳ EN EJECUCIÓN (Fase 1 - Normalización de Nombres)
**Proyecto:** [P2601 DASUTEN](../P2601_dasuten.md)
## 📋 Resumen Ejecutivo
Unir la PC física `pc-dasu0` (oficina DASUTeN) al dominio `dasuten.utnlr`. La infraestructura de soporte (DC, SQL, red) ya está operativa y validada con la VM de pruebas.
> **Fase 0 en curso:** Normalización de nombres de nodos para convención unificada.
**Nodos involucrados:**
| Nodo | Nuevo Nombre | Tipo | IP Interna | Tailscale | SSH 7022 | Estado |
|:-----|:-------------|:-----|:----------:|:---------:|:--------:|:------:|
| `dasu-srvv-dc` | (antes dc-dasuten) | VM 100 (DC/DNS) | `10.0.100.10` | ✅ | ⏳ pendiente | ⏳ Por renombrar |
| `dasu-srvv-sql` | (antes sql-dasuten) | VM 101 (SQL) | `10.0.100.11` | ✅ | ✅ | ⏳ Por renombrar |
| `dasu-pcv0` | (antes pcv-dasu0) | VM 102 (Test) | `10.0.100.12` | ❌ | ✅ | ⏳ Por renombrar |
| `dasu-pc0` | (antes pc-dasu0) | PC Física | `192.168.1.13` (DHCP) | ❌ offline | ✅ | ⏳ Por renombrar |
| `srv-dasu` | — | Hypervisor | `10.0.100.1` | ✅ (`100.112.46.104`) | ✅ | ✅ Operativo |
## 🔧 Topología de Red
```
[Internet] ← Router ISP → [srv-dasu (192.168.1.27)] ↔ [pc-dasu0 (192.168.1.13)]
│ │
│ NAT (10.0.100.1) │ Misma LAN física
▼ │
┌──────────────┐ │
│ 10.0.100.x │ │
│ dc-dasuten │ Ruta DNS: │
│ (.10) [AD] │ ← ← ← ← ← ← ← ← ┘
│ sql-dasuten │
│ (.11) [SQL] │
│ pcv-dasu0 │
│ (.12) [Test]│
└──────────────┘
```
**Conectividad de pc-dasu0 al dominio:**
- `pc-dasu0` y `srv-dasu` comparten router ISP → comunicación directa LAN (<2ms)
- `srv-dasu` actúa como subnet router Tailscale exponiendo `10.0.100.0/24`
- DNS del dominio (`10.0.100.10`) accesible via `srv-dasu` como gateway
## 🔒 Red Tailscale Unificada
**Cuenta:** `pcdasu0@frlr.utn.edu.ar` | **Gestión:** `./adn/tools/run tailscale`
| Nodo | Estado Tailscale | IP Tailscale |
|:-----|:----------------:|:------------:|
| `srv-ns8` | ✅ Activo (switch dual) | — |
| `srv-dasu` | ✅ Activo (subnet router) | `100.112.46.104` |
| `dc-dasuten` | ✅ Instalado | — |
| `sql-dasuten` | ✅ Instalado | — |
| `pc-dasu0` | ❌ Offline | `100.65.62.44` (anterior) |
## 📅 Fases de Implementación
### ✅ **FASE 1: Infraestructura y Conectividad** (EN CURSO)
> Toda la infraestructura de soporte está operativa. Incluyendo normalización de nombres.
#### 1.0 Normalización de Nombres
> Renombrar nodos para seguir convención unificada: `dasu-srvv-{rol}` y `dasu-pcv{n}` / `dasu-pc{n}`
| ID | Nodo Actual | Nuevo Nombre | Estado |
| :--- | :--- | :--- | :--- |
| 1.0.1 | `sql-dasuten` (VM 101) | `dasu-srvv-sql` | ⏳ Pendiente |
| 1.0.2 | `dc-dasuten` (VM 100) | `dasu-srvv-dc` | ⏳ Pendiente |
| 1.0.3 | `pcv-dasu0` (VM 102) | `dasu-pcv0` | ⏳ Pendiente |
| 1.0.4 | `pc-dasu0` (PC Física) | `dasu-pc0` | ⏳ Pendiente |
**Pasos para cada nodo (VM):**
1. Apagar VM
2. Cambiar hostname en SO Windows
3. Renombrar en Proxmox (display name + name)
4. Actualizar ficha en `nodos/`
5. Actualizar registros DNS en AD
6. Actualizar inventario ADN (`./adn/tools/run db nodo:actualizar`)
7. Encender y verificar conectividad
**Pasos para PC física (pc-dasu0):**
1. Cambiar nombre de equipo en Windows
2. Actualizar ficha en `nodos/`
3. Actualizar DNS en AD post-unión al dominio
4. Actualizar inventario ADN
#### 1.1-1.13 Tareas de Infraestructura
- [x] **1.1** Diagnóstico de topología de red (IPs locales, subredes, latencia)
- [x] **1.2** Validar DNS: `10.0.100.10` resuelve `dc-dasuten.dasuten.utnlr`
- [x] **1.3** Conectividad directa LAN entre `pc-dasu0``srv-dasu` (<2ms) ✅
- [x] **1.4** Instalar SSH 7022 en `pc-dasu0` via w-zombi ✅
- [x] **1.5** Migrar `srv-dasu` a red Tailscale `pcdasu0@frlr.utn.edu.ar`
- [x] **1.6** Configurar NAT en `srv-dasu` → VMs con acceso internet ✅
- [x] **1.7** Backups VZDump de dc-dasuten y sql-dasuten ✅
- [x] **1.8** Instalar Tailscale en dc-dasuten y sql-dasuten ✅
- [x] **1.9** Obtener acceso sudo a `srv-dasu`
- [x] **1.10** Verificar credenciales de dominio (`admindasu` en bóveda `candados`) ✅
- [x] **1.11** Documentar problemas de conectividad intermitente ✅
- [x] **1.12** Verificar SSH 7022 funcional en dc-dasuten (⏳ pendiente verificar → ⚠️ filtrado/red)
- [ ] **1.13** Reactivar Tailscale en `pc-dasu0`
### 🛠 **FASE 2: Preparación de pc-dasu0** (PRÓXIMA)
**Hito:** Configuración base lista para unión al dominio.
**Herramientas ADN:** `ssh <nodo> <cmd>`, `nodos info <nodo>`, `contexto <nodo>`
- [ ] **2.1** Verificar requisitos: Windows 10 (versión, updates, .NET Framework)
```powershell
# Via SSH o RustDesk
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
```
- [ ] **2.2** Configurar red de `pc-dasu0`:
- **DNS Primario:** `10.0.100.10` (dc-dasuten, via ruta a srv-dasu)
- **DNS Secundario:** `8.8.8.8`
- **Suffix DNS:** `dasuten.utnlr`
- **Gateway:** Router ISP local (default)
- [ ] **2.3** Agregar ruta estática a `10.0.100.0/24` via `srv-dasu` (192.168.1.27)
```powershell
route add 10.0.100.0 MASK 255.255.255.0 192.168.1.27 -p
```
- [ ] **2.4** Validar conectividad a puertos de dominio:
```powershell
Test-NetConnection -ComputerName 10.0.100.10 -Port 389 # LDAP
Test-NetConnection -ComputerName 10.0.100.10 -Port 636 # LDAPS
Test-NetConnection -ComputerName 10.0.100.10 -Port 3268 # Global Catalog
Test-NetConnection -ComputerName 10.0.100.10 -Port 445 # SMB
```
- [ ] **2.5** Verificar resolución de nombres: `nslookup dc-dasuten.dasuten.utnlr`
- [ ] **2.6** Configurar firewall local (permitir puertos AD en subred `10.0.100.0/24`)
- [ ] **2.7** Crear backup de sistema y perfiles (Andrea/Romina)
- [ ] **2.8** Reactivar Tailscale con cuenta `pcdasu0@frlr.utn.edu.ar`
### 🔗 **FASE 3: Unión al Dominio**
**Hito:** `pc-dasu0` unida exitosamente a `dasuten.utnlr`.
- [ ] **3.1** Ejecutar unión al dominio:
```powershell
Add-Computer -DomainName "dasuten.utnlr" -Credential DASUTEN\admindasu -Restart
```
- [ ] **3.2** Verificar nombre en dominio: `pc-dasu0.dasuten.utnlr`
- [ ] **3.3** Reiniciar y validar login con cuenta de dominio
- [ ] **3.4** Verificar membresía en grupos AD
- [ ] **3.5** Aplicar GPOs básicas del dominio
### 👥 **FASE 4: Migración de Perfiles y Cierre**
**Hito:** Sistema en producción estable.
- [ ] **4.1** Migrar perfiles locales (Andrea/Romina) a cuentas de dominio
- [ ] **4.2** Configurar mapeo de unidades de red
- [ ] **4.3** Verificar acceso al sistema DASUTEN desde dominio
- [ ] **4.4** Monitorear estabilidad 48hs (conectividad, autenticación, GPO)
- [ ] **4.5** Actualizar ficha `nodos/pc-dasu0.md` con estado final
- [ ] **4.6** Registrar hitos en DB: `./adn/tools/run db hito:crear`
## 🚨 Procedimientos de Rollback
| Escenario | Acción |
|:----------|:-------|
| Fallo en unión | Desunir con credenciales locales, restaurar DNS original |
| Conectividad rota | Activar Tailscale como ruta alternativa, diagnosticar LAN |
| Perfiles perdidos | Restaurar desde backup pre-unión (Fase 2.7) |
| DC inaccesible | Revertir a `pcv-dasu0` (VM) para operaciones críticas |
## 🔧 Notas Técnicas
### Puertos Críticos (AD DS)
| Puerto | Protocolo | Servicio |
|:-------|:----------|:---------|
| 389/636 | TCP | LDAP/LDAPS |
| 3268/3269 | TCP | Global Catalog |
| 445 | TCP | SMB |
| 135, 137-139 | TCP/UDP | NetBIOS/RPC |
| 123 | UDP | NTP |
| 88 | TCP/UDP | Kerberos |
### Dependencias
1. **Router ISP:** Comunicación LAN entre `pc-dasu0` ↔ `srv-dasu`
2. **NAT srv-dasu:** Ruta `pc-dasu0` → `10.0.100.0/24` via `192.168.1.27`
3. **dc-dasuten operativo:** DNS + AD DS funcional
4. **Credenciales:** `DASUTEN\admindasu` (bóveda: `candados`, clave: `admindasu`)
5. **Sincronización NTP:** Entre todos los nodos del dominio
### Herramientas ADN Disponibles
```bash
# Diagnóstico y contexto
./adn/tools/run nodos info pc-dasu0
./adn/tools/run contexto dc-dasuten
./adn/tools/run ssh srv-dasu "ping -c3 10.0.100.10"
# Registro de progreso (DB-First)
./adn/tools/run db evento:crear --nodo pc-dasu0 --titulo "Título" --inicio HH:MM
./adn/tools/run db evento:listar --desde FECHA --detalle
# Verificación
./adn/tools/run salud --dashboard
```
## 📊 Métricas de Éxito
| Métrica | Objetivo |
|:--------|:---------|
| Conectividad LAN | >99% uptime `pc-dasu0` ↔ `srv-dasu` |
| Conectividad dominio | >95% uptime `pc-dasu0` → `dc-dasuten` |
| Login dominio | <15 segundos |
| Latencia LAN | <5ms |
| Estabilidad post-unión | 0 incidentes críticos en 72hs |
| Perfiles migrados | Sin pérdida de datos |
## 📚 Referencias
1. [Proyecto P2601 DASUTEN](../P2601_dasuten.md)
2. [Nodo: pc-dasu0](../../../nodos/pc-dasu0.md)
3. [Nodo: pcv-dasu0](../../../nodos/pcv-dasu0.md) *(VM referencia, ya unida al dominio)*
4. [Nodo: dc-dasuten](../../../nodos/dc-dasuten.md)
5. [Nodo: srv-dasu](../../../nodos/srv-dasu.md)
6. [Plan 06.01: Red srv-dasu](P2601.06.01_Red-SrvDasu.md)
---
## 📋 Historial de Sesiones
### 16/03/2026 — Sesión de Seguimiento (Mañana)
- ✅ Inicio de jornada remota 10:00-10:01 (#1104)
- ✅ Verificación SSH dc-dasuten: puertos SSH no accesibles desde srv-dasu (probable filtro Windows Firewall)
- ⏳ Tarea 1.13: Reactivar Tailscale en pc-dasu0 (próxima)
### 15-16/03/2026 — Sesión de Infraestructura (Madrugada)
- ✅ Backups VZDump de dc-dasuten (#1093) y sql-dasuten (#1094)
- ✅ Tailscale instalado en dc-dasuten (#1096) y sql-dasuten (#1097)
- ❌ VM proxy fallida (#1091) → Revertida (#1090, #1092)
- ✅ Acceso sudo a srv-dasu configurado (#1089)
- ⏳ SSH 7022 en dc-dasuten pendiente verificar (#1098)
### 15/03/2026 — Sesión Principal
- ✅ Herramienta SSH CLI creada (P2604-S11) y refactorizada (S12-S14)
- ✅ Diagnóstico remoto via SSH ADN (#1076)
- ✅ DNS validado: `10.0.100.10` resuelve dominio (#1083)
- ✅ NAT configurado, VMs con internet (#1081)
- ✅ README ADN actualizado con estructura real (#1080)
### 15/03/2026 — Análisis Inicial
- ✅ Análisis de plan AD-Join (#1082)
- ✅ Documentar problemas conectividad (#1086)
- ✅ Decisión: mantener subnet router + Tailscale directo en VMs (#1084-#1085)
### 11/03/2026 — Creación del Plan (v1.0)
- Creación inicial del plan con topología de red identificada.
- Identificación de comunicación directa LAN como estrategia primaria.
@@ -161,6 +161,42 @@ Mejoras atómicas, incrementales y reutilizables. Una herramienta por vez.
---
## Extensión P2604: Bitácora Web + Mejoras Eventos (Marzo 2026)
> **Objetivo**: Mejorar la experiencia de usuario en la bitácora web y la consistencia en el CLI de eventos.
### Fase 11: Bitácora Web (Mejora Continua)
| ID | Mejora | Herramienta | Estado |
| :--- | :--- | :--- | :--- |
| B1 | Auto-refresh cada 30 segundos | React App.tsx | ✅ |
| B2 | Refresh al recuperar foco (visibility change) | React App.tsx | ✅ |
| B3 | Smart refresh - solo actualizar si hay cambios (comparando max_id) | Backend + Frontend | ✅ |
| B4 | Documentar en README.md | `adn/README.md` | 📍 |
### Fase 12: Consistencia de Eventos (Menos es Más)
> El estado y modo deben ser valores derivados, no ingresados manualmente.
| ID | Mejora | Archivo | Estado |
| :--- | :--- | :--- | :--- |
| E1 | Estado calculado automáticamente desde `hora_fin` (si tiene → ✅, si no → ⏳) | `cli/db/evento.rb` | ✅ |
| E2 | Modo resuelto automáticamente desde la última jornada del día | `cli/db/evento.rb` | ✅ |
| E3 | Estado automático también al actualizar evento con `--fin` | `cli/db/evento.rb` | ✅ |
| E4 | Actualizar ayuda y documentación | `adn/README.md` | 📍 |
**Comportamiento:**
- Al crear evento sin especificar `--estado`:
- Si tiene `--fin` → estado = "✅" (completado)
- Si NO tiene `--fin` → estado = "⏳" (en proceso)
- Al crear evento sin especificar `--modo`:
- Busca la última entrada que contenga "inicio de jornada" y usa su modo
- Si no hay jornada → usa default "P" (Presencial)
- Al actualizar evento con `--fin` sin especificar `--estado`:
- Automatically set to "✅"
---
## Progreso
```
@@ -174,6 +210,8 @@ Fase 7: ██████████ 100% (DOC1-DOC3: docs/tecnica/)
Fase 8: ██████████ 100% (CI1-CI2: GitHub Actions)
Fase 9: ██████████ 100% (M1-M5: MSP CLI)
Fase 10: ██████████ 100% (S1-S15 done ✔)
Fase 11: ██████████ 100% (B1-B3 done)
Fase 12: ████████░░ 67% (E1-E3 done)
```
---
@@ -184,16 +222,16 @@ Fase 10: ██████████ 100% (S1-S15 done ✔)
| :--- | :--- |
| Tests pasando | 15 |
| Archivos creados | 12 |
| Archivos modificados | 8 |
| Archivos modificados | 10 |
| Archivos limpiados/movidos | 20+ |
| Fases completadas | 9/10 (90%) |
| Fases completadas | 11/12 (92%) |
| Documentos técnicos | Consolidados en `adn/README.md` |
---
## Próxima Acción
**S10**: Migrar `SubcomandoSalud` al namespace `ADN::` y reescribir para consultar DB (DB-First)
**B3 + E4**: Actualizar `adn/README.md` con las nuevas funcionalidades (auto-refresh, estado/modo calculado)
---
@@ -201,5 +239,5 @@ Fase 10: ██████████ 100% (S1-S15 done ✔)
- Punto de verdad: [`adn/README.md`](../../adn/README.md)
- ADN IA: [`05_ia.md`](../../adn/05_ia.md)
- Bitácoras: ID 1054-1056, 1073
- Bitácoras: ID 1054-1056, 1073, 1106, 1112
- Planes históricos movidos a: `docs/_hist/plan/`
@@ -1,321 +0,0 @@
# Plan: Unión de pc-dasu0 al Dominio DASUTeN (P2601 Fase 6.1.B)
**Fecha:** 11 de marzo de 2026
**Autor:** Sistema ADN
**Versión:** 2.0
**Ubicación:** `docs/proy/p2601_dasuten/plan/P2601_6.1.B - AD-Join: pc-dasu0 al Dominio.md`
**Estado:** ⏳ PLANIFICACIÓN
**Proyecto:** [P2601 DASUTEN](../../P2601_dasuten.md)
## 📋 Resumen Ejecutivo
Unir la PC física `pc-dasu0` (ubicada en la oficina DASUTeN) al dominio `dasuten.utnlr`, completando la Fase 6 del proyecto P2601. Este plan aborda los problemas de conectividad intermitente identificados en la red actual y establece un procedimiento validado basado en la experiencia exitosa con la VM de pruebas `pcv-dasu0`.
**Contexto Crítico:**
- `pc-dasu0` es la PC física (Ryzen 5, Windows 10) en la oficina DASUTeN
- `pcv-dasu0` (VM de pruebas) ya está unida exitosamente al dominio (validación previa)
- **INFORMACIÓN CRÍTICA:** `srv-dasu` y `pc-dasu0` comparten el mismo router ISP en la oficina DASUTeN
- Esta topología permite comunicación directa por capa 3 sin necesidad de Tailscale
- El dominio `dasuten.utnlr` opera en `dc-dasuten` (`10.0.100.10`)
- `srv-dasu` actúa como hypervisor con subred `10.0.100.0/24` y gateway `10.0.100.1`
## 🔧 Topología de Red Revisada
### Diagrama Conceptual
```
[Internet] ← Router ISP (Compartido) → [srv-dasu] ↔ [pc-dasu0]
│ │
└───────────────────────────────────────┘
Misma red local física
```
### Características Clave
1. **Router Compartido:** `srv-dasu` y `pc-dasu0` están detrás del mismo router del ISP
2. **Comunicación Directa Posible:** Conexión local por capa 3 sin intermediarios
3. **Simplificación de Conectividad:** Elimina dependencia exclusiva de Tailscale
4. **Latencia Reducida:** Comunicación local con latencia mínima (<1ms)
### Estrategias de Conectividad
#### Opción A: Comunicación Directa Local (PREFERIDA)
- **Ventajas:** Latencia mínima, sin dependencia externa, mayor estabilidad
- **Requisitos:** Configuración de red local adecuada, firewall permitido
- **Implementación:** IPs locales en misma subred, routing directo
#### Opción B: Tailscale como Backup
- **Ventajas:** Seguridad mejorada, tunelización cifrada, acceso remoto
- **Requisitos:** Tailscale funcionando en ambos nodos
- **Implementación:** Mantener como sistema de respaldo
#### Opción C: Híbrida (Directa + Tailscale)
- **Ventajas:** Resiliencia máxima, failover automático
- **Requisitos:** Configuración dual de red
- **Implementación:** Priorizar comunicación directa, fallback a Tailscale
#### 🔒 Red Tailscale Unificada (REQUERIMIENTO OBLIGATORIO)
Para asegurar la gestión y el monitoreo, todos los equipos del ecosistema deben coexistir en la misma red Tailscale:
- **Nodos:** `srv-ns8`, `srv-dasu`, `pc-dasu0`
- **Credenciales:** Gestionadas en la bóveda `candados` (clave: `tailscale_dasuten_user`)
- **Objetivo:** Garantizar visibilidad cruzada y túneles de administración remota persistentes.
- **Gestión ADN:** Implementado `./adn/tools/run tailscale switch <perfil>` para alternar entre cuentas.
- **Estado actual:**
- [x] `srv-ns8` (este equipo): Configurado con switch dual (dasuten/personal) ✅
- [x] `srv-dasu`: Migrado exitosamente a red `pcdasu0@frlr.utn.edu.ar` vía acceso local (IP: 100.112.46.104) ✅
- [ ] `pc-dasu0`: Offline en Tailscale, pendiente reactivar
## 🎯 Objetivos
1. **Primario:** Unir `pc-dasu0` al dominio `dasuten.utnlr` de forma estable y verificable
2. **Secundario:** Diagnosticar y resolver problemas de conectividad de red intermitente
3. **Validación:** Transferir configuración validada desde `pcv-dasu0` (VM de pruebas)
4. **Seguridad:** Establecer políticas de grupo y acceso seguro al sistema DASUTEN
5. **Topología:** Implementar comunicación directa local aprovechando router compartido
## 📅 Fases de Implementación
### 🔍 **FASE 1: Investigación de Topología de Red Actual**
**Hito 1.1:** Diagnóstico completo de conectividad entre `pc-dasu0` y la infraestructura DASUTEN
#### Semana 1: Análisis de Red y Topología
- [x] **1.1.1:** Verificar estado de Tailscale en `pc-dasu0` (IP actual: `100.100.145.51` - Estado: Offline)
- [x] **1.1.2:** Diagnosticar ruta de red desde `pc-dasu0` hacia `srv-dasu` (vía física/local a 192.168.1.27)
- [x] **1.1.3:** **CRÍTICO:** Probar conectividad directa local entre `pc-dasu0` y `srv-dasu`
- Identificar IPs locales asignadas por router ISP: `srv-dasu` (192.168.1.27) y `pc-dasu0` (192.168.1.13)
- Probar ping directo sin Tailscale (Éxito: < 2ms)
- Verificar acceso a puertos críticos localmente (RDP cerrado, firewall por defecto)
- [ ] **1.1.4:** Validar resolución DNS hacia `dc-dasuten.dasuten.utnlr` (`10.0.100.10`)
- [ ] **1.1.5:** Documentar problemas de conectividad intermitente y patrones identificados
- [x] **1.1.6:** **NUEVO:** Mapear topología de red local completa
- Identificar subred local del router ISP: `192.168.1.0/24`
- Documentar configuración DHCP del router: Asignando la `...13` y `...27`
- Verificar reglas de firewall locales
#### Semana 1: Preparación de Acceso
- [ ] **1.1.7:** Configurar acceso remoto seguro (RustDesk ID: `398 699 016`) -> Requiere acceso presencial o que RustDesk conecte para revisar Tailscale
- [x] **1.1.8:** Verificar credenciales de dominio en bóveda (`admindasu` guardada y operativa en candados)
- [ ] **1.1.9:** Establecer procedimiento de rollback (desunión de dominio)
- [ ] **1.1.10:** Preparar configuración de red dual (local + Tailscale)
- [x] **1.1.10a:** **CRÍTICO:** Migrar `srv-dasu` de red Tailscale `rmonla@gmail.com` a `pcdasu0@frlr.utn.edu.ar`
- [x] Ejecutar logout + login remoto (resuelto vía contingencia de puente manual desde la red local)
- [x] Autorizar URL de login manualmente
- [x] Verificar que `srv-dasu` resida en la nueva VPN (`100.112.46.104`)
- [x] **1.1.10b:** **CRÍTICO:** Instalar OpenSSH Server en `pc-dasu0` (puerto 7022)
- [x] Desplegar w-zombi en `srv-dasu` (192.168.1.27) como puente local
- [x] Activar payload `ssh_port7022.ps1` y `install_ssh_legacy.ps1` (instala SSH + configura puerto 7022 + firewall)
- [x] Ejecutar el agente zombi desde `pc-dasu0` via RustDesk
- [x] Verificar conectividad SSH a `pc-dasu0:7022` desde `srv-ns8` (Validado el estado Running via puente srv-dasu)
### 🛠 **FASE 2: Preparación de pc-dasu0**
**Hito 2.1:** Configuración base replicada desde `pcv-dasu0`
#### Semana 2: Configuración del Sistema y Red
- [ ] **2.1.1:** Verificar requisitos de Windows 10 (versión, updates, .NET Framework)
- [ ] **2.1.2:** **ACTUALIZADO:** Configurar adaptador de red con estrategia dual:
- **Configuración Local:** IP local según subred del router ISP
- **DNS Primario:** `10.0.100.10` (dc-dasuten) via comunicación directa
- **DNS Secundario:** `8.8.8.8` (fallback)
- **Gateway:** Router ISP local
- [ ] **2.1.3:** Aplicar configuración de red validada en `pcv-dasu0`
- [ ] **2.1.4:** Crear backup completo del sistema y perfiles de usuario actuales
- [ ] **2.1.5:** Preparar script de migración de perfiles locales a dominio
#### Semana 2: Validación Preliminar de Conectividad
- [ ] **2.1.6:** **ACTUALIZADO:** Probar conectividad a puertos críticos usando ambas rutas:
- **Ruta Local:** Comunicación directa sin Tailscale
- **Ruta Tailscale:** Via subnet router como backup
- **Puertos:** TCP 389, 636, 3268, 3269 (LDAP/GC)
- [ ] **2.1.7:** Verificar acceso a recursos compartidos del dominio
- [ ] **2.1.8:** Validar resolución de nombres NetBIOS (`DASUTEN`)
- [ ] **2.1.9:** **NUEVO:** Configurar reglas de firewall para comunicación local
- Permitir puertos de dominio en firewall local
- Configurar excepciones para subred local
### 🔗 **FASE 3: Unión al Dominio**
**Hito 3.1:** Unión exitosa de `pc-dasu0` a `dasuten.utnlr`
#### Semana 3: Procedimiento de Unión
- [ ] **3.1.1:** Ejecutar unión al dominio usando credenciales `DASUTEN\admindasu`
- [ ] **3.1.2:** Configurar nombre de equipo en dominio (`pc-dasu0.dasuten.utnlr`)
- [ ] **3.1.3:** Reiniciar y verificar autenticación en dominio
- [ ] **3.1.4:** Validar membresía en grupos de dominio apropiados
- [ ] **3.1.5:** Aplicar políticas de grupo (GPO) básicas del dominio
#### Semana 3: Migración de Perfiles y Configuración de Red Final
- [ ] **3.1.6:** Migrar perfiles de usuario local (Andrea/Romina) a cuentas de dominio
- [ ] **3.1.7:** Configurar mapeo de unidades de red y recursos compartidos
- [ ] **3.1.8:** Verificar acceso al sistema DASUTEN desde el dominio
- [ ] **3.1.9:** **NUEVO:** Optimizar configuración de red para comunicación directa
- Priorizar ruta local sobre Tailscale
- Configurar métricas de ruta apropiadas
- Establecer monitoreo de conectividad dual
### ✅ **FASE 4: Validación y Monitoreo**
**Hito 4.1:** Sistema operativo en producción estable
#### Semana 4: Pruebas Integrales
- [ ] **4.1.1:** Ejecutar suite de pruebas del sistema DASUTEN
- [ ] **4.1.2:** **ACTUALIZADO:** Validar conectividad persistente durante 24-48 horas usando:
- Comunicación directa local (métrica principal)
- Tailscale como respaldo (métrica secundaria)
- [ ] **4.1.3:** Monitorear logs de autenticación y eventos de dominio
- [ ] **4.1.4:** Verificar funcionamiento de aplicaciones críticas
#### Semana 4: Documentación y Cierre
- [ ] **4.1.5:** Actualizar documentación de `nodos/pc-dasu0.md` con nueva topología
- [ ] **4.1.6:** Registrar hitos en dashboard P2601
- [ ] **4.1.7:** Documentar lecciones aprendidas y procedimientos
- [ ] **4.1.8:** **NUEVO:** Establecer monitoreo continuo de conectividad dual
- Alertas por fallo de comunicación directa
- Métricas de performance de ambas rutas
- Procedimientos de failover automático
## 🚨 Procedimientos de Rollback
### Escenario 1: Fallo en Unión al Dominio
1. Desunir equipo del dominio usando credenciales locales administrativas
2. Restaurar configuración de red original
3. Recuperar perfiles de usuario desde backup
4. Revertir cambios en DNS y configuración de red
### Escenario 2: Problemas de Conectividad Persistente
1. **Prioridad 1:** Diagnosticar comunicación directa local
- Verificar configuración IP local
- Revisar reglas de firewall del router ISP
- Probar conectividad básica entre dispositivos
2. **Prioridad 2:** Habilitar acceso alternativo via Tailscale + RustDesk
3. **Prioridad 3:** Configurar acceso directo temporal si es necesario
4. **Prioridad 4:** Escalar diagnóstico a nivel de infraestructura de red
### Escenario 3: Fallo en Comunicación Directa Local
1. Activar automáticamente ruta Tailscale como primaria
2. Diagnosticar problemas de red local (router ISP, firewall, DHCP)
3. Reconfigurar IPs locales si es necesario
4. Verificar que ambos dispositivos estén en misma subred física
### Escenario 4: Fallo en Sistema DASUTEN
1. Revertir a VM de pruebas `pcv-dasu0` para operaciones críticas
2. Mantener acceso local a datos si es necesario
3. Ejecutar procedimientos de recuperación documentados
## 🔧 Notas Técnicas
### Configuración de Red Requerida (ACTUALIZADA)
#### Configuración Local (PRIMARIA)
```
Adaptador de Red pc-dasu0 (Local):
- IP: [DHCP o estática según subred del router ISP]
- Máscara: [Según configuración router]
- Gateway: [Router ISP local]
- DNS Primario: 10.0.100.10 (dc-dasuten) via ruta local
- DNS Secundario: 8.8.8.8 (fallback)
- Suffix DNS: dasuten.utnlr
```
#### Configuración Tailscale (BACKUP)
```
Tailscale en pc-dasu0:
- IP Tailscale: 100.65.62.44
- Ruta a 10.0.100.0/24: via srv-dasu (100.116.210.36)
- Subnet Router: srv-dasu
```
### Procedimientos para Comunicación Directa Local
#### Paso 1: Identificación de IPs Locales
```powershell
# En pc-dasu0
ipconfig /all
# Identificar IP local asignada por router ISP
# En srv-dasu (via SSH)
ip addr show
# Identificar IP local en interfaz física
```
#### Paso 2: Prueba de Conectividad Básica
```powershell
# Desde pc-dasu0 hacia srv-dasu (IP local)
ping [IP-local-srv-dasu]
Test-NetConnection -ComputerName [IP-local-srv-dasu] -Port 22
# Desde srv-dasu hacia pc-dasu0 (IP local)
ssh user@srv-dasu "ping [IP-local-pc-dasu0]"
```
#### Paso 3: Configuración de Firewall Local
```powershell
# Permitir puertos de dominio en firewall de Windows
New-NetFirewallRule -DisplayName "Dominio DASUTEN" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 389,636,3268,3269,445 `
-Action Allow `
-RemoteAddress [Subred-local]/24
```
### Puertos Críticos para Validación
- **TCP 389/636**: LDAP/LDAPS para autenticación de dominio
- **TCP 3268/3269**: Global Catalog
- **TCP 445**: SMB para recursos compartidos
- **TCP 135, 137-139, 445**: NetBIOS/SMB
- **UDP 123**: NTP para sincronización de tiempo
- **TCP 22**: SSH para administración de srv-dasu
### Dependencias Clave (ACTUALIZADAS)
1. **Router ISP Funcional**: Debe permitir comunicación entre dispositivos locales
2. **Comunicación Local**: Configuración correcta de IPs en misma subred
3. **Firewall Local**: Reglas que permitan puertos de dominio entre dispositivos
4. **Tailscale Subnet Router**: `srv-dasu` debe exponer `10.0.100.0/24` (backup)
5. **DNS Funcional**: `dc-dasuten` debe resolver nombres internos y externos
6. **Sincronización de Tiempo**: NTP configurado entre todos los nodos
7. **Credenciales**: Acceso a bóveda `ns8-candados` para `admindasu`
## 📊 Métricas de Éxito (ACTUALIZADAS)
1. **Conectividad Local**: Ping exitoso >99% del tiempo a `srv-dasu` via IP local
2. **Conectividad Dominio**: Ping exitoso >95% del tiempo a `dc-dasuten` (`10.0.100.10`)
3. **Autenticación**: Login en dominio exitoso en <15 segundos via ruta local
4. **Latencia**: <5ms en comunicación local entre `pc-dasu0` y `srv-dasu`
5. **Sistema DASUTEN**: Acceso completo y operativo al sistema productivo
6. **Estabilidad**: 0 incidentes críticos en primeras 72 horas post-implementación
7. **Usuario**: Perfiles migrados exitosamente sin pérdida de datos
8. **Resiliencia**: Failover automático a Tailscale en <30 segundos si falla ruta local
## 📚 Referencias
1. [Proyecto P2601 DASUTEN](../../P2601_dasuten.md)
2. [Nodo: pc-dasu0](../nodos/pc-dasu0.md)
3. [Nodo: pcv-dasu0](../nodos/pcv-dasu0.md) *(VM de referencia)*
4. [Nodo: dc-dasuten](../nodos/dc-dasuten.md)
5. [Nodo: srv-dasu](../nodos/srv-dasu.md)
6. [Plan 6.1.A: Red srv-dasu](P2601_6.1.A - Red_SrvDasu.md)
7. [ADN: Seguridad y Red](../adn/03_seguridad.md)
8. **NUEVO:** [Procedimiento de Comunicación Directa Local](../proc/P2601_6.1.B_comunicacion_directa_local.md)
---
## 📋 Registro de Diagnósticos
### 15/03/2026 — Diagnóstico remoto via `./adn/tools/run ssh`
**Herramienta:** CLI `ssh` (P2604-S11, nueva herramienta ADN reutilizable)
| Nodo | Puerto 7022 | Ping | Estado |
|:-----|:-----------:|:----:|:------:|
| srv-dasu | SSH:22 ✅ | ✅ ~95ms via Tailscale | Online (uptime 4d) |
| dc-dasuten | ❌ Cerrado | ❌ timeout | VM apagada o sin SSH |
| sql-dasuten | ✅ Abierto | - | Accesible via proxy srv-dasu |
| pcv-dasu0 | ✅ Abierto | - | Accesible via proxy srv-dasu |
| pc-dasu0 | - | ❌ Offline Tailscale | Offline hace 1d |
**Conclusión:** `sql-dasuten` y `pcv-dasu0` están activas y accesibles. `dc-dasuten` requiere atención (encender VM o verificar SSH).
---
**⚠️ ADVERTENCIA CRÍTICA:** Este plan sigue la filosofía DB-First del ADN.
**🔍 CAMBIO FUNDAMENTAL:** La topología de red compartida (mismo router ISP) cambia radicalmente la estrategia de conectividad, priorizando comunicación directa local sobre soluciones de tunelización como Tailscale. Esto representa una optimización significativa en performance y estabilidad.