Archivo del blog

Mostrando entradas con la etiqueta windows11. Mostrar todas las entradas
Mostrando entradas con la etiqueta windows11. Mostrar todas las entradas

25 agosto 2026

Ansible: Poniendo orden en mi laboratorio Proxmox

Automatiza la gestión de tus máquinas virtuales y contenedores sin esfuerzo.

Tengo ya cómo unas diez máquinas Linux funcionando en Proxmox: Debian, Ubuntu y Alpine, cada una haciendo sus tareas diarias. Además, un Windows 11 y un Windows Server Core 2019 para las pruebas de SSCM y Azure que estoy haciendo.

Al principio no supone demasiado trabajo mantenerlas. Pero cuando empiezas a tener varias máquinas, repetir las mismas tareas una y otra vez empieza a ser bastante aburrido. Y aburrido, en este oficio, significa peligroso (porque acabas haciendo las cosas a lo loco).

Así que decidí probar Ansible. Y este es el manual de cómo lo estoy montando, con sus fallos y sus soluciones.


¿Qué quiero conseguir? 

La idea no es montar una infraestructura empresarial ni complicarnos la vida, eso ya lo hacemos en el trabajo. Quiero poder administrar mi laboratorio desde un único sitio. Nada más. Y nada menos.

 

Tabla de objetivos (con su estado real):

ObjetivoEstado
Comprobar que todas las máquinas están disponibles✅ Hecho
Actualizar Debian y Ubuntu (apt)✅ Hecho
Actualizar Alpine (apk)✅ Hecho
Gestionar servicios (start/stop/restart)🔄 En progreso
Instalar software🔄 En progreso
Crear usuarios🔄 En progreso
Ejecutar comandos remotos✅ Hecho
Automatizar tareas repetitivas🔄 En progreso
Actualizar Windows⏳ Pendiente (requiere WinRM)
Registrar qué ha ocurrido (logs)🔄 En progreso


Mi laboratorio

Para este manual voy a utilizar un escenario bastante parecido al que podemos encontrar en un laboratorio doméstico o de pruebas:

                         PROXMOX
                            │
             ┌──────────────┴──────────────┐
             │                             │
       ANSIBLE CONTROLLER              OTRAS VM/LXC
          Debian Linux                     │
             │                             │
      ┌──────┼────────┬─────────┐          │
      │      │        │         │          │
    Debian  Ubuntu  Alpine    Debian     Windows
      │      │        │         │        ┌───┴────┐
      │      │        │         │        │        │
     VM/LXC VM/LXC  VM/LXC    VM/LXC    Win11  WServerCore2019

No hace falta que todas las máquinas sean iguales para que esto funcione, de hecho, esa es precisamente la gracia. Tenemos diferentes distribuciones, diferentes servicios y también Windows.


¿Por qué necesito Ansible?

Imaginemos que quiero actualizar todos mis Debian y Ubuntu.

Sin Ansible:

SSH → Debian 1 → apt update &&  apt full-upgrade -y
SSH → Debian 2 → apt update &&  apt full-upgrade -y
SSH → Ubuntu 1 → apt update &&  apt full-upgrade -y
SSH → Debian 3 → apt update &&  apt full-upgrade -y
...

Y si tengo diez máquinas, acabamos haciendo lo mismo diez veces.

Con Ansible:

ansible servidores -m apt -a "update_cache=yes"

Y Ansible se encarga del resto.

Una orden. Todas las máquinas. Más tiempo para mí.


Pero tengo Alpine...

Aquí aparece una situación interesante de nuestro laboratorio.

Alpine Linux utiliza apk, mientras que Debian y Ubuntu utilizan apt.

No podemos tratar todas las máquinas exactamente igual.

Podemos organizar el inventario:

[debian]
debian01
debian02
debian03

[ubuntu]
ubuntu01
ubuntu02

[alpine]
alpine01
alpine02

[windows]
windows11
servercore2019

Ahora podemos decidir qué hacer con cada grupo.

Por ejemplo:

Debian/Ubuntu → apt
Alpine        → apk
Windows       → WinRM

Y esto nos permite empezar a ver por qué Ansible resulta tan interesante cuando nuestro laboratorio empieza a crecer.


¿Y Windows?

También vamos a tocar Windows.

En nuestro laboratorio tenemos:

  • Windows 11 Pro
  • Windows Server Core 2019

Ansible puede administrar Windows, aunque la comunicación y algunas tareas son diferentes a Linux.

Esto nos permitirá ver algo bastante útil:

                    Ansible
                       │
          ┌────────────┴────────────┐
          │                         │
        Linux                     Windows
          │                         │
    ┌─────┼─────┐              ┌────┴─────┐
    │     │     │              │          │
  Debian Ubuntu Alpine        Win11   Server Core

Así que el manual no será simplemente:

"Instala Ansible y ejecuta ping".

La idea será llevarlo desde cero hasta utilizarlo realmente en un laboratorio heterogéneo.


El objetivo del manual

Al terminar tendremos algo parecido a esto:

                    ┌─────────────────┐
                    │    PROXMOX      │
                    └────────┬────────┘
                             │
                    ┌────────▼────────┐
                    │ Debian Ansible  │
                    │    Controller   │
                    └────────┬────────┘
                             │
             ┌───────────────┼────────────────┐
             │               │                │
             ▼               ▼                ▼
          Linux           Linux           Windows
        Debian/Ubuntu     Alpine          Win11
                                          Server 2019

Y desde nuestro Debian podremos hacer cosas como:

Actualizar servidores

ansible linux -m ...

Comprobar máquinas

ansible all -m ping

Instalar paquetes

ansible debian -m ...

Gestionar servicios

ansible linux -m ...

Y, sobre todo, empezar a crear Playbooks, que serán los que realmente nos permitirán automatizar nuestro laboratorio.

Lo primero: instalar Ansible en el nodo controlador

Un solo nodo Debian será el “jefe” que habla con todos los demás.

Requisitos previos:

  • Un Debian 12 recién instalado (o cualquiera que tengas).
  • Acceso por SSH a todas las máquinas objetivo (con clave pública, no contraseña).
  • Python 3 (viene por defecto en Debian 12).

Instalación (en el nodo controlador):

# Actualiza el sistema
sudo apt update && sudo apt upgrade -y # Instala Ansible (desde los repos oficiales de Debian)
sudo apt install -y ansible # Verifica la instalación
ansible --versión # Verifica la versión de Phyton
python3 --version


🔑 Paso 2: Generar clave SSH para Ansible


Objetivo: Ansible se autentica sin contraseña hacia Debian/Ubuntu/Alpine y también más adelante hacia Windows (WinRM aparte).

Ahora en el controller, que en nuestro caso es en la MV Debian que tenemos en Proxmox, tenemos que ejecutar el código:


ssh-keygen -t ed25519 -b 4096 -C "ansible-controller" -f ~/.ssh/id_ed25519


    Te va a pedir passphrase: Pero lo dejamos en blanco para el laboratorio, aunque en producción tendrías que usar un usuario y contraseña segura.

📤 Paso 3: Copiar la clave pública a todas las VMs/LXC

Vamos por lo simple: ssh-copy-id

Asumiendo que el usuario destino en Linux es el mismo en todas (ej. debian/ubuntu/alpine), por ejemplo:

*NdelA: En un entorno de producción, el usuario no debe de ser nunca el "root" o Administrador en Windows por seguridad, en el lab, pues lo dejamos como queramos ;-)


ssh-copy-id -i ~/.ssh/id_ed25519.pub debian@debian01

ssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@ubuntu01

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@alpine01

y así en todos los equipos que tengamos...


📌 Ojo: Revisa esto antes de empezar con el SSH.

Resulta que tenemos bloqueado el SSH con el usuario root, para habilitarlo tenemos que hacer esto:

nano /etc/ssh/sshd_config y descomentamos la línea: PasswordAuthentication y le ponemos un YES en vez de lo que tiene: 



Verás que en el Alpine, no viene configurado el Python3, viene bastante pelado por defecto, por lo que tendremos que instalarlo para que funcione:

apk update && apk add python3


Luego hacemos un python3 --version para ver si lo tenemos instalado:


🗂️ Paso 5: Inventario Ansible (para que luego todo encaje)

Ahora vamos a crear un inventario sencillo, por ejemplo:

Vamos a crear una carpeta ~/ansible-lab y dentro hacemos el fichero: inventory.ini con los nodos.



y creamos el fichero inventory.ini



Y lo probamos:

ansible pihole -i inventory.ini -m ping


Nos aparece un hermoso Warning, no te alarmes, es un aviso de Ansible sobre el descubrimiento automático de Python.
Mientras vemos que tenemos un pong, nos alegra ver que funciona.

Si te molesta el warning dichoso como a mí, en el inventory.ini, tienes que añadir una línea
que indique explícitamente qué intérprete Python debe usar Ansible.

[linux:vars]
ansible_python_interpreter=/usr/bin/python3


Y con eso ya no nos sale el warning.

Ejecutamos el ansible linux -i inventory.ini -m setup -a 'filter=ansible_distribution'
y nos dice las máquinas que tenemos online:


Playbooks


Ahora vamos con los playbooks con lo que queremos que hagan:

Primer creamos una carpeta dentro en la misma altura donde teníamos creado el inventory.ini:


Y aquí empieza lo bueno: vamos a crear un único Playbook que:
Detecte el sistema operativo.
Use apt en Debian/Ubuntu.
Use apk en Alpine.
Actualice los paquetes.
Nos muestre claramente qué ha hecho.
No ejecute nada en Windows.


creamos nuestro primer yml, lo vamos a llamar update-linux.yml con el contenido:



y una vez creado vamos a ejecutarlo:

ansible-playbook -i inventory.ini playbooks/update-linux.yml


Y ya tenemos los equipos actualizados.

Y como guinda del pastel, creamos una tarea para que lo lance semanalmente

 

Y con esto tenemos ya un laboratorio Linux completamente gestionado desde Ansible.

Hemos aprendido a:

✅ Instalar Ansible en nuestro controlador Debian
✅ Configurar acceso SSH mediante claves
✅ Crear un inventario organizado por grupos
✅ Ejecutar comandos remotos
✅ Comprobar el estado de las máquinas
✅ Detectar distribuciones automáticamente
✅ Actualizar Debian, Ubuntu y Alpine desde un único Playbook

Todo ello desde una sola consola y sin necesidad de ir conectándonos máquina por máquina.


¿Y Windows?

Windows se ha quedado aparcado por ahora.

No porque Ansible no pueda gestionarlo, sino porque requiere una configuración adicional mediante WinRM, certificados, reglas de firewall y algunos ajustes que merece la pena explicar con calma para no volvernos locos a la primera prueba.

Además, quiero enseñarlo funcionando tanto contra Windows 11 como contra Windows Server Core 2019, que es donde realmente se pone interesante.

Pero si le dais cariño al post, prometo hacer una segunda vuelta.
De momento sigo de vacaciones, así que toca disfrutar un poco antes de volver a pelearme
con WinRM... 😄

13 junio 2024

Cómo crear una imagen personalizada de Windows 11 con NTLite.

¿Porqué con NTlite y no con alguna herramienta de Microsoft?

Aunque Microsoft no ofrece una herramienta que combine todas las características que presenta NTLite en una sola interfaz, las herramientas que dispone que son: WSIM, MDT y Windows Configuration Designer, permiten una personalización avanzada de las imágenes de Windows y son adecuadas para diferentes escenarios de despliegue y configuración, pero algunas o son muy poca intuitivas, o tienen una curva de aprendizaje más pronunciada o incluso tienen menos recursos que NTLite. Por ese motivo escogimos NTLite.

Comencemos!!

Para agregar una imagen a NTLite, primero selecciona 'Añadir' > 'Archivo de imagen', y luego elegimos el archivo que queremos abrir, en nuestro caso una ISO.

Ahora tenemos que buscar la imagen que nos hemos descargado desde la web de Microsoft, en nuestro caso hemos usado una con todos los sabores de Windows, y seleccionaremos Windows 11 Pro, haciendo doble clic sobre la imagen.


Y se nos pondrá en verde, y podremos empezar hacer nuestra selección.



Y en el menú de la izquierda, iremos a actualizaciones, y luego "Añadir" para descargarnos todas las actualizaciones que haya lanzado Microsoft para Windows después de crear la ISO.



Aquí depende de cada técnico, pero a mi me gusta señalar todos los paquetes y decirle que "en cola" para que los descargue una vez guardemos la imagen.


3. Personalizar la Imagen de Windows 11

Eliminar Componentes: 

Navega a la sección Componentes en NTLite.

Revisa los componentes disponibles y elimina aquellos que no necesites para reducir el tamaño de la imagen y mejorar el rendimiento.

Aquí lo dejamos a tu elección, yo he borrado las opciones de Xbox, los iconos del Office, los juegos que incluye Windows como el solitario.



Configurar Ajustes:

En la sección Desatendido. Podemos añadir un usuario administrador básico para hacer la instalación


Y también añadir que la instalación de Windows sea automática y que cargue al final el escritorio.


Aplicaciones Preinstaladas

En la sección Post-Setup, añade scripts o aplicaciones que deseas instalar automáticamente durante la configuración inicial.
Nosotros hemos creado un bat, para hacer la instalación de las aplicaciones que más usamos desde Winget.


Y una vez completado todo el proceso, le damos a procesar.


Y nos va mostrando luego el proceso que va haciendo el programa para descargar y hacer la configuración que hemos seleccionado.


Y una vez completado el proceso, quemamos la imagen en un USB o la subimos a nuestro sistema predefinido.

Espero que os sea de utilidad!!!

saludos.

18 mayo 2024

Que hacer una vez instalado Windows 11.



Que hacer una vez instalado Windows 11

Este manual está diseñado para proporcionar a los usuarios de Windows una guía detallada sobre cómo optimizar su sistema operativo para mejorar su rendimiento general. Siguiendo varias recomendaciones de Microsoft y utilizando técnicas comprobadas, aborda varios aspectos clave que pueden influir en la velocidad y la eficiencia de un sistema Windows.

Desde deshabilitar la integridad de memoria hasta ajustar la configuración del archivo de paginación y desactivar la plataforma de máquina virtual (VMP), cada paso está diseñado para eliminar posibles cuellos de botella y optimizar los recursos disponibles en el sistema. 


Es importante tener en cuenta que realizar cambios en la configuración del sistema conlleva ciertos riesgos, por lo que se recomienda encarecidamente seguir las instrucciones con precaución y realizar copias de seguridad del sistema antes de proceder. Además, algunos cambios pueden requerir privilegios de administrador y reinicios del sistema para que surtan efecto, así que tenemos que ir con cuidado con cada cambia que hagamos.

 ¡Esperamos que este manual sea una herramienta útil y que ayude a mejorar la experiencia de uso de Windows para todos los usuarios! 

 ¡¡¡Comencemos!!! 


Primeros pasos; configuración.


1.- Deshabilitar la Integridad de Memoria: Presiona las teclas Win + R para abrir el cuadro de diálogo Ejecutar. Escribe cmd y presiona Ctrl + Shift + Enter para abrir el símbolo del sistema con privilegios elevados. 

En la ventana del símbolo del sistema, escribe el siguiente comando y presiona Enter: 

 bcdedit /set nx AlwaysOff 

PD: Es posible que este paso no te funcione en tu equipo si tienes marcado el arranque en modo seguro, para poder activarlo, tendrás que entrar en Windows en modo a prueba de fallos, para poder hacer el cambio.

2.- Desactivar la Plataforma de Máquina Virtual (VMP): Abre el Panel de Control, selecciona "Programas" o "Programas y características" y hacemos clic en "Activar o desactivar las características de Windows" en el panel izquierdo. Desmarca la casilla junto a "Plataforma de Máquina Virtual", hacemos clic en "Aceptar" y espera a que se realicen los cambios.


3.- Configurar el Tamaño del Archivo de Paginación en Automático: Volvemos abrir el cuadro de diálogo Ejecutar y escribimos sysdm.cpl y presiona Enter para abrir la ventana Propiedades del sistema. Ve a la pestaña "Opciones avanzadas" y haz clic en "Configuración" bajo "Rendimiento". En la ventana de Opciones de Rendimiento, ve a la pestaña "Opciones avanzadas". Haz clic en "Cambiar" bajo "Memoria Virtual". Asegúrate de que la opción "Administrar automáticamente el tamaño del archivo de paginación para todas las unidades" esté marcada. Haz clic en "Aceptar" para aplicar los cambios y luego en "Aceptar" nuevamente para cerrar todas las ventanas. Mejorar la Velocidad en el Explorador: Abre el símbolo del sistema como administrador siguiendo el paso 

4.- Desactivar miniaturas en caché: Después de ejecutar este comando, el Explorador de Windows dejará de crear y almacenar miniaturas en caché de archivos, lo que puede afectar la velocidad con la que se muestran las miniaturas, ya que tendrán que generarse cada vez que se acceda a una carpeta que contenga imágenes o videos, pero mejorará la velocidad al navegar por el Explorador de archivos.

Escribe el siguiente comando y presiona Enter:  

REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v DisableThumbnailCache /t REG_DWORD /d 1 /f 

5.- Configurar búsqueda de Windows: Otro paso que siempre hago, es quitar en las opciones de búsqueda de la barra de tareas que mire en Internet, no me gusta nada.

¿Que aplicaciones instalo?

Siempre instalo y recomiendo la suite ofimática LibreOffice. Desde que  estudiaba en el IOC estoy encantado con ella, para guardar las contraseñas uso Bitwarden, pero en general no suelo cambiar mucho mis aplicaciones en el pc de casa.

Podéis ver las aplicaciones y como instalarlas con el Winget en el siguiente enlace. Que aplicaciones instalo en w10.

Espero que os vaya bien.

Saludos!!!

Ansible: Poniendo orden en mi laboratorio Proxmox

Automatiza la gestión de tus máquinas virtuales y contenedores sin esfuerzo. Tengo ya cómo unas diez máquinas Linux funcionando en Proxmox...