Dacă rulați un server local acasă pe un laptop sau PC vechi, cum ar fi un server Plex Media, un server de fișiere, un server web sau orice alt server — îl puteți expune la internet utilizând opțiunea de redirecționare a portului din dvs router. Cu toate acestea, nu este nici sigur, nici recomandat să accesați un server în acest fel într-un mediu de producție.

Vă vom arăta cum să vă expuneți în siguranță serverele locale cu o conexiune HTTPS la internet folosind serviciul gratuit Cloudflare Tunnel, fără a dezvălui IP-ul dvs. public.

Ce este Cloudflare Tunnel?

Cloudflare Tunnel, cunoscut anterior ca Argo Tunnel, ajută utilizatorii să-și expună în siguranță resursele, cum ar fi servere locale, la internet fără o adresă IP publică sau care trebuie să activeze redirecționarea portului în router. Când configurați un tunel Cloudlfare în sistemul dvs. Windows, macOS sau Linux, un tunel ușor daemon (cloudflared) este instalat și se află între resursa dumneavoastră (server local) și Cloudflare reţea. Cu Cloudflare Tunnel, puteți expune și conecta în siguranță orice server web local HTTP, desktop-uri la distanță, servere SSH sau diferite alte protocoale la internet.

instagram viewer

Mai jos, instrucțiunile noastre treptate arată cum să configurați daemonul de tunel în cloud pe Windows, macOS, Linux și Raspberry Pi pentru a expune serverele locale la internet.

Înainte de a începe

Pentru a instala și a configura daemonul de tunelare cloudflared pe sistemul dvs., trebuie să îndepliniți aceste cerințe preliminare:

  1. Înregistrați un nume de domeniu. Puteți achiziționa unul de la furnizorii de servicii, cum ar fi GoDaddy, sau puteți obține un domeniu gratuit de la freenom.com.
  2. După înregistrarea numelui de domeniu, creați un cont Cloudflare și adăugați domeniul dvs. - vezi Configurare Cloudflare.
  3. Apoi modificați sau actualizați serverele de nume de domeniu la serverele de nume Cloudflare - consultați Documentația Cloudflare. Această setare este disponibilă pe portalul de unde v-ați înregistrat sau ați achiziționat domeniul.

Odată ce aceste cerințe sunt îndeplinite, puteți urma pașii de mai jos pentru a configura tunelul Cloudflare pe computerul dvs. Windows, macOS, Linux sau Raspberry Pi.

Instalați Cloudflare Tunnel pe Windows

Configurarea Cloudflare Tunnel pe un sistem Windows necesită să instalați un daemon ușor pe partea de server. Du-te la lansări de nori pagina și descărcați versiunea corectă pentru versiunea dvs. de Windows:

  • Windows pe 32 de biți: cloudflared-windows-386.exe
  • Windows pe 64 de biți: cloudflared-windows-amd64.exe

După descărcarea configurației demonului cloudflared, mergeți la folderul în care se află configurarea și redenumiți fișierul în cloudflared.exe. Apoi deschideți linia de comandă și navigați la locația în care se află demonul cloudflared folosind CD comanda. De exemplu:

CD C:\Utilizatori\Ravi Singh\Descărcări\Programe

Apoi rulați următoarele comenzi pentru a verifica versiunea și a instala cea mai recentă actualizare.

nori fulgeraţi.exe--versiune
nori fulgeraţi.exeActualizați

Dacă vedeți o ieșire așa cum se arată în captura de ecran de mai jos, sunteți gata.

Trebuie să verificați din când în când actualizările cloud, pentru a menține configurația actualizată și pentru a evita problemele de conectivitate.

Instalați Cloudflare Tunnel pe macOS

Pe macOS, puteți folosi aplicația Terminal pentru a descărca și instala daemonul cloudflared și apoi utilizați comenzi pentru a crea un tunel securizat și a expune serverele locale la internet.

Pentru a descărca cloudflared, rulați următoarea comandă în Terminal:

bere instalare cloudflare/cloudflare/cloudflare

Alternativ, puteți rula această comandă pentru a descărca cloudflared:

bere instalare nori fulgeraţi

Instalați Cloudflare Tunnel pe Linux

Pe baza sistemului de operare Linux pe care îl utilizați, descărcați pachet cloudflared. Apoi deschideți aplicația Terminal, navigați la locația în care este descărcat pachetul și instalați-o. Alternativ, în funcție de distribuția dvs. Linux, puteți utiliza una dintre următoarele comenzi pentru a descărca și instala cloudflared.

Instalare DEB

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

​​Instalare RPM

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

​​Arch Linux

Pe Arch Linux, utilizați instrumentul pacman pentru a instala cloudflared.

pacman -Syu aprins nori

Instalați Cloudflared Tunnel pe Raspberry Pi

Nu există nicio versiune oficială cloudflared sau un depozit pentru Raspberry Pi Zero, 2, 3 sau 4. Cu toate acestea, puteți instala și utiliza versiunile neoficiale ARMv6 pentru Raspberry Pi pentru a configura tunelul cloud în sistemul de operare Raspberry Pi. Am acoperit deja câteva tutoriale, cum ar fi manager de parole BitWarden auto-găzduit pe Raspberry Pi Zero, unde am folosit versiunile neoficiale pentru a ne expune serverele locale la internet cu o conexiune HTTPS printr-un tunel Cloudflare.

Pentru a instala cloudflared pe Raspberry Pi OS Bullseye (sau altă versiune), rulați următoarea comandă în Terminal.

sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudogudron-xvzfcloudflared_2022.8.2_brat.gudron.gz
sudo cp ./cloudflared /usr/local/bin
sudo chmod +x /usr/local/bin/cloudflared
înnebunit -v

Pentru a verifica cele mai recente versiuni neoficiale pentru Raspberry Pi, consultați Pagina de versiuni ARMv6.

Creați și configurați un tunel Cloudflare

Odată ce daemonul cloudflared este descărcat și instalat pe Windows, macOS, Linux sau Raspberry Pi, puteți crea un tunel Cloudflare utilizând următoarea comandă în aplicația Terminal sau promptul de comandă:

autentificare cloudflared

Pe Windows, macOS sau Linux, aceasta va deschide pagina de conectare Cloudflare în browserul dvs. web implicit. Dacă fereastra browserului nu se deschide automat, copiați adresa URL afișată în rezultatul comenzii și apoi inserați-o în browserul web și conectați-vă la contul dvs. Cloudflare.

Odată autentificat, selectați domeniul adăugat la contul Cloudlfare și faceți clic Autoriza.

Odată autorizat, veți vedea mesajul „Te-ai conectat cu succes…”. Va genera, de asemenea, un cert.pem fișier și stocați-l în locația implicită a directorului cloudflared:

  • Windows: %USERPROFILE%\.cloudflared
  • macOS: ~/.cloudflared
  • Linux: /etc/cloudflared,
  • Raspberry Pi: /usr/local/etc/cloudflared

În continuare, trebuie să creăm un tunel utilizând următoarea comandă:

creează tunelul plin de nori <YourTunnelName>

Îți poți denumi tunelul cum vrei. De exemplu, noi a găzduit un site WordPress pe un laptop vechi și a folosit numele site-ului ca nume de tunel; acest lucru îl face ușor de reținut.

Comanda va crea un tunel și, de asemenea, un fișier JSON cu un UUID de tunel alfanumeric unic. Copiați calea fișierului JSON și UUID-ul tunelului, lipiți-l într-un Bloc de note sau Lista de note și păstrați-l în siguranță, deoarece vom avea nevoie de acestea pentru a crea un fișier de configurare.

Pentru a crea fișierul de configurare în OS macOS, Linux sau Raspberry Pi, rulați următoarea comandă,

sudo nano ~/.cloudflared/config.yml

În editor, lipiți următorul cod.

tunel: <TunnelUUID>
fișierul de acreditări: /root/.cloudflared/<TuinnelUUID>.json
intrare:
-nume de gazdă: casa mea.smartghar.org
serviciu: http://192.168.0.1
-serviciu: http_status:404

Asigurați-vă că înlocuiți TunnelUUID și calea fișierului JSON în fișierul fișierul de acreditări linie de cod. presa CTRL + X sau Comanda + X (macOS) și apoi Y cheie urmată de introduce pentru a salva modificările în config.yml fişier.

Pe Windows, puteți utiliza File Explorer și puteți naviga la următoarea locație:

C:\Utilizatori\YourProfileName\.folosit de nori

Apoi faceți clic dreapta, selectați Nou > Document text, și lipiți blocul de cod menționat anterior.

Clic Vedere în File Explorer și activați Extensii de nume de fișiere opțiune.

Apoi editați documentul text numit config.yml.

Puteți adăuga mai multe nume de gazdă și servicii în fișierul de configurare pentru a le accesa prin internet printr-un tunel Cloudlfare. Pur și simplu, copiați primele două rânduri de sub intrare: linie de cod și lipiți-le înainte de -serviciu: http_status: 404. Înlocuiți numele de gazdă și IP-urile serverului local pentru a redirecționa traficul de pe internet către un anumit server local. Vezi un exemplu de mai jos.

Un exemplu pentru mai multe nume de gazdă și servicii:

tunel: <TunnelUUID>
fișierul de acreditări: /root/.cloudflared/<TuinnelUUID>.json
intrare:
-nume de gazdă: casa mea.smartghar.org
serviciu: http://192.168.0.1
-nume de gazdă: plex.smartghar.org
serviciu: http://192.168.0.136
-serviciu: http_status:404

Salvați modificările și apoi creați înregistrările CNAME în Cloudflare DNS utilizând următoarea comandă.

traseul tunelului cloudflared dns <TunnelName><nume de gazdă>

De exemplu:

nori fulgeraţituneltraseudnssmartgharcasa mea.smartghar.org

Odată ce CNAME este adăugat, puteți porni tunelul pentru a vă accesa serverul local prin internet folosind numele de gazdă pe care l-ați atribuit.

tunelul plin de nori <TunnelName>

Dacă vedeți o ieșire similară ca în captura de ecran de mai sus, tunelul a pornit cu succes. Acum puteți deschide browserul web pe orice dispozitiv conectat la internet și puteți vizita numele de gazdă. Pentru acest caz, este myhome.smartghar.org.

Deoarece dorim ca numele de gazdă să încarce pagina noastră de configurare a routerului, am adăugat IP-ul 192.168.0.1, care altfel era accesibil doar prin intermediul rețelei locale.

Trebuie să activați opțiunea SSL/TLS la Flexibil sau Complet (oricare funcționează pentru dvs.) pentru a activa o conexiune HTTPS sigură cu instanța dvs. locală.

Posibilitati nelimitate

Cu Cloudlfare Tunnel, puteți accesa gratuit orice configurare de server din casa dvs. prin internet. Puteți utiliza acest serviciu pentru a găzdui un site web pe un sistem local și a-l testa înainte de a-l implementa pe un server web sau de a permite accesul publicului. De asemenea, îl puteți folosi pentru a accesa în siguranță casa inteligentă locală care rulează pe Home Assistant sau pe orice alt server prin internet.

Am configurat serviciul Cloudflare Tunnel pe un Raspberry Pi Zero W, care are un mai mic amprentă, consumă mai puțină energie și funcționează perfect, permițându-ne să accesăm toate serverele noastre locale de la distanță.