De un Laptop viejo a un pseudo servidor de virtualización

 

Bienvenido, en este mi primer artículo, te relatare la historia de mi travesía al llevar a cabo este proyecto, que ha día de hoy, me ha sido de mucha utilidad a la hora de experimentar con servicios o montar máquinas virtuales de pruebas.

 

¿Qué me llevo a complicarme la vida con esto?

 

Todo comenzó cuando vi algunos videos de NetworkChuck, un youtuber de tecnología. Me intrigó su uso de VMware ESXi, un hipervisor de nivel empresarial para gestionar máquinas virtuales en el que montaba sus servicios. ¿Tenía un rack de servidores en casa? ¡Genial! Fue entonces cuando me ganó la curiosidad y decidí sumergirme en un proyecto propio, a pesar de tener poca experiencia más allá de usar VMware Workstation.

My alt text
Link video: i bought a new SERVER!! (VMware ESXi Setup and Install)

 

Hablemos de la primera versión.

 

Mi primer objetivo al adentrarme en este pequeño proyecto era bastante sencillo: instalar VMware ESXi en una vieja laptop HP 1000-1420la que tenía por casa. Y sí, ya sé que podría haber instalado VMware ESXi en una máquina virtual en VMware Workstation, pero quería vivir la experiencia de instalarlo en un equipo físico y, además, poder mantenerlo encendido 24/7. Este equipo, de entrada, contaba con 4 GB de RAM DDR3, un procesador i5 3210m, y 450 GB de disco duro. A nivel de conectividad, la máquina ofrecía una tarjeta Wi-Fi de 2.5 GHz y un puerto Ethernet con una velocidad máxima de 160 Mbps.

Para resolver los problemas de compatibilidad que me encontré, especialmente con las versiones más recientes de ESXi que no reconocían mi adaptador de red, opté por una versión más antigua. Concretamente, instalé VMware ESXi 6.7u3, que permitía más flexibilidad con los controladores de red, incluidos los de Realtek que usaba mi laptop.

Una vez solucionado este inconveniente, pude empezar a experimentar con máquinas virtuales. Mi primera prueba fue montar una máquina virtual para un servidor Apache sobre Debian. Además, instalé otra máquina con Ubuntu Server para alojar un servicio de OpenVPN, lo que me permitía acceder a mi red local desde cualquier lugar. Esto último podría ser un excelente tema para un futuro artículo sobre cómo montar tu propio servidor VPN en casa.

Sin embargo, pronto me encontré con limitaciones de hardware. Fue entonces cuando decidí mejorar la laptop. Aumenté la RAM a 12 GB y cambié el disco duro de 450 GB por uno de 1 TB. Adicionalmente, quité el lector de DVD para añadir un Caddy con otro disco duro de 1 TB. Con estos cambios, la capacidad de almacenamiento total llegó a 2 TB.

Pese a estas mejoras, seguía teniendo limitaciones, especialmente en la potencia de CPU y la velocidad de la red. Pero, como experimento inicial para tener un "servidor" en casa, el resultado no fue nada malo y sirvió como una excelente lección de aprendizaje.

 

 

Ahora hablemos de la segunda versión.

 

Aunque el primer experimento funcionó bien, no era lo suficientemente potente para el día a día, menos aún para virtualizar múltiples máquinas o servicios. Así que me pregunté: ¿y si vamos más allá? Comencé a cotizar servidores de segunda mano y me encontré con precios bastante elevados para la capacidad que ofrecían. Recuerdo que uno de los que miré tenía 6 núcleos y 12 hilos, 24 GB de RAM DDR3 ECC, sin almacenamiento y una fuente de 250W. Su precio rondaba los 700 USD. También consideré un NAS como el HP ProLiant MicroServer G8, pero el precio tampoco se ajustaba al presupuesto disponible y su antigüedad. No pongo en duda que estos equipos están diseñados para estar encendidos 24/7, lo cual es un plus, pero dado mi presupuesto y el hecho de que no planeaba mantenerlo encendido todo el tiempo, no se justificaba el gasto.

Entonces, decidí montarlo yo mismo. Ya tenía algunas piezas sobrantes de mi PC principal tras una actualización que le realicé, y algunos SSD y discos duros de laptop. Busqué una placa madre que soportase un procesador Xeon y que tuviera buenas VRMs. Finalmente, encontré una que cumplía todos los requisitos, tiene refrigeración activa en las VRM, incluido también el soporte para memorias RAM DDR4 ECC y varios puertos PCI-E x16 - x4, M.2 y SATA. Opté por un Xeon E5-2650V3 de 10 núcleos y 20 hilos, añadí 32GB de RAM ECC y reutilicé los discos nombrados anteriormente, los cuales son 4 HDD 2.5" de 1TB, uno de 3TB 3.5" y 2 SSD uno m.2 Pci-e y otro m.2 sata, en un principio reutilicé una RTX 2060 pero luego dado el poco uso y optimización energética, opté por reemplazarla con una GT 1030 (solo para la visualización del panel directo del equipo en caso de problemas de red). Y no voy a mentir, también habilité el RGB del gabinete y del disipador así rinde mas FPS, no?.

El resultado fue un 'servidor' mucho más potente y versátil. Probé con 6 máquinas de Windows 10 corriendo simultáneamente y funcionó a la perfección y ya sabemos que, si nos funcionan esa cantidad de máquinas Windows, significa que posiblemente puedas tener más de 12 máquinas Linux corriendo. Ahora puedo empezar a experimentar con diversos sistemas y servicios, como Plex para organizar mi contenido multimedia y NextCloud para tener una nube privada alojada en casa, entre otros. Lo mejor de todo es que el sistema se mantiene fresco, incluso con todas esas máquinas virtuales corriendo, y lo mejor es que la compra de las piezas sin contar con lo reutilizado, solo fueron menos de 400 usd.

 

 

¿Y bueno que aprendí de todo esto?

 

La travesía ha sido larga y llena de retos, pero también de aprendizajes muy valiosos. A nivel técnico, la experimentación con máquinas virtuales y configuración de servicios me ha dado una comprensión más profunda de cómo funcionan las cosas mas a bajo nivel. No obstante, es importante mantenerse actualizado en cuanto a hardware y software, para evitar posibles problemas de seguridad, en mi caso planeo actualizar a una tarjeta de red Gigabit Intel más moderna para poder instalar la versión más reciente de VMWare vSphere y no mantener para siempre las versión de Esxi 6.7u3 y seguramente te preguntaras, ¿porque no optar por otras tecnologías más libres como Proxmox u Hyper-V? pues aun así tengo planeado a futuro ir probando dichas tecnologías, solo que de momento, quiero completar esta versión del servidor con VMWare Esxi, pero tengo esa puerta a experimentar con otros sistemas o hipervisores.

En el ámbito económico, me di cuenta de que el presupuesto es una variable importante. Aunque los servidores de segunda mano o incluso un NAS especializado pueden parecer tentadores, la relación costo-beneficio puede no ser la mejor para un proyecto de 'aficionado'. A veces, invertir en piezas de hardware específicas y construir el sistema uno mismo puede ofrecer un rendimiento similar o incluso superior a una fracción del costo, ¿y lo mejor? es que te entretienes en el proceso del montaje.

Personalmente, este proyecto ha sido una especie de campo de entrenamiento para enfrentar problemas, buscar soluciones y tomar decisiones basadas en la investigación y el análisis. Cada tropiezo que superé y cada mejora que implementé fueron pequeñas victorias que aumentaron mi confianza y habilidades. También comprendí que no siempre todo saldrá perfecto desde el inicio, también puedo decir que aprendí la importancia de ajustar las expectativas, Aunque mi servidor casero ha quedado potente, está claro que no reemplaza a un servidor empresarial especialmente diseñado para durar mucho tiempo en constante funcionamiento. Sin embargo, para un proyecto de hogar y para fines experimentales, es más que adecuado.

Y quizás lo más importante de todo es que he aprendido que la curiosidad es una herramienta poderosa. Fue ella la que me llevó a empezar este proyecto y la que me empujó a seguir explorando, mejorando y adaptándome. Con estos aprendizajes, ya estoy pensando en futuros proyectos y cómo cada uno de ellos contribuirá a mi crecimiento continuo en este mundo de tecnología.

 

¿Qué planes tengo para el servidor?

 

De momento tengo bastantes ideas, desde mejoras de hardware como actualizar la CPU, RAM y almacenamiento. En temas de servicios y máquinas virtuales, como nombré anteriormente, ya tengo varios servicios corriendo como NextCloud, Plex, Kasm Workspaces, OpenVPN, entre otros. Pero eso no acaba ahí, tengo planes de ir montando más servicios de utilidad, no solo para utilizarlos, sino para ampliar mi conocimiento en la instalación y configuración de los mismos.

Otros de los planes que tengo y que ya estoy ideando, es montar un laboratorio de hacking personal. La idea es cargar máquinas de servicios como vulnhub, hackmyvm, entre otros, con el objetivo de ir practicando otras de mis pasiones, que es el pentesting. Sé que posiblemente muchos digan "pero si existen plataformas en línea o puedes simplemente montar esas máquinas en tu equipo y ya", y sí, podrán tener razón, pero la idea es experimentar, no solo ir por lo más fácil y ya.

La idea es ir aprendiendo en el proceso, como crear una red virtual aislada sin internet para que se interconecten solo las máquinas CTF con la máquina atacante, y que solo la máquina atacante tenga acceso a internet. Además de implementar esto como una medida de seguridad, creo que eso es lo que hace interesante a este proyecto. Incluso quizá después monte otra VM con OpenVPN, pero exclusivo para conectarme a la red aislada y poder practicar cuando me encuentre fuera. O también podría utilizar Kasm Workspaces para cargar una máquina Kali Linux y utilizarla desde el navegador a través de Cloudflare Tunnels y no exponer mi red directamente. Y así, un montón más de ideas se me vienen a la mente, lo que prácticamente vuelve muy interesante este proyecto y su proceso de aprendizaje.

 

Y para despedirme.

 

Quizá hace tiempo atrás, si me hubieran dicho que podría crear mi propio servidor casero con VMWare ESXi, virtualizar servicios y sistemas, yo habría respondido con un 'No creo, eso es difícil'. Pero me he dado cuenta de que la curiosidad y el atreverse sí funcionan. Es cierto, no todo saldrá a la primera, e incluso tampoco a la segunda, pero si te lo propones y aplicas perseverancia, ten por seguro que lo lograrás. Todo ese estrés se convertirá en satisfacción al darte cuenta de que has logrado algo que quizá antes pensabas imposible o poco probable. Este servidor se convirtió en mi espacio para aprender y experimentar, simulando un entorno más profesional. Y lo mejor es que aún no llega a su fin, aún hay mucho por hacer. Si tienes el mismo interés que yo y algún día quieres embarcarte en esta travesía similar, pues mi consejo es simple: Inténtalo. Lo que ganarás en conocimiento es invaluable. Y recuerda esta frase: 'En el aprendizaje, no hay limitaciones, excepto las que tú te impones'.