Configurazione Cloudflare Tunnel su Ubuntu 24.04

Cloudflare Tunnels è un servizio offerto da Cloudflare che consente di esporre in modo sicuro a Internet i servizi Web in esecuzione sul computer locale o sulla rete privata senza dover aprire porte, configurare firewall o utilizzare un indirizzo IP pubblico. Crea un tunnel sicuro e crittografato tra il tuo server di origine e la rete di Cloudflare, consentendo l’accesso alle tue applicazioni da qualsiasi luogo.

Passaggio 1: installare e configurare Cloudflared

Per creare e gestire i tunnel, dovrai installare e autenticare Cloudflared sul tuo server.

Puoi installare Cloudflared con il seguente comando:

# wget -q wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
# dpkg -i cloudflared-linux-amd64.deb

Dopo aver installato Cloudflare, è necessario autenticarlo con il tuo account Cloudflare:

# cloudflared tunnel login

Riceverai il seguente messaggio:

Please open the following URL and log in with your Cloudflare account:
https://dash.cloudflare.com/argotunnel?aud=&callback=https%3A%2F%2Flogin.cloudflareaccess.org%2F94jJEwKkBV3dOOKv5oPBEj-B9lWITbj_Gk_9sVN1wnw%3D
Leave cloudflared running to download the cert automatically.

Copia l’URL e accedi al tuo account Cloudflare. Una volta effettuato l’accesso, riceverai il seguente messaggio:

Fare clic sul pulsante Autorizza per autorizzare il tunnel. CloudflareVerrà scaricato un file di certificato per l’autenticazione cloudflared con Cloudflare’sla rete.

You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/root/.cloudflared/cert.pem

Una volta completata con successo l’autorizzazione, il file cert.pem verrà scaricato nella directory predefinita.

Passaggio 2: creare un tunnel Cloudflare

Ora sei pronto per creare un Tunnel Cloudflare che collegherà Cloudflare al bordo di Cloudflare. Eseguendo il seguente comando verrà creato un Tunnel:

# cloudflared tunnel create yourtunnel

Nota: sostituisci  yourtunnel con il nome che preferisci.

Successivamente, devi configurare il tunnel in modo che punti al tuo server web locale. Il file di configurazione contiene chiavi e valori, scritti in sintassi YAML.

# nano /root/.cloudflared/config.yml

È necessario includere l’ID del tunnel corretto e il file delle credenziali ottenuti dal comando di creazione del tunnel.

tunnel: b8294c45-9cd1-40fe-b8f1-519da5d8dfd9
credentials-file: /root/.cloudflared/b8294c45-9cd1-40fe-b8f1-519da5d8dfd9.json
ingress:
- hostname: test.yourdomain.com
service: http://localhost:80
- service: http_status:404

Successivamente, devi configurare le impostazioni DNS sul tuo Cloudflareaccount aggiungendo un record CNAME.

Inoltre, è possibile utilizzare questo comando per generare un record CNAME che punta al sottodominio di un tunnel specifico.

# tunnel route dns b8294c45-9cd1-40fe-b8f1-519da5d8dfd9 test.yourdomain.com

Passaggio 3: avviare e gestire il tunnel Cloudflare

Per impostazione predefinita, il tunnel si aspetta di trovare il file di configurazione nella directory predefinita, /root/.cloudflared/config.yml, ma per eseguire il tunnel come servizio potrebbe essere necessario spostare il file config.yml nella directory /etc/cloudflared/.

# mkdir /etc/cloudflared/
# mv /root/.cloudflared/config.yml /etc/cloudflared/

Quindi, devi installare il tunnel come servizio:

# cloudflared service install

Ora possiamo avviare e abilitare il servizio Cloudflared in modo che venga eseguito in background e si avvii automaticamente all’avvio del server.

# systemctl start cloudflared
# systemctl enable cloudflared

È possibile verificare lo stato del servizio Cloudflared utilizzando il comando systemctl status  :

# systemctl status cloudflared
Produzione:
● cloudflared.service - cloudflared
Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
Active: active (running)
Main PID: 2316 (cloudflared)
Tasks: 7 (limit: 2218)
Memory: 14.0M (peak: 16.1M)
CPU: 9.227s
CGroup: /system.slice/cloudflared.service
└─2316 /usr/bin/cloudflared --no-autoupdate --config /etc/cloudflared/config.yml tunnel run

Passaggio 4: aggiungere altri servizi (facoltativo)

Se più servizi utilizzano lo stesso tunnel, è necessario creare voci CNAME separate per ciascun nome host.

# cloudflared tunnel route dns <UUID or NAME> test2.yourdomain.com

Quindi aggiungi un altro punto di ingresso alla configurazione:

ingress:
- hostname: test.yourdomain.com
service: http://localhost:80
- hostname: test2.yourdomain.com
service: http://localhost:8080
- service: http_status:404

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • mail@trgtkls.org

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

close