Unify Windows client bootstrap and discover network paths
This commit is contained in:
+52
-17
@@ -1,14 +1,15 @@
|
||||
# Enrolamiento obligatorio de clientes SGU
|
||||
|
||||
Para una instalación limpia se selecciona primero el ZIP correspondiente:
|
||||
Para Windows 10 y Windows 11 se usa un solo paquete:
|
||||
|
||||
- `sgu-windows10-legacy-client-bootstrap-VERSION.zip` para Windows 10;
|
||||
- `sgu-windows11-client-bootstrap-VERSION.zip` para Windows 11.
|
||||
- `sgu-windows-client-bootstrap-VERSION.zip` (x64, Pro, Enterprise o Education).
|
||||
|
||||
Ambos conservan el punto de entrada directo:
|
||||
Extraer el ZIP y hacer doble clic en `Start-SguClientEnrollment.cmd`. Aceptar
|
||||
UAC, introducir la IP del controlador y la cuenta del dominio con su contraseña.
|
||||
También se puede indicar el servidor desde consola:
|
||||
|
||||
```bat
|
||||
Start-SguClientEnrollment.cmd 192.168.50.10 192.168.50.11
|
||||
Start-SguClientEnrollment.cmd 192.168.50.10
|
||||
```
|
||||
|
||||
Este comando realiza el intercambio de certificados descrito abajo sin mover
|
||||
@@ -16,19 +17,52 @@ una clave privada y luego ejecuta la transacción proveedor-primero. Las
|
||||
instrucciones completas están en
|
||||
[`bootstrap-recovery.md`](bootstrap-recovery.md).
|
||||
|
||||
El primer argumento es la IP fija del controlador; el segundo es una IP fija y
|
||||
única para el cliente en la misma subred. Si el segundo se omite y la NIC
|
||||
privada no tiene una IP válida, se solicita en pantalla. El bootstrap prefiere
|
||||
la única NIC activa sin puerta de enlace para no reemplazar el adaptador de
|
||||
Internet. Ante cualquier error conserva la ventana y escribe el diagnóstico en
|
||||
El único dato de red necesario es la IPv4 del controlador. El bootstrap prueba
|
||||
WinRM desde las direcciones de las interfaces conectadas, incluyendo túneles
|
||||
VPN, empezando por la ruta elegida por Windows. Si ésta falla, prueba las demás
|
||||
rutas disponibles. Cliente y servidor pueden estar en subredes distintas.
|
||||
Si la red todavía está inicializando, reintenta el descubrimiento durante
|
||||
20 segundos antes de informar el último diagnóstico.
|
||||
Conserva DHCP, direcciones y puertas de enlace. Sólo si Windows elige otra
|
||||
interfaz agrega una ruta persistente `/32` hacia ese servidor por la interfaz
|
||||
comprobada; no modifica la ruta de Internet. Ante cualquier error conserva la
|
||||
ventana y escribe el diagnóstico en
|
||||
`C:\ProgramData\SGU\Bootstrap\Client\latest-error.log`.
|
||||
|
||||
El manifiesto contiene el perfil `Windows10Legacy` o `Windows11Modern` y el
|
||||
bootstrap rechaza un ZIP que no corresponda al build instalado. El paquete de
|
||||
Windows 11 conserva además `Start-SguAzureClientEnrollment.cmd` y el instalador
|
||||
P2S de equipo; el legado de Windows 10 se limita al transporte directo del
|
||||
laboratorio. Credential Provider, mTLS, cuenta `alumno`, RustDesk, monitorización
|
||||
y autorreparación siguen saliendo de la misma base de código.
|
||||
El dominio DNS, NetBIOS y contenedor de equipos se descubren en la sesión
|
||||
autenticada. Usa `OU=Laboratorio` si existe en la raíz del dominio y, en caso
|
||||
contrario, el contenedor de equipos configurado en AD. Los parámetros
|
||||
`-DomainName`, `-DomainNetbios` y `-ComputerOuDn` permiten validarlos o elegirlos
|
||||
explícitamente. Para otra cuenta, editar el usuario sugerido como
|
||||
`DOMINIO\usuario` o `usuario@dominio`. No se guardan contraseñas.
|
||||
|
||||
El DNS se configura mediante una regla NRPT para el dominio descubierto,
|
||||
conservando los servidores DNS de los adaptadores y la resolución de Internet.
|
||||
Las políticas DNS/VPN corporativas deben permitir resolver ese dominio.
|
||||
El servidor necesita el bootstrap SGU (AD/DNS, WinRM, Auth Broker y RustDesk):
|
||||
este paquete no es un enrolador genérico de Microsoft Entra ID ni instala SGU
|
||||
en un directorio ajeno automáticamente. Se comprueban TCP 53, 88, 135, 389, 445,
|
||||
5985 y 8443; la unión también requiere DNS/Kerberos por UDP y RPC dinámico
|
||||
según la configuración de AD. Estas pruebas no sustituyen la unión real.
|
||||
|
||||
Una VPN de cualquier proveedor ya conectada utiliza el mismo lanzador. Para
|
||||
instalar la VPN Azure IKEv2 se incluyen `Start-SguAzureClientEnrollment.cmd` e
|
||||
`Install-SguAzureP2sClient.ps1` en el mismo ZIP para ambos Windows; la primera
|
||||
instalación requiere perfil y certificados. La conectividad antes del inicio
|
||||
de sesión depende de la VPN y sus políticas, no se puede deducir de la IP del DC.
|
||||
|
||||
Una interfaz con sólo APIPA (`169.254.x.x`), sin DHCP o sin ruta necesita que
|
||||
el administrador configure la red o conecte la VPN. El bootstrap no inventa una
|
||||
IP libre ni una puerta de enlace. Para una LAN estática se mantienen los
|
||||
parámetros avanzados `-ClientIPv4Address`, `-ClientPrefixLength` y
|
||||
`-NetworkInterfaceAlias`; la IP y la interfaz deben indicarse juntas.
|
||||
|
||||
El manifiesto usa `CompatibilityProfile: Auto`. No hay restricciones de VPN
|
||||
por Windows 10/11; los nombres antiguos de perfil se aceptan como parámetros
|
||||
obsoletos. Se valida x64, edición con unión a AD y Windows 10 desde 1607 o
|
||||
Windows 11 (el runtime incluido es .NET 10; usar una edición/build compatible
|
||||
con su ciclo de soporte). Credential Provider, mTLS, cuenta `alumno`, RustDesk,
|
||||
monitorización y autorreparación conservan la misma implementación.
|
||||
|
||||
El flujo administrado instala y valida el Credential Provider **antes** de
|
||||
ejecutar `Add-Computer`. La pertenencia al dominio es el último cambio; si falta
|
||||
@@ -91,7 +125,8 @@ Orden de la transacción:
|
||||
2. registra COM, configura SGU como proveedor predeterminado y oculta el
|
||||
último usuario que cerró sesión;
|
||||
3. crea o actualiza la cuenta local estándar `alumno` con la contraseña
|
||||
`ingenieria`, la habilita y garantiza que no pertenezca a Administradores;
|
||||
inicial `ingenieria` sólo al crearla; si ya existe conserva su contraseña,
|
||||
la habilita y garantiza que no pertenezca a Administradores;
|
||||
4. instala el guard de autorreparación;
|
||||
5. exige health mTLS del broker y ejecuta las comprobaciones locales;
|
||||
6. configura DNS del dominio;
|
||||
|
||||
Reference in New Issue
Block a user