Saltar a contenido

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:

  • frontera1
  • wordpress1

A continuación se puede ver una maqueta de la red creada con Cisco Packet Tracer:

Ilustración de la red interna desde Packet Tracer. Ilustración de la red interna desde Packet Tracer.

Ilustración de la red interna desde 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:

Proceso de subida de imágenes ISO.

Proceso de subida de imágenes ISO.

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:

Características de la máquina virtual.

Características de la máquina virtual.

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:

Configuración de red en el servidor.

Configuración de red en el servidor.

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:

Conexión a Internet exitosa.

Conexión a Internet exitosa.

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:

Configuración de usuarios.

Configuración de usuarios.

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:

Conexión exitosa por SSH.

Conexión exitosa por SSH.

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

Usuarios creados exitosamente.

Usuarios creados exitosamente.