Se stai eseguendo un server locale a casa tua su un vecchio laptop o PC, come un server Plex Media, un file server, un server web o qualsiasi altro server: puoi esporlo a Internet utilizzando l'opzione di port forwarding nel tuo router. Tuttavia, non è né sicuro né consigliato accedere a un server in questo modo in un ambiente di produzione.

Ti mostreremo come esporre i tuoi server locali in modo sicuro con una connessione HTTPS a Internet utilizzando il servizio gratuito Cloudflare Tunnel, senza rivelare il tuo IP pubblico.

Cos'è il Tunnel Cloudflare?

Cloudflare Tunnel, precedentemente noto come Argo Tunnel, aiuta gli utenti a esporre in modo sicuro le proprie risorse, ad esempio server locali, a Internet senza un indirizzo IP pubblico o dover abilitare il port forwarding nel router. Quando imposti un tunnel Cloudlfare nel tuo sistema Windows, macOS o Linux, un tunneling leggero daemon (cloudflared) è installato e si trova tra la tua risorsa (server locale) e Cloudflare rete. Con Cloudflare Tunnel, puoi esporre e connettere in modo sicuro qualsiasi server Web HTTP locale, desktop remoto, server SSH o vari altri protocolli a Internet.

instagram viewer

Di seguito, le nostre istruzioni dettagliate mostrano come configurare il demone di tunneling cloudflared su Windows, macOS, Linux e Raspberry Pi per esporre i server locali a Internet.

Prima di iniziare

Per installare e configurare il demone di tunneling cloudflared sul tuo sistema, devi soddisfare questi prerequisiti:

  1. Registra un nome di dominio. Puoi acquistarne uno dai fornitori di servizi, come GoDaddy, oppure puoi ottenere un dominio gratuito da freenom.com.
  2. Dopo aver registrato il nome di dominio, crea un account Cloudflare e aggiungi il tuo dominio: vedi Installazione di Cloudflare.
  3. Quindi modifica o aggiorna i server dei nomi di dominio ai server dei nomi Cloudflare: consulta il file Documentazione Cloudflare. Questa impostazione è disponibile sul portale da cui hai registrato o acquistato il dominio.

Una volta soddisfatti questi requisiti, puoi seguire i passaggi seguenti per configurare Cloudflare Tunnel sul tuo computer Windows, macOS, Linux o Raspberry Pi.

Installa Cloudflare Tunnel su Windows

La configurazione di Cloudflare Tunnel su un sistema Windows richiede l'installazione di un demone lato server leggero. Vai il rilasci cloudflared page e scarica la versione corretta per la tua versione di Windows:

  • Windows a 32 bit: cloudflared-windows-386.exe
  • Windows a 64 bit: cloudflared-windows-amd64.exe

Dopo aver scaricato l'installazione del demone cloudflared, vai alla cartella in cui si trova l'installazione e rinomina il file in cloudflared.exe. Quindi apri il prompt dei comandi e vai alla posizione in cui si trova il daemon cloudflared utilizzando il file CD comando. Ad esempio:

CD C:\Utenti\Ravi Singh\Download\Programmi

Quindi eseguire i seguenti comandi per verificare la versione e installare l'ultimo aggiornamento.

cloudflared.exe--versione
cloudflared.exeaggiornamento

Se vedi un output come mostrato nello screenshot qui sotto, sei a posto.

È necessario verificare la presenza di aggiornamenti cloudflared di tanto in tanto, per mantenere aggiornata la configurazione ed evitare problemi di connettività.

Installa Cloudflare Tunnel su macOS

Su macOS, puoi utilizzare l'app Terminal per scaricare e installare il demone cloudflared e quindi utilizzare i comandi per creare un tunnel sicuro ed esporre i server locali a Internet.

Per scaricare cloudflared, esegui il seguente comando nel Terminale:

brew installare cloudflare/cloudflare/cloudflare

In alternativa, puoi eseguire questo comando per scaricare cloudflared:

brew installare cloudflared

Installa Cloudflare Tunnel su Linux

In base al sistema operativo Linux che stai utilizzando, scarica il file pacchetto cloudflared. Quindi apri l'app Terminale, vai alla posizione in cui è stato scaricato il pacchetto e installalo. In alternativa, a seconda della tua distribuzione Linux, puoi utilizzare uno dei seguenti comandi per scaricare e installare cloudflared.

Installazione DEB

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

​​Installazione RPM

wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm

​​ArcoLinux

Su Arch Linux, usa lo strumento pacman per installare cloudflared.

pacman -Syu cloudflared

Installa Cloudflared Tunnel su Raspberry Pi

Non esiste una build o un repository cloudflared ufficiale per Raspberry Pi Zero, 2, 3 o 4. Tuttavia, puoi installare e utilizzare le build non ufficiali ARMv6 per Raspberry Pi per configurare il tunnel cloud nel sistema operativo Raspberry Pi. Abbiamo già trattato alcuni tutorial, come il file gestore di password BitWarden self-hosted su Raspberry Pi Zero, dove abbiamo utilizzato le build non ufficiali per esporre i nostri server locali a Internet con una connessione HTTPS tramite un tunnel Cloudflare.

Per installare cloudflared su Raspberry Pi OS Bullseye (o un'altra versione), esegui il seguente comando nel Terminale.

sudowget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudocatrame-xvzfcloudflared_2022.8.2_braccio.catrame.gz
sudo cp ./cloudflared /usr/Locale/bin
sudo chmod +x /usr/Locale/bin/cloudflared
infuocato -v

Per verificare le ultime versioni non ufficiali di Raspberry Pi, controlla il file ARMv6 costruisce la pagina.

Crea e configura un tunnel Cloudflare

Una volta scaricato e installato il demone cloudflared su Windows, macOS, Linux o Raspberry Pi, puoi creare un tunnel Cloudflare utilizzando il seguente comando nell'app Terminale o nel prompt dei comandi:

accesso cloudflare

Su Windows, macOS o Linux, questo aprirà la pagina di accesso di Cloudflare nel tuo browser web predefinito. Se la finestra del browser non si apre automaticamente, copia l'URL visualizzato nell'output del comando, quindi incollalo nel browser Web e accedi al tuo account Cloudflare.

Una volta effettuato l'accesso, seleziona il dominio che hai aggiunto all'account Cloudlfare e fai clic Autorizzare.

Una volta autorizzato, vedrai il messaggio "Hai effettuato l'accesso con successo...". Genererà anche un file cert.pem file e memorizzarlo nella posizione della directory cloudflared predefinita:

  • Finestre: %USERPROFILE%\.cloudflared
  • Mac OS: ~/.cloudflared
  • Linux: /etc/cloudflared,
  • Lampone Pi: /usr/local/etc/cloudflared

Successivamente, dobbiamo creare un tunnel utilizzando il seguente comando:

tunnel cloudflared crea <YourTunnelName>

Puoi nominare il tuo tunnel come preferisci. Ad esempio, noi ha ospitato un sito WordPress su un vecchio laptop e ha utilizzato il nome del sito come nome del tunnel; questo lo rende facile da ricordare.

Il comando creerà un tunnel e anche un file JSON con un UUID tunnel alfanumerico univoco. Copia il percorso del file JSON e l'UUID del tunnel, incollalo in un blocco note o in un elenco di note e tienilo al sicuro poiché ne avremo bisogno per creare un file di configurazione.

Per creare il file di configurazione in macOS, Linux o Raspberry Pi OS, eseguire il seguente comando,

sudo nano ~/.cloudflared/config.yml

Nell'editor, incolla il seguente codice.

tunnel: <TunnelUUID>
file delle credenziali: /root/.cloudflared/<TuinnelUUID>.json
ingresso:
-Nome host: casa mia.smartgar.org
servizio: http://192.168.0.1
-servizio: http_stato:404

Assicurati di sostituire TunnelUUID e il percorso del file JSON nel file file delle credenziali riga di codice. Premere CTRL+X O Comando + X (macOS) e poi il Y tasto seguito da accedere per salvare le modifiche nel file config.yml file.

Su Windows, puoi utilizzare Esplora file e accedere alla seguente posizione:

C:\Utenti\Il tuo nome profilo\.nuvoloso

Quindi fare clic con il pulsante destro del mouse, selezionare Nuovo > Documento di testo, e incolla il suddetto blocco di codice.

Clic Visualizzazione in Esplora file e abilitare il Estensioni di nomi di file opzione.

Quindi modificare il documento di testo denominato config.yml.

Puoi aggiungere più nomi host e servizi nel file di configurazione per accedervi tramite Internet tramite un tunnel Cloudlfare. Semplicemente, copia le prime due righe sotto il file ingresso: riga di codice e incollali prima del file -servizio: http_status: 404. Sostituisci il nome host e gli IP del server locale per inoltrare il traffico da Internet al server locale specifico. Vedere un esempio di seguito.

Un esempio per più nomi host e servizi:

tunnel: <TunnelUUID>
file delle credenziali: /root/.cloudflared/<TuinnelUUID>.json
ingresso:
-Nome host: casa mia.smartgar.org
servizio: http://192.168.0.1
-Nome host: plesso.smartgar.org
servizio: http://192.168.0.136
-servizio: http_stato:404

Salva le modifiche e quindi crea i record CNAME in Cloudflare DNS utilizzando il seguente comando.

percorso del tunnel cloudflared dns <TunnelName><Nome host>

Ad esempio:

cloudflaredtunnelitinerariodnssmartgarcasa mia.smartgar.org

Una volta aggiunto il CNAME, puoi avviare il tunnel per accedere al tuo server locale tramite Internet utilizzando il nome host che hai assegnato.

corsa del tunnel svasato <TunnelName>

Se vedi un output simile a quello dello screenshot qui sopra, il tunnel è stato avviato correttamente. Ora puoi aprire il browser Web su qualsiasi dispositivo connesso a Internet e visitare il nome host. Per questo caso, lo è myhome.smartghar.org.

Poiché vogliamo che il nome host carichi la nostra pagina di configurazione del router, abbiamo aggiunto l'IP 192.168.0.1, che altrimenti era accessibile solo tramite la rete locale.

Devi abilitare l'opzione SSL/TLS su Flessibile o Completo (a seconda dell'opzione che funziona per te) per abilitare una connessione HTTPS sicura con la tua istanza locale.

Possibilità infinite

Con Cloudlfare Tunnel, puoi accedere gratuitamente a qualsiasi configurazione del server nella tua casa tramite Internet. È possibile utilizzare questo servizio per ospitare un sito Web su un sistema locale e testarlo prima di distribuirlo su un server Web o consentire l'accesso al pubblico. Puoi anche usarlo per accedere in modo sicuro alla tua casa intelligente locale in esecuzione su Home Assistant o qualsiasi altro server tramite Internet.

Abbiamo impostato il servizio Cloudflare Tunnel su un Raspberry Pi Zero W, che ha un formato più piccolo footprint, consuma meno energia e funziona perfettamente, permettendoci di accedere a tutti i nostri server locali a distanza.