Il classico modo di pubblicare un servizio interno (il gestionale web, il pannello del NAS, un sito ospitato in sede) è aprire una porta sul firewall e inoltrarla al server. Funziona, ma espone direttamente il server a Internet, richiede un IP pubblico statico e si scontra sempre più spesso con le connessioni in CGNAT, dove una porta da aprire proprio non c'è.

Cloudflare Tunnel ribalta lo schema: è il server che si collega a Cloudflare, e Cloudflare porta dentro il traffico. Sul firewall non si apre nulla.

Come funziona

Sul server (o su una macchina della stessa rete) gira un piccolo servizio, cloudflared, che apre connessioni in uscita verso i datacenter Cloudflare. Quando qualcuno visita gestionale.tuaazienda.it, la richiesta arriva a Cloudflare, attraversa il tunnel già aperto e raggiunge il servizio interno.

Configurazione

Il dominio deve avere i DNS gestiti da Cloudflare. Dal pannello Zero Trust → Networks → Tunnels si crea il tunnel e si ottiene il comando di installazione con il token; in alternativa, tutto da riga di comando:

cloudflared tunnel login
cloudflared tunnel create sede-padova
cloudflared tunnel route dns sede-padova gestionale.tuaazienda.it

Il file di configurazione dice quale nome pubblico va verso quale servizio interno:

# /etc/cloudflared/config.yml
tunnel: sede-padova
credentials-file: /etc/cloudflared/<id-tunnel>.json

ingress:
  - hostname: gestionale.tuaazienda.it
    service: http://192.168.10.20:8080
  - hostname: nas.tuaazienda.it
    service: https://192.168.10.30:5001
    originRequest:
      noTLSVerify: true
  - service: http_status:404

Poi cloudflared service install e il tunnel parte all'avvio. Per ridondanza si può far girare cloudflared su due macchine con lo stesso tunnel.

Cloudflare Access: il login prima del servizio

Pubblicare un pannello di amministrazione con il tunnel, senza altro, significa comunque metterlo su Internet. La parte che rende il tunnel davvero interessante è Cloudflare Access: davanti al servizio compare una pagina di login gestita da Cloudflare, e il traffico arriva al server solo dopo che l'utente si è autenticato.

Per pannelli di amministrazione, NAS, strumenti interni, è la configurazione che uso di default: tunnel più Access, e il servizio non è raggiungibile in nessun altro modo.

I limiti da conoscere prima

Upload massimo di 100 MB

Sui piani Free e Pro Cloudflare accetta richieste fino a 100 MB per qualunque nome con il proxy attivo, tunnel compresi. E non risponde con un errore chiaro: la connessione si interrompe a metà. Nei log di cloudflared compare qualcosa come Incoming request ended abruptly: context canceled, e l'utente vede un caricamento che parte e poi fallisce. Per NAS con sincronizzazione di file grandi, video, immagini disco, il tunnel non è lo strumento giusto: serve una VPN o un percorso diretto.

Non è una VPN per tutto

Il tunnel è pensato per HTTP e HTTPS. Si possono far passare anche SSH, RDP e altri protocolli, ma dal lato utente serve cloudflared o il client WARP. Per dare ai dipendenti l'accesso completo alla rete, una VPN resta più semplice.

L'IP interno del servizio fa parte della configurazione

Se il server cambia indirizzo (una VM spostata su un altro host, un DHCP che assegna un IP nuovo), il tunnel resta connesso ma punta a un indirizzo che non risponde, e l'utente vede un errore 502 o 530. Tutto sembra "su", eppure il sito è giù. Due regole: IP fissi per i servizi pubblicati e, quando si sposta una macchina, aggiornare la configurazione del tunnel nello stesso momento.

I dati passano da Cloudflare

Cloudflare termina il TLS: tecnicamente vede il traffico in chiaro. Per la maggior parte dei servizi è accettabile, ma va valutato per dati particolarmente sensibili e scritto nella documentazione privacy come fornitore.

Cache

Cloudflare mette in cache file statici in base all'estensione. Un repository di pacchetti, un file che cambia mantenendo lo stesso nome o una API che restituisce file .js possono essere serviti vecchi. Il server deve mandare header di cache corretti, ad esempio Cache-Control: no-store sui file che cambiano.

Quando lo consiglio: piccoli siti e applicazioni web ospitati in sede, pannelli di amministrazione, strumenti interni da raggiungere fuori ufficio, sedi senza IP statico. Quando no: trasferimenti di file grandi, accesso completo alla rete, dati che non possono transitare da un fornitore esterno.

Posso aiutarti con la tua infrastruttura?

Che tu abbia un progetto da zero o un problema da risolvere, scrivimi o prenota una call gratuita di 30 minuti.

Invia un messaggio → Prenota una call gratuita ↗