# s1e2: Nuestro server conectado a internet

En esta entrada, exploramos la creación de nuestro homelab. Para experimentar, cometer errores y aprender, necesitamos un espacio adecuado. Enfocaremos el homelab en aplicaciones, servicios, redes y networking.  
Por ahora, necesitamos un servidor. No tiene que ser perfecto; debe ajustarse a nuestra visión de sandbox, laboratorio y entorno de pruebas para aplicaciones, páginas web, servicios de red y nuevas tecnologías que deseemos explorar y aprender.

## Qué haremos?

Activaremos nuestro servidor principal utilizando la máquina que tengamos a mano. ¿Tienes una Raspberry sin uso? ¿Un PC con Windows? ¿Un computador antiguo guardado por ahí? ¡Aprovechémoslo!  
Luego, lo conectaremos a Cloudflare, que configuramos en el post anterior, para que las aplicaciones y servicios de nuestro homelab sean accesibles desde internet. Además, podremos gestionar y configurar nuestro laboratorio de forma remota cuando lo necesitemos.

Revisa nuestro post anterior [Tu identidad digital: Cómo registrar y proteger tu primer dominio.](https://blog.calabera.cl/s1e1-tu-identidad-digital)

## Preparando lo necesario

### 1\. Hardware:

En Calabera, hemos elegido un notebook que conseguimos a un excelente precio:

Dell Latitude 5440:  
Procesador: Intel Core i7 de 13ª generación  
Memoria RAM: 32 GB  
Disco: 512 GB SSD

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/45751528-3d5f-4f75-b3d8-f23a7fd9fd91.png align="center")

¿Puede ser algo con menos recursos? ¡Por supuesto! Actualmente, tengo uno funcionando que es un i3 de tercera generación con 10 (8+2) GB de RAM.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/09ae45fd-50c4-46f6-a8c4-59b26be288be.png align="center")

El Latitude será la actualización de mi servidor actual. A partir de aquí, la decisión es tuya. No es necesario gastar mucho dinero; una opción de segunda mano o el portátil que tu tía no utiliza pueden ser un buen comienzo. Lo importante es comenzar.

### 2\. Software:

Para nuestro servidor, contamos con diversas opciones. Si utilizas tu PC de casa, perfecto, podemos optar por Windows, Linux, o cualquier sistema que prefieras. Si tienes una Raspberry, la usaremos. En caLABera, lo tenemos claro: Proxmox.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/223b3202-f1f8-4974-9727-e7fef9c76b7c.png align="center")

> Imagina que **Proxmox** es como un "administrador de edificios" para tu servidor. Normalmente, un ordenador físico solo puede tener un "inquilino" a la vez (un sistema operativo como Windows o Linux), pero Proxmox te permite dividir esa máquina potente en muchos **apartamentos virtuales** independientes. De esta manera, en lugar de comprar cinco ordenadores distintos para tareas diferentes, usas uno solo y Proxmox crea **máquinas virtuales** dentro de él, permitiendo que cada una funcione como si fuera un equipo real con su propio sistema. Todo se controla de forma muy sencilla desde una página web, lo que te permite aprovechar al máximo tu equipo, ahorrar energía y evitar tener la casa llena de cables y cajas metálicas.

### 3\. Adicionales

Nuestro servidor debe ubicarse en un lugar que no cause molestias. En el futuro, podemos ampliarlo con otros elementos físicos como switches, firewalls, más servidores, e incluso considerar agregar un pequeño rack. Todo depende de nosotros (y a veces del presupuesto).

[![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/bc04c0cc-8070-43b5-9fd4-6b115dfbb7f1.png align="center")](https://www.reddit.com/r/minilab/comments/1i3jzrn/mini_lab_four_ways/)

Sin embargo, para nuestro primer servidor, al menos necesitamos:

*   Ubicación (en un mueble, sobremesa)
    
*   Energía
    
*   Cable de red (para tener una conexión más estable)
    

Con eso podemos iniciar. No hace falta más.

## Implementación

Comencemos con el proceso.

### Fase 1: Descarga de proxmox y carga de USB

Debemos de ingresar al sitio de descarga de [Proxmox Virtual Environment](https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso) y descargar la última versión, que actualmente es la 9.1-1.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/9d1cdfd9-f862-4050-b2d4-f6ffcc04e074.png align="center")

Una vez descargado, debemos transferirlo a un pendrive desde una computadora, lo que nos permitirá instalarlo en nuestro servidor.  
Sigue la [wiki de proxmox](https://pve.proxmox.com/wiki/Prepare_Installation_Media) para este paso, donde básicamente debes descargar etcher si tienes windows y seguir las instrucciones.

Descarga e inicia balenaEtcher, elige la ISO descargada, el USB que utilizaremos e iniciar con Flash!

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/80bcafe6-11e4-4aa8-a929-f8656a30d9f0.png align="center")

Al finalizar se ve asi:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/960aea56-d819-4d6f-b03d-5221e0d583a7.png align="center")

Retiramos el USB de manera segura y lo conectamos a nuestro nuevo servidor.

### Fase 2: Instalación de proxmox en el servidor

Con el servidor apagado, insertamos el USB y lo encendemos. Es importante presionar la tecla adecuada para acceder a la BIOS y seleccionar el USB como método de arranque.

Google me sugirió lo siguiente para mi servidor:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/49c003c4-6acf-4af2-a394-a8355c21b215.png align="center")

En la pantalla debería aparecer algo similar. Esto puede variar según la marca, modelo y año, pero básicamente debes seleccionar el USB que conectamos.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/63b9610b-533c-4974-946a-b6ad3af837dd.png align="center")

Si todo marcha correctamente, deberíamos ver la pantalla de inicio de la instalación de Proxmox. La primera opción del menú es la que necesitamos; no es necesario hacer nada para que se inicie automáticamente. Si no lo hace, podemos seleccionarla usando las flechas y presionando enter.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/39727216-aa6d-4b7f-91c6-1d31d9785ac3.png align="center")

Aceptamos el acuerdo de licencia.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/82a58faf-397b-4fb4-9ca1-e4981e816fd7.png align="center")

En la siguiente pantalla, seleccionamos el disco duro donde se realizará la instalación, en este caso, el único disponible. Luego, en la parte inferior derecha, continuamos con "Next".

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/4d0006c4-0d4a-42bf-981b-4c13d0b6f557.png align="center")

Introducimos nuestros datos de zona y teclado, y hacemos clic en "Siguiente".

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/21dcecde-c193-4b43-9553-88b24db8e4b1.png align="center")

En la siguiente ventana, ingresa la contraseña de root del sistema para el primer acceso. Puedes crear una sencilla y cambiarla por una más robusta más adelante; lo importante es que la recuerdes. Introduce el correo que usarás para la administración y haz clic en "Siguiente".

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/1cda8447-9a5e-4cc8-8f66-14ce747add36.png align="center")

En el siguiente paso, ingresa la dirección IP para la administración del servidor. Introduce una IP disponible de tu red y selecciona la tarjeta de red.  
El nombre del host es importante si planeas tener más de un servidor en el futuro y deseas conectarlos en un clúster, es decir, que funcionen en conjunto. Por ahora, para mi laboratorio, lo configuraré como pve.calabera.cl.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/11e7cb57-982d-492d-98b6-b1240780d7ff.png align="center")

El siguiente paso es confirmar lo que configuramos anteriormente. Puedes marcar la casilla inferior para que el servidor se reinicie automáticamente después de la instalación.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/4eb1944f-2418-45f0-ae8c-7da17688bcb9.png align="center")

Instalación en proceso:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/51195225-1d06-4905-ac00-4cbf61bc9f00.png align="center")

Después de unos minutos, el equipo se reiniciará. Al regresar, veremos una pantalla con la información necesaria para conectarnos. En mi caso, indica que es https://192.168.68.19:8006, que corresponde a la IP configurada durante la instalación y al puerto 8006, donde opera la interfaz web de Proxmox.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/0ab8b39b-43d3-4d51-a8e1-0a2dc4cbe70c.png align="center")

Desde nuestra computadora, nos conectamos a la gestión del servidor e ingresamos el usuario root y la contraseña que configuramos durante la instalación.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/b02e93fc-7302-4449-9e5e-7c9543e36b6f.png align="center")

El siguiente mensaje emergente solo nos indica que no tenemos una licencia enterprise.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/6f85a1c4-3585-4bb6-8fa1-f053bacf53ef.png align="center")

Esta es la primera imagen de nuestro servidor. Con esto, completamos el proceso de instalación.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/0a9bf79a-8f21-4281-9c54-5cfb1a82cc75.png align="center")

### Fase 3: Primeros pasos en proxmox

Para empezar a operar nuestro servidor, es necesario llevar a cabo algunas acciones..

Primero, debemos acceder a los repositorios desde el menú siguiente.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/de765441-e70e-4a86-8db1-4f1dd2047127.png align="center")

Primero, deshabilitamos los repositorios enterprise para evitar errores y añadimos el repositorio pve-no-subscription para recibir actualizaciones. Presionamos "add" y en el cuadro emergente seleccionamos "no-subscription", luego hacemos clic en "add".

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/2ccf0234-418e-4f19-90cc-35abfca99b02.png align="center")

Seleccionamos los repositorios que indiquen enterprise y hacemos clic en deshabilitar.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/6b31c9a0-a8d3-4790-9f74-44733bc5ad26.png align="center")

Después de eso, en el menú de actualizaciones, presionamos "refresh" y "upgrade". Proxmox está basado en Debian, y esta acción es equivalente a ejecutar "apt update && apt dist-upgrade". Con esto, nuestro servidor quedará actualizado.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/318eb389-8c17-4ed8-b0a5-06240f6b8980.png align="center")

Al finalizar, es posible que, según la actualización, se nos pida reiniciar el equipo.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/2ec8a558-ed29-4a2d-ac92-df8048376401.png align="center")

Para reiniciar, presionamos el botón correspondiente en la parte superior derecha de la interfaz. Podemos realizar un ping durante el proceso para saber cuándo está de nuevo operativo. En mi caso, se perdieron cerca de 7 pings, lo que equivale a unos segundos de reinicio. Este tiempo variará según tu hardware.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/cf0405d8-ea81-4608-8eb4-c1a814f4b17a.png align="center")

Con esto, ya contamos con un sistema limpio y actualizado, listo para comenzar a trabajar en nuestro laboratorio. ¡Bien hecho!

En una nueva publicación, exploraremos en profundidad la interfaz, los usos y el funcionamiento de Proxmox, así como todas las posibilidades que ofrece.

### Fase 4: Tunnel a cloudflare. Nuestro primer contenedor.

Ya contamos con nuestro servidor, que es un gran avance para nuestro homelab, pero aún podemos lograr más.  
Crearemos un contenedor basado en Ubuntu (aprovechando que Ubuntu 26.04 LTS se lanzó recientemente) y lo conectaremos a Cloudflare. De esta manera, podremos exponer en internet algún servicio que tengamos en nuestra red.

Primero, nos dirigimos a Cloudflare.  
En nuestro panel, dentro de nuestro dominio, accedemos al menú de Access.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/aca4be1c-0433-4c86-a2b1-4d2ddee3ac0b.png align="center")

omitimos la ventana siguiente

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/5b2f9e26-d746-4979-b65f-0f2567306f7b.png align="center")

Ya dentro del menú de Cloudflare One (access), vamos a "Networks" - "Connectors" y creamos un nuevo túnel.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e4ec27ad-997d-4e3b-bd79-17944427e31a.png align="center")

Seleccionamos el tipo cloudflared.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/6dea579d-a8ee-42d6-a9bc-d77696ca9d7f.png align="center")

Nombramos nuestro túnel y hacemos clic en Guardar.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/824bab9a-d73e-47f2-a86e-aa81ae1b7dcf.png align="center")

Aquí es donde nuestra infraestructura determinará el tipo de conector que utilizaremos.  
Como mencioné, nuestro servidor puede funcionar con casi cualquier sistema operativo: Windows, Mac, Linux Debian, Linux RedHat. En cualquiera de ellos podemos instalar nuestro túnel y conectar con nuestro homelab. Si tienes un sistema operativo diferente al mío, elige la opción correspondiente y sigue las instrucciones, que están bien detalladas.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/a73164bf-1073-4d47-8000-e924cc77bf86.png align="center")

Para las Raspberry Pi con procesador ARM, dentro de Debian, está disponible la opción:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/90da6a63-36fb-42b4-938f-5c4a916a9641.png align="center")

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Si tienes un servidor con un sistema operativo único como Windows o alguna versión de Linux y no planeas usar máquinas virtuales o contenedores, crea el túnel directamente en tu sistema operativo. Si utilizas tu servidor para acceder a una red específica, pero los servicios están en otras máquinas de esa red, procede de la misma manera: directo al sistema operativo.</div>
</div>

En mi caso, al utilizar Proxmox, mi laboratorio se basará en máquinas virtuales y contenedores. Por eso, emplearé un contenedor basado en Ubuntu para este propósito, lo que me permitirá tener mayor control para conectarlo a diferentes redes y moverlo si es necesario. Te sugiero que, si instalas Proxmox, elijas esta opción. Aunque está basado en Debian y sería factible, no recomiendo sobrecargar el sistema operativo con esta función.

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Si estás instalando en Linux, asegurate de que el sistema tenga la herramienta curl instalada. De esta forma, podrás copiar y pegar los comandos de una sola vez sin errores</div>
</div>

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/a086ba26-8d7c-48e6-9cf7-a96c2407345b.png align="center")

Para ejecutarlo, crearemos un contenedor de Ubuntu en nuestro Proxmox. Más adelante profundizaremos en este tema y proporcionaremos detalles; por ahora, nos centraremos en el túnel.

En Proxmox, accedemos a nuestro PVE, que es nuestro servidor físico dentro de la interfaz. Al expandirlo, ingresamos a local (pve), uno de los sistemas de archivos. Seleccionamos CT Templates para elegir nuestro template de contenedor. Si no tenemos uno, hacemos clic en el botón de templates, lo que abrirá una ventana emergente para buscar en los repositorios. Elegimos el de Ubuntu 26.04 y lo descargamos.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/9f470d87-1a5c-47fc-a358-15c42a609234.png align="center")

Al completar la descarga, cerramos la ventana emergente y nuestro template estará listo para su uso.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e86e506b-dddf-42a9-b542-d36cc1b4f750.png align="center")

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/8e13105a-aa08-4df2-86d8-ace4727c2775.png align="center")

En la esquina superior derecha, encontrarás el botón "Create CT" para ejecutar nuestro contenedor LXC.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e4eb8a9a-1c12-4a32-a832-5590045b7a46.png align="center")

En el asistente, completamos los datos importantes. En la primera pantalla, solo ingresamos el nombre del host y la contraseña (confirmar). Podemos agregar una etiqueta, pero no es mandatorio.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/c771c1d9-8243-42ea-a700-1aae3c7e6bca.png align="center")

En la siguiente pestaña, seleccionamos el template que descargamos.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/138df290-fb7e-497a-be9b-b961ceb06476.png align="center")

En la pestaña de discos, podemos dejar la configuración predeterminada o asignar 3 GiB, que serán suficientes para este propósito.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/8f7efdeb-08e8-4557-b659-2d4517795e8c.png align="center")

En la pestaña de CPU, seleccionamos solo 1 núcleo.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/2eab94a8-f1d8-42dc-bf85-198e3771a1bb.png align="center")

En la pestaña de memoria, el valor predeterminado es 512, lo cual es más que suficiente.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/1629533c-c61e-4aac-bf16-68c956d03184.png align="center")

La pestaña de red es crucial. Hasta ahora, con nuestra reciente instalación, solo contamos con el vmbr0 (el puente que nos proporciona acceso a la red), y en mi caso, estoy trabajando con la red 192.168.68.0/24.  
Dejaremos todo por defecto y añadiremos una IP fija y un gateway. Si la red cuenta con DHCP, solo necesitamos marcar esta casilla. La conexión fluye desde el contenedor hacia internet, por lo que la IP no es crucial para este propósito, pero optaré por una IP estática para mantener el orden en mi laboratorio.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/73637c9f-9301-463b-847a-2e960af455cf.png align="center")

En la pestaña de DNS, podemos dejar la configuración predeterminada para que utilice el DNS del host (Proxmox). Yo prefiero configurarlo manualmente para tener más control.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/675f49b1-5810-4e63-bcab-6fcfed278cc7.png align="center")

La última pestaña es un resumen, y podemos marcar la casilla "Start after created" para que inicie de inmediato al terminar la instalación.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/dab0494b-9978-47c4-9e72-f48c78fc4bee.png align="center")

Finaliza la tarea:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/1c640a6c-ed1d-4c75-8e67-7662dc0b0003.png align="center")

A la izquierda veremos nuestro contenedor en funcionamiento.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/c81e8cbd-87ad-4f87-8b84-1eaf4891df1a.png align="center")

<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">DESDE ESTE PUNTO LA INSTALACION ES LA MISMA QUE EN UN SISTEMA OPERATIVO COMPLETO. Si el tunel lo estás haciendo sobre linux o raspberry ya instalados, sigue los pasos de aqui en adelante.</div>
</div>

En la pestaña Console del contenedor, accedemos con el usuario root y la contraseña establecida durante la instalación, luego ejecutamos los comandos update y upgrade para nuestro contenedor.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/ef33aecf-5df1-4de6-b0b8-a1655c634a4b.png align="center")

asegúrate de que curl esté instalado; si no, instálalo.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/77270057-f677-41ac-b46a-99e2ff99146b.png align="center")

Con eso, regresas a Cloudflare y copias los comandos de instalación.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e80f2e1a-5df9-4d7a-983d-b244cda7d5e5.png align="center")

Pégalos directamente en el contenedor.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e970d6f6-32b2-4bff-aa5b-b92a2382aa2e.png align="center")

Una vez completada la instalación de cloudflared, localizamos el comando final en Cloudflare, que ejecuta el programa y lo configura como servicio. De esta manera, al reiniciar nuestro contenedor (o tu sistema operativo, ya sea Linux, Windows o Mac), el servicio se iniciará automáticamente.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/d44a9f33-246e-444f-837a-529360b918cf.png align="center")

Insertamos el comando en nuestro contenedor y deberíamos recibir este mensaje:

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/a4ff5d78-a3af-45a3-8acf-6ab60d9139e4.png align="center")

Si todo está correcto, veremos en Cloudflare que nuestro conector está "Connected". Continuemos con NEXT.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/50fb2c03-0030-43fe-a69f-f7d9824d546c.png align="center")

En la siguiente ventana, dirigimos nuestra atención a la pestaña de CIDR routes para añadir la red de nuestro homelab, que será accesible a través del túnel. Introduce los datos tal como se muestra en la imagen.  
En "virtual network," seleccionamos la opción por defecto para tener acceso VPN en el futuro. Completamos la configuración.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/d17af24c-6f4c-44fb-b73a-dae1ac7c8d8d.png align="center")

Al finalizar, veremos que nuestro túnel está en estado "Healthy", indicado en verde, lo que confirma que podemos acceder a los servicios de nuestra red desde internet sin problemas.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/56ce86bf-4c10-4e0f-a3e3-99f0deaa194e.png align="center")

Con esto concluimos la creación del túnel.

¿Te parece que añadamos un servicio de prueba, ya que estamos en ello?

### Fase 5: Publicación de un servicio. El laboratorio en internet.

Dado que nuestro servidor está operativo y el túnel de Cloudflare está configurado, instalaremos un nuevo contenedor de Ubuntu, esta vez con el servicio de Apache. Apache, por defecto, ofrece el servicio web en el puerto 80. Así, veremos cómo Cloudflare, a través del túnel, puede acceder a él y publicarlo en internet con HTTPS y bajo un nombre de nuestro dominio. De este modo, nuestras aplicaciones no solo se publican, sino que también adquieren una apariencia más profesional.

Instalamos un contenedor de Ubuntu como en el paso anterior. Aquí tienes un resumen; si necesitas más detalles, revisa las secciones anteriores del post.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/58902bc4-8c76-4329-a621-8df6a789c933.png align="center")

Una vez que el contenedor esté activo, ejecutamos dos comandos:

Actualización de repositorios y del contenedor:

```shell
apt update && apt upgrade
```

Instalación de Apache

```shell
apt install apache2
```

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/9eb0991d-e007-4a09-8f46-3a142e0cc2f7.png align="center")

Se nos solicita confirmar la instalación del programa y sus dependencias. Ingresamos Y.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/5ea96b2d-377d-4f52-a417-dd5b762d5018.png align="center")

Una vez completada la instalación, podemos acceder al servidor web recién configurado desde el navegador en nuestra red local y visualizar su página predeterminada.  
It works!

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/5053d7fa-00f1-468c-9335-a8a1e480a63f.png align="center")

Ahora, en Cloudflare, nos dirigimos a nuestro túnel.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/13695fde-1fec-4402-bee3-84be4c23ae3d.png align="center")

Vamos a la pestaña de "Published Applications Routes" y hacemos clic en "Add".

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/63b04948-dc03-49c1-99f9-cda7e43827f1.png align="center")

En el campo de hostname, ingresamos un nombre. Para simplificar, elegí "apache". Al seleccionar, debemos optar por nuestro dominio calabera.cl para obtener el hostname completo apache.calabera.cl.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/b5a14c3e-c005-4833-aba2-2952ece0b68f.png align="center")

Más abajo, introducimos los datos de nuestro servicio local. Ingresamos nuestra IP privada, que Cloudflare puede alcanzar a través del túnel. Hacemos clic en Guardar.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/a80d1deb-2163-42ab-9e0f-306397f8db2f.png align="center")

Con esto preparado, podremos ver la aplicación en nuestro túnel. A medida que añadamos más servicios, se irán incorporando a esta lista. Se confirma con una notificación que el registro DNS para esta conexión se agregó automáticamente.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/3bef035d-ea13-42bb-a440-441509f2a0b9.png align="center")

Todos listo! ya podemos ingresar desde nuestro navegador a [https://apache.calabera.cl](https://apache.calabera.cl) desde internet.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/73366aa5-b269-47cd-b7fe-3938e0fc8790.png align="center")

Podemos observar que Cloudflare nos proporciona un servicio HTTPS seguro con certificado, garantizando que la página sea segura.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/41eed37c-6b46-4f20-af18-37605da80da4.png align="center")

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/7ab4224b-c056-4d7e-8092-4dbcfc58483b.png align="center")

Como última prueba de nuestro servicio, detendremos el contenedor del túnel, simulando el apagado de nuestro servidor o la interrupción del enlace de Internet de nuestro homelab.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/9c912b0b-937a-4dbf-8489-b9fe99fcd049.png align="center")

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/57957291-1f86-4826-89b3-bdd9eb266334.png align="center")

Como resultado, nuestro servicio muestra un error desde Cloudflare porque no puede acceder al servidor de origen.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/a24471e4-8b99-441f-8341-6e27c66059f4.png align="center")

Al realizar revisiones, observamos que nuestro túnel aparece como INACTIVO, impidiendo el acceso al servicio.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/cecfe1d0-1191-4a1b-900e-46e14910da12.png align="center")

Al reiniciar el contenedor, el servicio se restablece en pocos segundos. Esto confirma que nuestro servicio cloudflared opera sin inconvenientes en nuestro contenedor.

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/9f8d11ae-93f4-482e-9cb0-819021e08c66.png align="center")

![](https://cdn.hashnode.com/uploads/covers/69e9606cd5f8830e7db9360c/e06b17c5-a590-48e3-81e6-787be0473265.png align="center")
