Ak prevádzkujete lokálny server u vás doma na starom notebooku alebo PC – ako napríklad server Plex Media, súborový server, webový server alebo akýkoľvek iný server – môžete ho sprístupniť na internete pomocou možnosti presmerovania portov vo svojom router. Nie je však bezpečné ani odporúčané pristupovať k serveru týmto spôsobom v produkčnom prostredí.
Ukážeme vám, ako bezpečne vystaviť svoje lokálne servery pomocou pripojenia HTTPS k internetu pomocou bezplatnej služby Cloudflare Tunnel – bez zverejnenia vašej verejnej IP adresy.
Čo je Cloudflare Tunnel?
Cloudflare Tunnel, predtým známy ako Argo Tunnel, pomáha používateľom bezpečne vystaviť svoje zdroje, ako napr. lokálne servery, na internet bez verejnej IP adresy alebo bez nutnosti povoliť presmerovanie portov v router. Keď nastavíte Cloudlfare Tunnel vo svojom systéme Windows, MacOS alebo Linux, ľahké tunelovanie démon (cloudflared) je nainštalovaný a sedí medzi vaším zdrojom (lokálnym serverom) a Cloudflare siete. Pomocou Cloudflare Tunnel môžete bezpečne odkryť a pripojiť akékoľvek miestne webové servery HTTP, vzdialené plochy, servery SSH alebo rôzne iné protokoly na internet.
Nižšie naše podrobné pokyny ukazujú, ako nastaviť démona cloudflared tunelovania v systémoch Windows, MacOS, Linux a Raspberry Pi na vystavenie miestnych serverov na internet.
Predtým ako začneš
Ak chcete nainštalovať a nastaviť démona cloudflared tunelovania vo vašom systéme, musíte splniť tieto predpoklady:
- Zaregistrujte si názov domény. Môžete si ju zakúpiť buď od poskytovateľov služieb, ako je GoDaddy, alebo môžete získať bezplatnú doménu od freenom.com.
- Po zaregistrovaní názvu domény si vytvorte účet Cloudflare a pridajte svoju doménu – viď Nastavenie Cloudflare.
- Potom zmeňte alebo aktualizujte názvové servery domény na názvové servery Cloudflare – pozrite si Dokumentácia Cloudflare. Toto nastavenie je dostupné na portáli, kde ste si zaregistrovali alebo zakúpili doménu.
Po splnení týchto požiadaviek môžete podľa krokov nižšie nastaviť tunel Cloudflare na počítači so systémom Windows, macOS, Linux alebo Raspberry Pi.
Nainštalujte Cloudflare Tunnel na Windows
Nastavenie Cloudflare Tunnel v systéme Windows vyžaduje inštaláciu ľahkého démona na strane servera. Choď na cloudflared vydania a stiahnite si správnu verziu pre svoju verziu systému Windows:
- 32-bitový systém Windows: cloudflared-windows-386.exe
- 64-bitový systém Windows: cloudflared-windows-amd64.exe
Po stiahnutí nastavenia démona cloudflared prejdite do priečinka, v ktorom sa nachádza nastavenie, a premenujte súbor na cloudflared.exe. Potom otvorte príkazový riadok a pomocou príkazu prejdite na miesto, kde sa nachádza démon cloudflared cd príkaz. Napríklad:
cd C:\Users\Ravi Singh\Downloads\Programs
Potom spustite nasledujúce príkazy na kontrolu verzie a inštaláciu najnovšej aktualizácie.
vzplanul oblak.exe--verzia
vzplanul oblak.exeaktualizovať
Ak vidíte výstup, ako je znázornené na snímke obrazovky nižšie, môžete začať.
Raz za čas musíte skontrolovať aktualizácie cloudflared, aby ste udržali nastavenie aktualizované a predišli problémom s pripojením.
Nainštalujte Cloudflare Tunnel na macOS
V systéme macOS môžete použiť aplikáciu Terminál na stiahnutie a inštaláciu démona cloudflared a potom pomocou príkazov vytvoriť bezpečný tunel a sprístupniť miestne servery internetu.
Ak chcete stiahnuť cloudflared, spustite nasledujúci príkaz v termináli:
variť Inštalácia vzplanutie mračien/vzplanutie mrakov/vzplanutie mrakov
Prípadne môžete spustiť tento príkaz na stiahnutie cloudflared:
variť Inštalácia vzplanul oblak
Nainštalujte Cloudflare Tunnel v systéme Linux
Na základe operačného systému Linux, ktorý používate, si stiahnite súbor cloudflared balík. Potom otvorte aplikáciu Terminál, prejdite na miesto, kde je balík stiahnutý, a nainštalujte ho. Prípadne, v závislosti od vašej distribúcie Linuxu, môžete použiť jeden z nasledujúcich príkazov na stiahnutie a inštaláciu cloudflared.
Inštalácia DEB
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
Inštalácia RPM
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
Arch Linux
Na Arch Linux použite nástroj pacman na inštaláciu cloudflared.
pacman -Syu sa rozžiaril
Nainštalujte Cloudflared Tunnel na Raspberry Pi
Pre Raspberry Pi Zero, 2, 3 alebo 4 neexistuje žiadna oficiálna cloudflared zostava alebo úložisko. Môžete si však nainštalovať a používať neoficiálne zostavy ARMv6 pre Raspberry Pi na nastavenie cloudlfared tunela v operačnom systéme Raspberry Pi. Už sme prebrali niekoľko tutoriálov, ako napr vlastný správca hesiel BitWarden na Raspberry Pi Zero, kde sme použili neoficiálne zostavy na vystavenie našich lokálnych serverov internetu s HTTPS pripojením cez Cloudflare Tunnel.
Ak chcete nainštalovať cloudflared na Raspberry Pi OS Bullseye (alebo inú verziu), spustite nasledujúci príkaz v termináli.
sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudodecht-xvzfcloudflared_2022.8.2_arm.decht.gz
sudo cp ./cloudflared /usr/miestne/bin
sudo chmod +x /usr/miestne/bin/cloudflared
zamračené -v
Ak chcete skontrolovať najnovšie neoficiálne verzie pre Raspberry Pi, pozrite sa na Stránka zostavy ARMv6.
Vytvorte a nastavte Cloudflare tunel
Po stiahnutí a nainštalovaní démona cloudflared do systému Windows, MacOS, Linux alebo Raspberry Pi, môžete vytvoriť Cloudflare tunel pomocou nasledujúceho príkazu v aplikácii Terminál alebo v príkazovom riadku:
cloudflared prihlásenie
V systéme Windows, MacOS alebo Linux sa týmto otvorí prihlasovacia stránka Cloudflare vo vašom predvolenom webovom prehliadači. Ak sa okno prehliadača neotvorí automaticky, skopírujte URL zobrazenú vo výstupe príkazu a potom ho vložte do webového prehliadača a prihláste sa do svojho účtu Cloudflare.
Po prihlásení vyberte doménu, ktorú ste pridali do účtu Cloudlfare, a kliknite Povoliť.
Po autorizácii sa vám zobrazí správa „Úspešne ste sa prihlásili...“. Bude tiež generovať a cert.pem súbor a uložte ho do predvoleného umiestnenia adresára cloudflared:
- Windows: %USERPROFILE%\.mrak sa rozžiaril
- macOS: ~/.vznietil oblak
- Linux: /etc/cloudflared,
- Malinový koláč: /usr/local/etc/cloudflared
Ďalej musíme vytvoriť tunel pomocou nasledujúceho príkazu:
vytvoriť mrakový tunel <YourTunnelName>
Svoj tunel si môžete pomenovať ako len chcete. Napríklad my hostil web WordPress na starom notebooku a použil názov lokality ako názov tunela; to uľahčuje zapamätanie.
Príkaz vytvorí tunel a tiež súbor JSON s jedinečným UUID alfanumerického tunela. Skopírujte cestu k súboru JSON a UUID tunela, vložte ich do poznámkového bloku alebo zoznamu poznámok a uschovajte ich v bezpečí, pretože ich budeme potrebovať na vytvorenie konfiguračného súboru.
Ak chcete vytvoriť konfiguračný súbor v systéme macOS, Linux alebo Raspberry Pi OS, spustite nasledujúci príkaz,
sudo nano ~/.cloudflared/config.yml
V editore prilepte nasledujúci kód.
tunel: <TunnelUUID>
súbor poverení: /root/.cloudflared/<TuinnelUUID>.json
vstup:
-meno hosťa: môj domov.smartghar.org
služba: http://192.168.0.1
-služby: http_status:404
Uistite sa, že ste nahradili TunnelUUID a cestu k súboru JSON v súbore súbor poverení riadok kódu. Stlačte tlačidlo CTRL + X alebo Command + X (macOS) a potom Y kľúč a za ním Zadajte uložiť zmeny v config.yml súbor.
V systéme Windows môžete použiť Prieskumník súborov a prejsť do nasledujúceho umiestnenia:
C:\Používatelia\YourProfileName\.vznietil mrak
Potom kliknite pravým tlačidlom myši, vyberte Nový > Textový dokument, a vložte vyššie uvedený blok kódu.
Kliknite vyhliadka v Prieskumníkovi súborov a povoľte Prípony názvov súborov možnosť.
Potom upravte textový dokument s názvom config.yml.
Do konfiguračného súboru môžete pridať viacero názvov hostiteľov a služieb, aby ste k nim mali prístup cez internet prostredníctvom tunela Cloudlfare. Jednoducho skopírujte prvé dva riadky pod vstup: riadok kódu a vložte ich pred -služba: http_stav: 404. Nahraďte názov hostiteľa a adresy IP lokálneho servera, aby sa prenos z internetu preposielal na konkrétny lokálny server. Pozrite si príklad nižšie.
Príklad pre viacero názvov hostiteľov a služieb:
tunel: <TunnelUUID>
súbor poverení: /root/.cloudflared/<TuinnelUUID>.json
vstup:
-meno hosťa: môj domov.smartghar.org
služba: http://192.168.0.1
-meno hosťa: plex.smartghar.org
služba: http://192.168.0.136
-služby: http_status:404
Uložte zmeny a potom vytvorte záznamy CNAME v Cloudflare DNS pomocou nasledujúceho príkazu.
cloudflared tunnel route dns <TunnelName><meno hosťa>
Napríklad:
vzplanul oblaktuneltrasudnssmartgharmôj domov.smartghar.org
Po pridaní CNAME môžete spustiť tunel na prístup k vášmu lokálnemu serveru cez internet pomocou názvu hostiteľa, ktorý ste priradili.
cloudflared tunel beh <TunnelName>
Ak vidíte podobný výstup ako na obrázku vyššie, tunel sa úspešne spustil. Teraz môžete otvoriť webový prehliadač na akomkoľvek zariadení pripojenom k internetu a navštíviť názov hostiteľa. Pre tento prípad platí myhome.smartghar.org.
Keďže chceme, aby názov hostiteľa načítal našu konfiguračnú stránku smerovača, pridali sme IP 192.168.0.1, ktorý bol inak prístupný len cez lokálnu sieť.
Musíte povoliť možnosť SSL/TLS na Flexibilné alebo Úplné (podľa toho, čo vám vyhovuje), aby ste povolili zabezpečené pripojenie HTTPS s vašou lokálnou inštanciou.
Nekonečné možnosti
S Cloudlfare Tunnel máte bezplatný prístup k akémukoľvek nastaveniu servera vo vašej domácnosti cez internet. Túto službu môžete použiť na hosťovanie webovej lokality v lokálnom systéme a jej otestovanie pred jej nasadením na webovom serveri alebo povolením prístupu verejnosti. Môžete ho tiež použiť na bezpečný prístup k vášmu miestnemu inteligentnému domu so systémom Home Assistant alebo na akomkoľvek inom serveri cez internet.
Službu Cloudflare Tunnel sme zriadili na Raspberry Pi Zero W, ktoré má menšiu stopu, spotrebuje menej energie a funguje perfektne, čo nám umožňuje prístup ku všetkým našim lokálnym serverom na diaľku.