Files
dtic-DIIAA/docs/ambito/dtic-DASUTEN/P2601.06.02_AD-Join.md
T

306 lines
14 KiB
Markdown

# 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` | ✅ | ❓ Fallando | ✅ Renombrado |
| `dasu-srvv-sql` | (✅ antes sql-dasuten) | VM 101 (SQL) | `10.0.100.11` | ✅ | ✅ | ✅ Renombrado |
| `dasu-pcv` | (antes pcv-dasu0) | VM 102 (Test) | `10.0.100.12` | ❌ | ✅ | ✅ Renombrado |
| `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 │ │
│ dasu-srvv-dc │ Ruta DNS: │
│ (.10) [AD] │ ← ← ← ← ← ← ← ← ┘
│ dasu-srvv-sql│
│ (.11) [SQL] │
│ dasu-pcv │
│ (.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` |
| `dasu-srvv-dc` | ✅ Instalado | — |
| `dasu-srvv-sql` | ✅ 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` | ✅ Completado (16/03) |
| 1.0.2 | `dc-dasuten` (VM 100) | `dasu-srvv-dc` | ✅ Completado (16/03) |
| 1.0.3 | `pcv-dasu0` (VM 102) | `dasu-pcv` | ✅ Completado (16/03) |
| 1.0.4 | `pc-dasu0` (PC Física) | `dasu-pc0` | ⏳ Pendiente |
**Procedimiento validado (sql-dasuten → dasu-srvv-sql):**
1. Desplegar clave RSA de `rmonla@srv-dasu` en `administrators_authorized_keys` (una vez, vía sshpass)
2. `Rename-Computer -NewName <nombre> -DomainCredential $cred -Force -Restart` (PowerShell EncodedCommand)
3. `sudo qm set <VMID> --name <nombre>` (Proxmox display name)
4. `git mv nodos/<viejo>.md nodos/<nuevo>.md` + actualizar contenido
5. Actualizar referencias en manifiesto y plan
6. Verificar: hostname, dominio, conectividad post-reinicio
#### Tarea 1.0.2: dc-dasuten → dasu-srvv-dc
> ⚠️ **Bloqueador:** SSH 7022 no accesible desde srv-dasu. Windows Firewall filtra el puerto.
**Opciones para desbloquear (evaluar en orden):**
| # | Opción | Método | Riesgo | Requiere |
| :--- | :--- | :--- | :--- | :--- |
| A | **qm guest exec** | Ejecutar comando via QEMU Guest Agent desde Proxmox | Bajo | GA instalado en VM |
| B | **Tailscale SSH** | Conectar vía IP Tailscale directa de dc-dasuten | Bajo | Tailscale activo y alcanzable |
| C | **Consola Proxmox** | Abrir consola noVNC y ejecutar manualmente | Nulo | Acceso web a Proxmox |
**Sub-tareas:**
| ID | Tarea | Estado |
| :--- | :--- | :--- |
| 1.0.2.a | Verificar si QEMU Guest Agent está instalado: `sudo qm agent 100 ping` | ❌ Falló (No instalado) |
| 1.0.2.b | Si GA activo → ejecutar `netsh advfirewall firewall add rule...` | ❌ Omitido |
| 1.0.2.c | Alternativa: probar SSH vía IP Tailscale directa | ❌ Falló (No registrado) |
| 1.0.2.d | **Alternativa 3:** Ejecutar comandos vía **WinRM** desde dasu-srvv-sql | ✅ Exitoso |
| 1.0.2.e | Abrir SSH 7022 Firewall vía WinRM `Invoke-Command` | ✅ Agregado |
| 1.0.2.f | El servidor SSHD no inicia (Broken AD permissions issue). Se operó el nodo enteramente por WinRM | ⚠️ Documentado |
| 1.0.2.g | Renombrar nodo vía `netdom computername` (Add + MakePrimary) sobre WinRM | ✅ Completado |
| 1.0.2.h | Actualizar Proxmox: `sudo qm set 100 --name dasu-srvv-dc` | ✅ Completado |
| 1.0.2.i | Limpiar alternate name: `netdom /remove` | ✅ Completado |
| 1.0.2.j | Actualizar ficha `nodos/dc-dasuten.md``nodos/dasu-srvv-dc.md` | ✅ Completado |
> ⚠️ **Precaución DC:** Al renombrar el Controlador de Dominio, verificar que los registros SRV de DNS se actualicen automáticamente (`_ldap._tcp.dasuten.utnlr`, `_kerberos._tcp.dasuten.utnlr`). Ejecutar `dcdiag /q` post-rename.
#### Tarea 1.0.3: pcv-dasu0 → dasu-pcv
| ID | Tarea | Estado |
| :--- | :--- | :--- |
| 1.0.3.a | Verificar SSH accesible desde srv-dasu (7022) | ✅ SSH probado |
| 1.0.3.b | Desplegar clave RSA vía sshpass (si no está desplegada) | ✅ Desplegada |
| 1.0.3.c | Rename-Computer -NewName dasu-pcv -Force -Restart | ✅ Completado |
| 1.0.3.d | Actualizar Proxmox: `sudo qm set 102 --name dasu-pcv` | ✅ Completado |
| 1.0.3.e | Actualizar ficha `nodos/pcv-dasu0.md``nodos/dasu-pcv.md` | ✅ Completado |
| 1.0.3.f | Verificar conectividad y actualización de DNS | ✅ Confirmado DNS |
#### Tarea 1.0.4: pc-dasu0 → dasu-pc0
> Requiere acceso físico o SSH/Tailscale funcional a la PC de la oficina.
| ID | Tarea | Estado |
| :--- | :--- | :--- |
| 1.0.4.a | Verificar conectividad (Tailscale o SSH directo) | ⏳ |
| 1.0.4.b | Renombrar equipo (PowerShell o GUI según acceso) | ⏳ |
| 1.0.4.c | Actualizar ficha `nodos/pc-dasu0.md``nodos/dasu-pc0.md` | ⏳ |
| 1.0.4.d | Verificar tras reinicio | ⏳ |
#### 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 `dasu-srvv-dc.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 dasu-srvv-dc y dasu-srvv-sql ✅
- [x] **1.8** Instalar Tailscale en dasu-srvv-dc y dasu-srvv-sql ✅
- [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 dasu-srvv-dc (SSHD roto y Firewall cerrado)
- [ ] **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` (dasu-srvv-dc, 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 dasu-srvv-dc.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. **dasu-srvv-dc 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 dasu-srvv-dc
./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` → `dasu-srvv-dc` |
| 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: dasu-pcv](../../../nodos/dasu-pcv.md) *(VM referencia, ya unida al dominio)*
4. [Nodo: dasu-srvv-dc](../../../nodos/dasu-srvv-dc.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)
- ✅ Clave RSA generada en srv-dasu (rmonla) y desplegada en sql-dasuten (#1117)
- ✅ **Hostname sql-dasuten → dasu-srvv-sql** completado: Rename-Computer + Proxmox + ficha (#1117)
- ✅ **Hostname dc-dasuten → dasu-srvv-dc** completado: netdom vía Invoke-Command (WinRM) desde dasu-srvv-sql porque el SSH Server estaba roto en el DC (#1118)
- ✅ **Hostname pcv-dasu0 → dasu-pcv** completado: Rename-Computer (via domain credential) + Proxmox + Clave RSA + DNS OK (#1119)
### 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.