📋 Nuevo plan A01.P010: W-Zombi Relay Switch (redes internas vía srv-dasu)
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
# A01.P010 - W-ZOMBI Relay Switch (Alcance a Redes Internas)
|
||||
|
||||
> **Estado**: ⏳ Pendiente
|
||||
> **Pertenece a**: [A01 - Ecosistema ADN](./A01_dtic-ADN.md)
|
||||
> **Fecha**: 2026-04-09
|
||||
> **Responsable**: Lic. Ricardo MONLA
|
||||
> **Versión**: 1.0 — Plan inicial
|
||||
> **Prerequisito**: W-Zombi v2.1 (A01.P003)
|
||||
|
||||
---
|
||||
|
||||
## 📋 Resumen Ejecutivo
|
||||
|
||||
Extender W-Zombi para alcanzar **PCs y VMs en redes internas** que no tienen conectividad directa con NS8 vía Tailscale, usando un nodo intermedio (ej: `srv-dasu`) como **relay/switch**.
|
||||
|
||||
**Topología actual (problema):**
|
||||
```
|
||||
NS8 (Tailscale) ──✔──► srv-dasu (Tailscale + LAN)
|
||||
│
|
||||
NS8 ──────✖──────────► VM-interna (solo LAN)
|
||||
```
|
||||
|
||||
**Topología objetivo:**
|
||||
```
|
||||
NS8 ──► srv-dasu (relay) ──► VM/PC interna (LAN)
|
||||
↕ retransmite
|
||||
cmd.json + log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Objetivo
|
||||
|
||||
Permitir que W-Zombi controle PCs/VMs en redes internas inaccesibles directamente desde NS8, utilizando un nodo intermedio con visibilidad en ambas redes como relay transparente.
|
||||
|
||||
---
|
||||
|
||||
## 🏗️ Opciones de Arquitectura
|
||||
|
||||
### Opción A: Relay HTTP en srv-dasu (Recomendada)
|
||||
|
||||
srv-dasu corre un mini-servidor que:
|
||||
1. Escucha en puerto local (ej: 8001)
|
||||
2. El zombi PS1 en la VM interna se conecta a `srv-dasu:8001`
|
||||
3. srv-dasu reenvía `cmd.json` desde NS8 y `log` hacia NS8
|
||||
|
||||
**Pros:** Independiente, no requiere cambios en firewall
|
||||
**Contras:** Requiere un servicio en srv-dasu
|
||||
|
||||
```
|
||||
NS8:8000 ←──tailscale──→ srv-dasu:8001 ←──LAN──→ VM-target
|
||||
(server) (relay) (zombi)
|
||||
```
|
||||
|
||||
### Opción B: SSH Port Forward
|
||||
|
||||
```bash
|
||||
# Desde NS8:
|
||||
ssh -L 8001:IP_VM_INTERNA:8000 srv-dasu
|
||||
```
|
||||
|
||||
**Pros:** Cero código nuevo
|
||||
**Contras:** Requiere sesión SSH activa, no es autónomo
|
||||
|
||||
### Opción C: Tailscale Subnet Router
|
||||
|
||||
Configurar srv-dasu como subnet router para exponer la LAN interna.
|
||||
|
||||
**Pros:** Solución nativa Tailscale, todas las VMs accesibles
|
||||
**Contras:** Requiere configuración de Tailscale admin, posibles implicaciones de seguridad
|
||||
|
||||
---
|
||||
|
||||
## 📋 Tareas (Opción A — Relay HTTP)
|
||||
|
||||
| ID | Tarea | Descripción | Estado |
|
||||
|:--:|-------|-------------|--------|
|
||||
| T1 | Diseño del relay | Definir protocolo de retransmisión | ⏳ |
|
||||
| T2 | `relay.rb` / `relay.ps1` | Script relay para srv-dasu | ⏳ |
|
||||
| T3 | Multi-target | Soportar múltiples VMs (ej: `cmd_vm101.json`, `cmd_vm102.json`) | ⏳ |
|
||||
| T4 | CLI `w-zombi relay` | Subcomando para gestionar relays | ⏳ |
|
||||
| T5 | Validación | Test con PC Windows real vía relay | ⏳ |
|
||||
|
||||
---
|
||||
|
||||
## 📝 Contexto Técnico
|
||||
|
||||
### Nodos involucrados
|
||||
|
||||
| Nodo | Red | Rol | IP Tailscale |
|
||||
|------|-----|-----|-------------|
|
||||
| NS8 | Tailscale | Servidor W-Zombi (control) | 100.111.195.4 |
|
||||
| srv-dasu | Tailscale + LAN | Relay/Switch | 100.116.210.36 |
|
||||
| PC target | Solo LAN | Zombi (ejecuta comandos) | ¿? (LAN interna) |
|
||||
|
||||
### Flujo de datos
|
||||
|
||||
```
|
||||
1. NS8 escribe cmd.json (id:201, cmd:"ipconfig")
|
||||
2. srv-dasu (relay) polling NS8:8000/cmd.json cada 5s
|
||||
3. srv-dasu sirve cmd.json en su puerto local 8001
|
||||
4. PC-target (zombi PS1) polling srv-dasu:8001/cmd.json cada 5s
|
||||
5. PC-target ejecuta "ipconfig", POST resultado a srv-dasu:8001/log
|
||||
6. srv-dasu reenvía log a NS8:8000/log
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔮 Evolución Futura
|
||||
|
||||
- **Multi-relay**: Cadena de relays para redes muy segmentadas
|
||||
- **Registro automático**: Zombis se anuncian al conectarse
|
||||
- **Dashboard**: Ver estado de todos los zombis (directos + relay)
|
||||
- **Integración Dron**: Lanzar comandos remotos como drones con eventos en Bitácora
|
||||
|
||||
---
|
||||
|
||||
## 📚 Referencias
|
||||
|
||||
- [A01.P003 — W-ZOMBI v2.0](./A01.P003_W-ZOMBI-v2.0.md)
|
||||
- Fix v2.1: Ruta `/cmd` + JSON parsing robusto (2026-04-09)
|
||||
Reference in New Issue
Block a user