Jeśli korzystasz z lokalnego serwera w domu na starym laptopie lub komputerze — takim jak serwer Plex Media, serwer plików, serwer WWW lub dowolny inny serwer — możesz go udostępnić w Internecie, korzystając z opcji przekierowania portów w swoim ruter. Jednak dostęp do serwera w ten sposób w środowisku produkcyjnym nie jest ani bezpieczny, ani zalecany.

Pokażemy Ci, jak bezpiecznie udostępnić lokalne serwery za pomocą połączenia HTTPS z Internetem za pomocą bezpłatnej usługi Cloudflare Tunnel — bez ujawniania publicznego adresu IP.

Co to jest tunel Cloudflare?

Cloudflare Tunnel, wcześniej znany jako Argo Tunnel, pomaga użytkownikom w bezpiecznym ujawnianiu ich zasobów, takich jak lokalnych serwerów, do Internetu bez publicznego adresu IP lub konieczności włączenia przekierowania portów w ruter. Kiedy konfigurujesz Cloudlfare Tunnel w systemie Windows, macOS lub Linux, lekkie tunelowanie demon (cloudflared) jest zainstalowany i znajduje się między twoim zasobem (serwer lokalny) a Cloudflare sieć. Dzięki Cloudflare Tunnel możesz bezpiecznie udostępniać i łączyć dowolne lokalne serwery HTTP, zdalne pulpity, serwery SSH lub różne inne protokoły z Internetem.

instagram viewer

Poniżej nasze instrukcje krok po kroku pokazują, jak skonfigurować demona tunelowania w chmurze w systemach Windows, macOS, Linux i Raspberry Pi w celu udostępnienia lokalnych serwerów w Internecie.

Zanim zaczniesz

Aby zainstalować i skonfigurować demona tunelowania cloudflared w swoim systemie, musisz spełnić następujące wymagania wstępne:

  1. Zarejestruj nazwę domeny. Możesz kupić domenę od dostawców usług, takich jak GoDaddy, lub otrzymać bezpłatną domenę freenom.com.
  2. Po zarejestrowaniu nazwy domeny utwórz konto Cloudflare i dodaj swoją domenę — patrz Konfiguracja Cloudflare'a.
  3. Następnie zmień lub zaktualizuj serwery nazw domen do serwerów nazw Cloudflare — zobacz Dokumentacja Cloudflare'a. To ustawienie jest dostępne w portalu, w którym zarejestrowałeś lub kupiłeś domenę.

Po spełnieniu tych wymagań możesz wykonać poniższe czynności, aby skonfigurować tunel Cloudflare na komputerze z systemem Windows, macOS, Linux lub Raspberry Pi.

Zainstaluj tunel Cloudflare w systemie Windows

Konfiguracja Cloudflare Tunnel w systemie Windows wymaga zainstalowania lekkiego demona po stronie serwera. Idź wersje cloudflared i pobierz poprawną wersję dla swojej wersji systemu Windows:

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

Po pobraniu konfiguracji demona cloudflared przejdź do folderu, w którym znajduje się instalacja, i zmień nazwę pliku na cloudflared.exe. Następnie otwórz wiersz polecenia i przejdź do lokalizacji, w której znajduje się demon cloudflared, używając pliku płyta CD Komenda. Na przykład:

płyta CD C:\Użytkownicy\Ravi Singh\Pobrane\Programy

Następnie uruchom następujące polecenia, aby sprawdzić wersję i zainstalować najnowszą aktualizację.

rozpalony chmurąexe--wersja
rozpalony chmurąexeaktualizacja

Jeśli zobaczysz dane wyjściowe, jak pokazano na zrzucie ekranu poniżej, możesz zacząć.

Od czasu do czasu musisz sprawdzać dostępność aktualizacji cloudflared, aby aktualizować konfigurację i unikać problemów z łącznością.

Zainstaluj tunel Cloudflare na macOS

W systemie macOS możesz użyć aplikacji Terminal, aby pobrać i zainstalować demona cloudflared, a następnie użyć poleceń do utworzenia bezpiecznego tunelu i udostępnienia lokalnych serwerów w Internecie.

Aby pobrać cloudflared, uruchom następujące polecenie w terminalu:

napar zainstalować cloudflare/cloudflare/cloudflare

Alternatywnie możesz uruchomić to polecenie, aby pobrać cloudflared:

napar zainstalować rozpalony chmurą

Zainstaluj tunel Cloudflare w systemie Linux

W zależności od używanego systemu operacyjnego Linux pobierz plik pakiet cloudflared. Następnie otwórz aplikację Terminal, przejdź do lokalizacji, w której pakiet jest pobierany, i zainstaluj go. Alternatywnie, w zależności od dystrybucji Linuksa, możesz użyć jednego z poniższych poleceń, aby pobrać i zainstalować cloudflared.

Instalacja DEB

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

​​Instalacja RPM

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

​​Arch Linuksa

W Arch Linux użyj narzędzia pacman, aby zainstalować cloudflared.

pacman - Syu cloudflared

Zainstaluj Cloudflared Tunnel na Raspberry Pi

Nie ma oficjalnej wersji Cloudflared ani repozytorium dla Raspberry Pi Zero, 2, 3 lub 4. Możesz jednak zainstalować i używać nieoficjalnych kompilacji ARMv6 dla Raspberry Pi, aby skonfigurować tunel cloudlfare w systemie operacyjnym Raspberry Pi. Omówiliśmy już kilka samouczków, takich jak samoobsługowy menedżer haseł BitWarden na Raspberry Pi Zero, gdzie wykorzystaliśmy nieoficjalne kompilacje do udostępnienia naszych lokalnych serwerów w Internecie za pomocą połączenia HTTPS za pośrednictwem tunelu Cloudflare.

Aby zainstalować cloudflared na Raspberry Pi OS Bullseye (lub innej wersji), uruchom następujące polecenie w terminalu.

sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
Sudosmoła-xvzfcloudflared_2022.8.2_ramię.smoła.gz
sudo cp ./cloudflared /usr/lokalny/bin
sudo chmod +x /usr/lokalny/bin/cloudflared
rozpalona chmura -v

Aby sprawdzić najnowsze nieoficjalne wersje dla Raspberry Pi, sprawdź Strona kompilacji ARMv6.

Utwórz i skonfiguruj tunel Cloudflare

Po pobraniu i zainstalowaniu demona cloudflared w systemie Windows, macOS, Linux lub Raspberry Pi, możesz utworzyć tunel Cloudflare za pomocą następującego polecenia w aplikacji Terminal lub w wierszu polecenia:

logowanie w chmurze

W systemie Windows, macOS lub Linux spowoduje to otwarcie strony logowania Cloudflare w domyślnej przeglądarce internetowej. Jeśli okno przeglądarki nie otworzy się automatycznie, skopiuj adres URL wyświetlony w wynikach polecenia, a następnie wklej go do przeglądarki internetowej i zaloguj się na swoje konto Cloudflare.

Po zalogowaniu wybierz domenę dodaną do konta Cloudlfare i kliknij Autoryzować.

Po autoryzacji zobaczysz komunikat „Zalogowałeś się pomyślnie…”. Wygeneruje również a cert.pem plik i zapisz go w domyślnej lokalizacji katalogu cloudflared:

  • Okna: %USERPROFILE%\.cloudflared
  • System operacyjny Mac: ~/.cloudflared
  • Linux: /etc/cloudflared,
  • RaspberryPi: /usr/local/etc/cloudflared

Następnie musimy utworzyć tunel za pomocą następującego polecenia:

tworzenie tunelu cloudflared <TwojaNazwaTunelu>

Możesz nazwać swój tunel, jak chcesz. Na przykład my hostował witrynę WordPress na starym laptopie i użył nazwy witryny jako nazwy tunelu; ułatwia to zapamiętanie.

Polecenie utworzy tunel, a także plik JSON z unikalnym alfanumerycznym UUID tunelu. Skopiuj ścieżkę do pliku JSON i identyfikator UUID tunelu, wklej go do Notatnika lub listy notatek i przechowuj w bezpiecznym miejscu, ponieważ będą one potrzebne do utworzenia pliku konfiguracyjnego.

Aby utworzyć plik konfiguracyjny w systemie macOS, Linux lub Raspberry Pi, uruchom następujące polecenie:

sudo nano ~/.cloudflared/config.yml

W edytorze wklej następujący kod.

tunel: <UUID tunelu>
plik poświadczeń: /root/.cloudflared/<TuinnelUUID>.json
ingres:
-nazwa hosta: mój dom.smartgharorg
serwis: http://192.168.0.1
-praca: http_status:404

Pamiętaj, aby zastąpić TunnelUUID i ścieżkę pliku JSON w pliku plik poświadczeń linia kodu. Naciskać CTRL + X Lub Komenda + X (macOS), a następnie Y klucz, a następnie Wchodzić aby zapisać zmiany w config.yml plik.

W systemie Windows możesz użyć Eksploratora plików i przejść do następującej lokalizacji:

C:\Użytkownicy\Twoja nazwa profilu\.cloudflared

Następnie kliknij prawym przyciskiem myszy, wybierz Nowy > Dokument tekstowy, i wklej wspomniany blok kodu.

Kliknij Pogląd w Eksploratorze plików i włącz Rozszerzenia nazw plików opcja.

Następnie edytuj dokument tekstowy o nazwie config.yml.

Możesz dodać wiele nazw hostów i usług w pliku konfiguracyjnym, aby uzyskać do nich dostęp przez Internet za pośrednictwem Cloudlfare Tunnel. Po prostu skopiuj pierwsze dwa wiersze poniżej ingres: linię kodu i wklej je przed plikiem -serwis: http_status: 404. Zastąp nazwę hosta i adresy IP serwera lokalnego, aby przekazywać ruch z Internetu do określonego serwera lokalnego. Zobacz przykład poniżej.

Przykład wielu nazw hostów i usług:

tunel: <UUID tunelu>
plik poświadczeń: /root/.cloudflared/<TuinnelUUID>.json
ingres:
-nazwa hosta: mój dom.smartgharorg
serwis: http://192.168.0.1
-nazwa hosta: pleks.smartgharorg
serwis: http://192.168.0.136
-praca: http_status:404

Zapisz zmiany, a następnie utwórz rekordy CNAME w Cloudflare DNS za pomocą następującego polecenia.

Cloudflared tunelowa trasa dns <TunelNazwa><nazwa hosta>

Na przykład:

rozpalony chmurątuneltrasadnssmartgharmój dom.smartgharorg

Po dodaniu CNAME możesz uruchomić tunel, aby uzyskać dostęp do lokalnego serwera przez Internet przy użyciu przypisanej nazwy hosta.

przebieg tunelu cloudflared <TunelNazwa>

Jeśli zobaczysz podobny wynik jak na powyższym zrzucie ekranu, tunel został pomyślnie uruchomiony. Możesz teraz otworzyć przeglądarkę internetową na dowolnym urządzeniu podłączonym do Internetu i odwiedzić nazwę hosta. W tym przypadku tak myhome.smartghar.org.

Ponieważ chcemy, aby nazwa hosta ładowała naszą stronę konfiguracji routera, dodaliśmy adres IP 192.168.0.1, który w przeciwnym razie był dostępny tylko za pośrednictwem sieci lokalnej.

Aby włączyć bezpieczne połączenie HTTPS z lokalną instancją, musisz ustawić opcję SSL/TLS na Elastyczny lub Pełny (zależnie od tego, która opcja jest dla Ciebie odpowiednia).

Nieskończone możliwości

Dzięki Cloudlfare Tunnel możesz bezpłatnie uzyskać dostęp do dowolnej konfiguracji serwera w domu przez Internet. Możesz użyć tej usługi do hostowania witryny internetowej w systemie lokalnym i przetestowania jej przed wdrożeniem na serwerze sieciowym lub udostępnieniem jej publicznie. Możesz także użyć go do bezpiecznego dostępu do lokalnego inteligentnego domu działającego na Home Assistant lub dowolnym innym serwerze przez Internet.

Skonfigurowaliśmy usługę Cloudflare Tunnel na Raspberry Pi Zero W, który ma mniejszy zajmuje mniej miejsca, zużywa mniej energii i działa doskonale, umożliwiając nam dostęp do wszystkich naszych lokalnych serwerów zdalnie.