Máquinas virtuales
Explicación
Durante este proyecto haremos uso de múltiples máquinas virtuales, incluyendo clientes con los que probar los servicios que instalemos.
Los servidores principales que utilizaremos son los siguientes según su hostname:
frontera1wordpress1
A continuación se puede ver una maqueta de la red creada con Cisco Packet Tracer:

Funcionalmente, el servidor pve1 separará la red externa de la clase (172.16.204.0/24) y la red interna en la que se encuentra los servidores wordpress1 y frontera1 (192.168.6.0/24).
Dentro de frontera1 se configurarán los siguientes servicios:
- NGINX
- DHCP
- DNS
Este servirá como un intermediario que nos comunicará con el servidor wordpress1, en el cuál se instalará el servicio de mismo nombre y se configurará conforme a los requerimientos del proyecto intermodular.
En cambio, wordpress1 solo tendrá configurado el servicio WordPress, al cuál se tendrá que acceder solo a través de NGINX, este mismo será configurado para alojar la página Web de ClearFrost SL, y personalizado para encajar con la temática de nuestra empresa.
Especificaciones
En cada una de las máquinas virtuales se requerirán las siguientes especificaciones:
- 2 GB de memoria RAM.
- 50 GB de espacio en disco.
- Utilizar Ubuntu Server 24.04.
Note
Mientras que frontera1 utilizará la IP estática 192.168.6.254, wordpress1 tendrá que recibir su dirección IP a través de DHCP con una reserva en el servidor frontera1.
Bastionado de la red
Debido al pequeño alcance del proyecto en el momento de escribir esto, las únicas medidas utilizadas para bastionar la red serán las siguientes:
- Prohibición de accesos indebidos (HTTP/SSH) con
ufw. - Configuraciones seguras de SSH.
La intención principal consiste en bloquear intentos de acceso tanto al puerto de WordPress como al de SSH desde cualquier máquina interna que no sea frontera1, lo cual nos permitirá fortalecer la red en el caso que se introduciesen clientes u otros servidores en esta.
Ejemplo de instalación
Como el proceso de instalación de Ubuntu Server es prácticamente idéntico en las dos máquinas virtuales, a continuación mostraremos un proceso de instalación de ejemplo para la máquina wordpress1:
Almacenamiento de imagen ISO
Antes de poder crear la máquina virtual, necesitaremos un archivo ISO con el cual instalar el sistema operativo, para ello seguiremos la ruta vista a continuación y subiremos la imagen de instalación de Ubuntu Server:

Configuración de VM
Para crear la máquina virtual haremos click en Create VM en el panel de control de Proxmox, y la crearemos con las siguientes características, asegurándonos de utilizar la interfaz virtual interna y el archivo ISO subido al servidor:

Instalación
Una vez hayamos creado la máquina virtual, iniciaremos esta y accederemos a su interfaz desde el panel de control.
Desde dentro tendremos acceso al instalador de Ubuntu Server, en este seleccionaremos nuestras preferencias como lenguaje o teclado y nos aseguraremos de aplicar las configuraciones de red necesarias para salir a Internet:

Como se puede ver, estamos haciendo uso de una configuración estática de red provisional, más adelante aprenderemos a reconfigurar la máquina para hacer uso de DHCP.
Si la configuración de la red interna se ejecutó exitosamente, podremos ver como el servidor consigue superar las pruebas de conexión a Internet:

Para simplificar la gestión del servidor, no se hará uso de un modelo de particiones LVM y configuraremos el siguiente usuario junto al nombre de servidor:

Como paso final, marcaremos la opción para instalar un servicio SSH y comenzaremos el proceso de instalación.
Una vez terminado, nos podremos conectar gracias a las configuraciones de SSH realizadas en el servidor Proxmox y en nuestro cliente:

Usuarios locales
Para permitir al resto del equipo trabajar cómodamente sin tener que compartir una misma cuenta, crearemos los usuarios para ellos con los siguientes comandos:
sudo useradd -s /bin/bash -m -c "Ainhoa García" -G adm,cdrom,sudo,dip,plugdev,lxd ainhoa && echo "ainhoa:ainhoa" | sudo chpasswd
sudo useradd -s /bin/bash -m -c "Hugo Sáez" -G adm,cdrom,sudo,dip,plugdev,lxd hugo && echo "hugo:hugo" | sudo chpasswd
sudo useradd -s /bin/bash -m -c "Daniel Jartín" -G adm,cdrom,sudo,dip,plugdev,lxd daniel && echo "daniel:daniel" | sudo chpasswd
