Activar Cloudflared Tunnel en el arranque de Linux (Crear servicios en Linux)

  • Post by Esteban Suárez
  • Jan 29, 2022
post-thumb

Lograr que una aplicación se ejecute al iniciar el sistema es algo muy importante, ya sea que utilicemos Windows, Linux, MacOs los servicios son parte esencial para evitar códigos repetitivos y para automatizar acciones sensibles.

Para crear el servicio que ejecutará Cloudflared Tunnel antes conocido como Argo Tunnel se deberían seguir los pasos siguientes.

  1. Crear un usuario con el nombre cloudflared o cualquier otro nombre en dependencia del servicio que desees ejecutar. Este se encargará de iniciar los procesos para nuestro software en cada momento.
 
sudo useradd -s /usr/sbin/nologin -r -M cloudflared
  1. Crear un archivo de configuración con los valores que sirven como parametros para la ejecución de cloudflared.
 
sudo nano /etc/default/cloudflared

Aquí se crea el archivo que utilizamos para la configuración de nuestro servicio dentro del directorio /etc/default/ y el nombre del mismo cloudflared el nombre es el que elijas y en este archivo puedes poner más ajustes de otros servicios que tengas corriendo en el sistema.

Dentro del archivo copiar los siguientes datos.

 
# Commandline args for cloudflared, using Cloudflare DNS
CLOUDFLARED_OPTS=--hostname midominio.com  --url localhost:80
  1. Dar permiso al usuario para el archivo de configuración que hemos creado.
     
    sudo chown cloudflared:cloudflared /etc/default/cloudflared
    sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared
  2. Crear el servicio en la carpeta /etc/systemd/system con el nombre que le deseas poner. En este caso cloudflared.service
 
sudo nano /etc/systemd/system/cloudflared.service
  1. Copiar el siguiente código

     
    [Unit]
    Description=cloudflared mi sitio web local en internet
    After=syslog.target network-online.target
    
    [Service]
    Type=simple
    User=cloudflared
    EnvironmentFile=/etc/default/cloudflared
    ExecStart=/usr/local/bin/cloudflared $CLOUDFLARED_OPTS
    Restart=on-failure
    RestartSec=10
    KillMode=process
    
    [Install]
    WantedBy=multi-user.target

  2. Con nuestro servicio creado lo único que nos quedaría es conocer los comandos que serán útiles para manejar servicios en Linux.

Habilitar el servicio en el sistema:

 
sudo systemctl enable cloudflared
Iniciar el servicio:
 
sudo systemctl start cloudflared
Mostrar status del servicio:
 
sudo systemctl status cloudflared
Deshabilitar el servicio:
 
sudo systemctl disable cloudflared
Ahora puedes disfrutar del servicio para mantener tu sitio web, blog, aplicación o ftp en línea.