Pangolin es una solución moderna para exponer servicios internos a Internet de forma segura, actuando como una alternativa ligera y autoalojada a servicios como Cloudflare Tunnel. Su principal objetivo es permitir el acceso a aplicaciones que se encuentran detrás de NAT o en redes privadas, sin necesidad de abrir puertos directamente en el router y manteniendo un mayor control sobre la infraestructura.
En este tutorial veremos cómo instalar Pangolin en Ubuntu 24.04, una de las versiones LTS más recientes del sistema operativo, ideal para entornos de servidor. A lo largo de la guía explicaremos los pasos necesarios para desplegar el servicio, dejarlo operativo y preparado para conectar aplicaciones internas de forma segura y estable.
Este tutorial está orientado tanto a entornos domésticos como a servidores autoalojados, y asume conocimientos básicos de administración en GNU/Linux, uso de la línea de comandos y gestión de servicios.
En este artículo nos centraremos exclusivamente en la instalación del software. Más abajo encontrarás un tutorial adicional donde se explica, paso a paso, cómo configurar las aplicaciones de tu HomeLab para acceder a ellas de forma totalmente segura.
Instalación de Pangolin
La instalación de Pangolin es muy sencilla ya que únicamente hay que descargar un script de instalación y ejecutarlo para seguir una serie de preguntas de forma interactiva que vamos a explicar a continuación.
Es recomendable primero crear un directorio donde hacer la descarga del script, para que cuando se haga la instalación los ficheros queden en un directorio concreto.
mkdir -p /opt/pangolin
cd /opt/pangolinDescargamos el instalador:
curl -fsSL https://static.pangolin.net/get-installer.sh | bashEjecutamos el instalador:
./installerPrimero de todo te da la bienvenida al instalador y te dice que te asegures de tener los puertos 80/TPC, 443/TCP y 51820/UDP y 21820/UDP abiertos en el Firewall del servidor.
Welcome to the Pangolin installer!
This installer will help you set up Pangolin on your server.
Please make sure you have the following prerequisites:
- Open TCP ports 80 and 443 and UDP ports 51820 and 21820 on your VPS and firewall.
Lets get started!Seguimos con la configuración básica del servicio:
Do you want to install the Enterprise version of Pangolin? The EE is free for personal use or for businesses making less than 100k USD annually. (yes/no): noLo primero que nos pregunta el instalador es si queremos utilizar la versión Enterprise de Pangolin. Esta edición está pensada para entornos empresariales y requiere disponer de una licencia adecuada.
En nuestro caso, al tratarse de un HomeLab y no necesitar las funcionalidades avanzadas orientadas a entornos corporativos, optaremos por la versión Community.
Enter your base domain (no subdomain e.g. example.com): nuestrodominio.comA continuación, el instalador nos solicita el dominio base que utilizaremos con Pangolin. Este debe ser el dominio principal, sin subdominios, ya que a partir de él se generarán posteriormente los accesos a los distintos servicios (por ejemplo, app.midominio.com, panel.midominio.com, etc.).
Es importante que este dominio esté bajo nuestro control y que podamos gestionar sus registros DNS, ya que Pangolin los utilizará para exponer los servicios de forma segura.
Enter the domain for the Pangolin dashboard (default: pangolin.42495d19-ef8d-484b-b317-3ea7c5dbca9a.clouding.host): pangolin.nuestrodominio.comEn este paso, el instalador nos pide el dominio que se utilizará para acceder al panel de administración (dashboard) de Pangolin. Por defecto, Pangolin propone un subdominio generado automáticamente, que suele apuntar a un dominio temporal o de pruebas.
En nuestro caso, utilizaremos directamente el dominio asignado al servidor, lo que resulta práctico para entornos de pruebas o cuando aún no hemos configurado un dominio propio definitivo.
Enter email for Let's Encrypt certificates: nombre@nuestrodominio.com
En este punto, el instalador solicita una dirección de correo electrónico que se utilizará para la emisión de los certificados SSL mediante Let’s Encrypt. Este correo es importante, ya que Let’s Encrypt lo usará para enviar avisos relacionados con la caducidad, renovación o posibles problemas con los certificados.
Do you want to use Gerbil to allow tunneled connections (yes/no) (default: yes): yesEn este paso, el instalador nos pregunta si queremos utilizar Gerbil, el componente de Pangolin encargado de permitir conexiones tunelizadas entre los servicios internos y el exterior.
Gerbil es una parte fundamental del funcionamiento de Pangolin, ya que permite exponer aplicaciones que se encuentran en redes privadas o detrás de NAT sin necesidad de abrir puertos en el router, manteniendo un canal seguro y controlado.
=== Email Configuration ===
Enable email functionality (SMTP) (yes/no) (default: no): noAquí el instalador nos pregunta si queremos habilitar la funcionalidad de correo electrónico (SMTP) en Pangolin. Esta opción permite que el sistema envíe notificaciones por email, por ejemplo para alertas, avisos del sistema o eventos relacionados con el acceso.
En nuestro caso, para un HomeLab o una instalación básica, no es estrictamente necesario configurar el envío de correos, ya que implica definir un servidor SMTP adicional.
/opt/pangolin/config/config.yml.=== Advanced Configuration ===
Is your server IPv6 capable? (yes/no) (default: yes): noEn este paso, el instalador nos pregunta si el servidor dispone de conectividad IPv6. Pangolin puede aprovechar IPv6 para mejorar la conectividad y el enrutamiento, siempre que el proveedor y el sistema lo tengan correctamente configurado.
En nuestro caso, el servidor no tiene soporte IPv6 activo, por lo que no podremos utilizar esta funcionalidad.
Do you want to download the MaxMind GeoLite2 database for geoblocking functionality? (yes/no) (default: yes): noAquí el instalador nos pregunta si queremos descargar la base de datos MaxMind GeoLite2, que permite a Pangolin aplicar geobloqueo en función del país de origen de las conexiones.
Aunque esta funcionalidad puede ser útil en entornos con requisitos de seguridad más avanzados, no es imprescindible para una instalación básica o un HomeLab, y además implica mantener actualizada una base de datos adicional.
Finalmente, el fichero de configuración se guardará en nuestro servidor:
=== Generating Configuration Files ===
Configuration files created successfully!Y ya podremos levantar los contenedores:
Would you like to install and start the containers? (yes/no) (default: yes): yesDiremos que si, para que inicie los contenedores.
Would you like to run Pangolin as Docker or Podman containers? (default: docker): docker
El instalador nos pregunta qué tecnología de contenedores queremos utilizar para ejecutar Pangolin. Podemos elegir entre Docker o Podman, siendo Docker la opción por defecto y la más habitual.
Para este tutorial utilizaremos Docker, ya que es la alternativa más extendida, cuenta con mejor documentación y facilita la integración con otros servicios y contenedores que ya tengamos en nuestro HomeLab.
Docker is not installed. Would you like to install it? (yes/no) (default: yes): yesEn este punto, el instalador detecta que Docker no está instalado en el sistema y nos pregunta si queremos que lo instale automáticamente.
Aceptar esta opción simplifica el proceso, ya que el propio instalador se encargará de instalar Docker y dejarlo correctamente configurado para ejecutar los contenedores de Pangolin, sin necesidad de realizar pasos adicionales de forma manual.
Docker service started successfully!
Waiting for Docker to start...
Docker is running!
Docker installed successfully!
Pulling the container images...Instalará todo lo necesario y cuando haya acabado iniciará la descarga de los contenedores, que puede tardar un poco.
Starting containers...
WARN[0000] No services to build
[+] up 4/4
✔ Network pangolin Created 0.0s
✔ Container pangolin Healthy 24.7s
✔ Container gerbil Created 0.1s
✔ Container traefik Created 0.1s === CrowdSec Install ===
Would you like to install CrowdSec? (yes/no) (default: no): noEn este apartado, el instalador nos ofrece la posibilidad de instalar CrowdSec, una herramienta de seguridad colaborativa orientada a la detección y mitigación de ataques mediante análisis de comportamiento y listas de bloqueo compartidas.
Aunque CrowdSec es una solución muy potente para entornos expuestos a Internet, no es imprescindible para una instalación básica de Pangolin o un HomeLab, y añade complejidad adicional al sistema.
=== Setup Token ===
Waiting for Pangolin to generate setup token...
Setup token: XXXXXXXXXXXXXXXXXXXXXX
This token is required to register the first admin account in the web UI at:
https://pangolin.nuestrodominio.com/auth/initial-setup
Save this token securely. It will be invalid after the first admin is created.
Installation complete!En este punto del instalador se genera automáticamente un token de configuración (setup token). Este token es un identificador único que Pangolin utiliza para vincular de forma segura los agentes o servicios que se conectarán al servidor principal.
Es un elemento clave para la seguridad, ya que evita conexiones no autorizadas durante el proceso de configuración inicial.
Installation complete!
To complete the initial setup, please visit:
https://pangolin.nuestrodominio.com/auth/initial-setupUna vez finalizada la instalación, Pangolin nos indica que el despliegue ha terminado correctamente y que es necesario completar la configuración inicial desde el navegador.
Primer contacto con Pangolin
Es el turno de abrir nuestro navegador y acceder a la URL para hacer la configuración inicial.
Accedemos a la URL para crear el usuario admin:

Tendremos que poner el token generado durante la instalación, un email de correco y una contraseña segura. Tras rellenar esos datos, haremos clic sobre el botón para crear una cuenta de administrador.

El siguiente paso, será crear una organización. Esta organización tiene que ser un nombre y un ID que la identifique. Puedes crear varias organizaciones que pueden gestionar varios dominios. Para nuestro HomeLab con una organización será suficiente.

Y ya tenemos Pangolin instalado en nuestro servidor y listo para funcionar. Ahora tocará crear los sitios y recursos para acceder a nuestros servicios locales de casa desde fuera.
Conclusión
Con esto damos por finalizada la instalación de Pangolin en Ubuntu 24.04. A lo largo del proceso hemos realizado una configuración básica, suficiente para dejar el servicio operativo en un HomeLab, priorizando la sencillez y la seguridad sin añadir componentes innecesarios.
En este punto, Pangolin ya está listo para usarse y solo queda completar la configuración inicial desde el panel web. A partir de aquí podremos empezar a conectar y exponer nuestras aplicaciones internas de forma segura, sin abrir puertos y manteniendo el control total sobre nuestra infraestructura.
Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.
Comentarios