Rozwiązanie społecznościowe

Używaj Cloudflare Tunnel w CasaOS bez przekierowywania portów

A September 2023 CasaOS tutorial showing the built-in Cloudflared app, creation of a Cloudflare Tunnel, copying its connector token into CasaOS, and verifying that the tunnel becomes Healthy.

Poradnik CasaOS z września 2023 roku to rzeczywisty artykuł krok po kroku, a nie tylko rekomendacja linku. Pokazuje pełny historyczny przebieg, którego używali wówczas użytkownicy CasaOS: zainstalować aplikację Cloudflared, utworzyć zdalnie zarządzany Cloudflare Tunnel, skopiować token łącznika, wkleić go do internetowego interfejsu Cloudflared w CasaOS, uruchomić łącznik i sprawdzić, czy Cloudflare zgłasza tunel jako działający prawidłowo.

Podstawowa architektura nadal jest przydatna, ale w przypadku strony, która ma pozostać aktualna przez długi czas, należy zaktualizować dwie kwestie. Po pierwsze, interfejs Cloudflare Zero Trust zmienił się od 2023 roku. Po drugie, token łącznika wyświetlany podczas nowoczesnej konfiguracji Cloudflare Tunnel jest poufnym poświadczeniem i nigdy nie powinien być ujawniany na zrzutach ekranu ani kopiowany z przykładu innego użytkownika.

To poradnik CasaOS, a nie procedura dla ZimaOS

Źródło należy do kategorii CasaOS i korzysta z pakietu sklepu z aplikacjami CasaOS z własnym niewielkim interfejsem internetowym Cloudflared. ZimaOS może korzystać z tej samej technologii Cloudflare upstream, ale nie należy zakładać, że jego interfejs zarządzania aplikacjami i model sieciowy są dokładnie takie same jak na zrzutach ekranu z 2023 roku.

Krok 1: Zainstaluj Cloudflared ze sklepu z aplikacjami CasaOS

Sklep z aplikacjami CasaOS pokazujący aplikację Cloudflared dostępną do instalacji
Oryginalny poradnik zaczynał się od aplikacji Cloudflared w CasaOS, a nie od ręcznie utworzonego kontenera Docker.

Celem tej aplikacji jest uruchomienie łącznika Cloudflare na domowym serwerze. Łącznik ustanawia wychodzącą szyfrowaną ścieżkę do Cloudflare, dzięki czemu router nie potrzebuje nowej reguły przekierowania portów przychodzących tylko po to, aby tunel pozostawał aktywny.

Krok 2: Utwórz tunel w Cloudflare Zero Trust

Strona tunelu Cloudflare Zero Trust z widocznym przyciskiem tworzenia tunelu
Interfejs Cloudflare zmienił się od czasu wykonania tego zrzutu ekranu, ale logiczny krok nadal polega na utworzeniu zdalnie zarządzanego tunelu dla łącznika.

Nadaj tunelowi nazwę identyfikującą serwer lub lokalizację, a nie konkretną aplikację. Jeden łącznik może kierować ruchem dla kilku nazw hostów lub usług, dlatego sprawdzą się nazwy takie jak dom-casaos lub serwerownia starzeje się lepiej niż tylko Jellyfin.

Krok 3: Skopiuj token łącznika — prywatnie

Strona konfiguracji konektora Cloudflare Tunnel wyświetlająca polecenie konektora Dockera zawierające token tunelu
Polecenie konektora zawiera token, który upoważnia konektor do dołączenia do zdalnie zarządzanego tunelu.

Obecne zalecenia Cloudflare jasno określają granicę bezpieczeństwa: token tunelu wystarcza do uruchomienia konektora dla tego zdalnie zarządzanego tunelu. Traktuj go jak hasło. Jeśli prawdziwy token kiedykolwiek pojawił się na publicznym zrzucie ekranu lub w dzienniku, wymień go.

Krok 4: Otwórz interfejs WWW Cloudflared w CasaOS

Historyczny pakiet udostępniał niewielki interfejs uruchamiany z ikony aplikacji CasaOS. Ten interfejs przyjmował token konektora, dzięki czemu użytkownicy nie musieli ręcznie konstruować pełnego polecenia Dockera.

Ta warstwa ułatwiająca obsługę należała do tego pakietu CasaOS. Obecny kontener Cloudflared może być konfigurowany za pomocą zmiennych środowiskowych, argumentów polecenia, pliku Compose lub ustawień bieżącego pakietu.

Kroki 5 i 6: Zapisz token i uruchom konektor

W interfejsie z 2023 roku wklejenie tokena i zapisanie go zmieniało stan przycisku na Start. Uruchomienie konektora zmieniało go następnie na Stop. Te stany wizualne zależały od konkretnego pakietu, ale reprezentowały dwie odrębne kontrole: konfiguracja została zaakceptowana, a następnie proces konektora został rzeczywiście uruchomiony.

Jeśli nowoczesny konektor natychmiast się zamyka, przed zmianą rekordów DNS sprawdź jego dzienniki. Niepołączony tunel nie może kierować nazwy hosta, niezależnie od konfiguracji DNS Cloudflare.

Ostatni krok: sprawdź, czy tunel działa prawidłowo

W źródłowym samouczku wrócono do listy Cloudflare Tunnels i sprawdzono stan Healthy. Nadal jest to ważny etap weryfikacji. Skonfigurowana publiczna nazwa hosta nie potwierdza, że sam konektor jest połączony.

Stan „Zdrowy” oznacza, że Cloudflare widzi co najmniej jeden aktywny konektor tunelu. Nie potwierdza jeszcze, że konektor może dotrzeć do znajdującej się za nim aplikacji lokalnej.

Dodaj trasę do właściwej usługi lokalnej

Gdy łącznik będzie online, przypisz nazwę hosta do rzeczywistego źródła aplikacji. W przypadku aplikacji HTTP może to być adres IP w sieci LAN wraz z portem albo adres innego kontenera, do którego Cloudflared ma dostęp.

Jeśli Cloudflared działa w zwykłej sieci mostkowej Dockera, localhost odnosi się do samego kontenera Cloudflared. Nie oznacza to automatycznie hosta CasaOS. To rozróżnienie jest jedną z najczęstszych przyczyn zwracania przez sprawny tunel błędu 502 lub błędów połączenia.

Dlaczego nie trzeba przekierowywać portów na routerze

Łącznik nawiązuje połączenie wychodzące z CasaOS do Cloudflare. Przychodzące żądania przeglądarki docierają do Cloudflare, a następnie wracają przez ustanowiony tunel. Dlatego Cloudflare Tunnel może publikować usługę nawet wtedy, gdy na routerze nie skonfigurowano przekierowania portów przychodzących.

Chroń wrażliwe usługi za pomocą Cloudflare Access

Tunel jest środkiem transportu, a nie zasadą uwierzytelniania. Jeśli publikujesz panel, terminal, menedżer haseł lub interfejs administracyjny pod publiczną nazwą hosta, dodaj zasadę tożsamości za pomocą Cloudflare Access lub innej odpowiedniej warstwy uwierzytelniania.

Zachowaj także włączone uwierzytelnianie samej aplikacji. Cloudflare Access i uwierzytelnianie aplikacji chronią różne granice.

Zmieniaj tokeny po zmianie właściciela wdrożenia

Jeśli serwer zostanie sprzedany, skonfigurowany ponownie lub przekazany innemu administratorowi, unieważnij stare dane uwierzytelniające tunelu albo zmień je. Trwałe wolumeny Dockera mogą przechowywać konfigurację dłużej, niż oczekiwano, dlatego cykl życia danych uwierzytelniających powinien być świadomie zarządzany.

Często zadawane pytania dotyczące Cloudflare Tunnel w CasaOS

Czy Cloudflare Tunnel wymaga przekierowania portów?

Nie. Łącznik nawiązuje połączenie wychodzące z Cloudflare.

Jaką konfigurację wykorzystywał oryginalny poradnik CasaOS?

Aplikacja Cloudflared z małym interfejsem WWW, w którym użytkownik wkleił token zdalnie zarządzanego tunelu.

Czy można bezpiecznie pokazać token łącznika na zrzucie ekranu w poradniku?

Nie. Prawdziwy token traktuj jak sekret i zmień go, jeśli został ujawniony.

Czy stan „Healthy” oznacza, że moja aplikacja jest już dostępna?

Niekoniecznie. Stan „Healthy” potwierdza, że łącznik jest online, ale trasa do źródła i aplikacja nadal muszą być poprawnie skonfigurowane.