Twój homelab ma frontowe drzwi. Jeśli jesteś jak większość self-hosterów, te drzwi to przekierowanie portu na twoim routerze — i są szeroko otwarte.
Spędziłem tygodnie na przebudowie mojego. Efekt: warstwa ingress klasy produkcyjnej działająca całkowicie na ZimaCube 2. Żadne otwarte porty na moim routerze. Żadne publicznie dostępne serwery źródłowe. Szyfrowanie end-to-end TLS na każdym połączeniu. Wszystko to działa cicho obok mojego telewizora.
Oto dokładnie jak to zbudowałem, co się zepsuło po drodze i dlaczego ZimaCube 2 okazał się idealną platformą do tego zadania.
Problem z tradycyjnym ingress homelabów
Wiele homelabów nadal wygląda tak:
- Port 443 przekierowany na routerze → wskazuje na reverse proxy
- Port 80 przekierowany → przekierowuje na 443
- Usługi są bezpośrednio dostępne, jeśli znasz IP
- Infrastruktura źródłowa jest o jeden skan portów od odkrycia
To tworzy prawdziwe problemy. Publicznie wystawione porty ingress. Bezpośrednio dostępne serwery źródłowe. Interfejsy administracyjne odpowiadające przed uwierzytelnieniem. Nawet z HTTPS infrastruktura pozostaje widoczna — a widoczność zaprasza do rozpoznania.
Chciałem zupełnie innego modelu. Czegoś bliższego temu, jak nowoczesna infrastruktura chmurowa obsługuje ingress: zaufanie tylko wychodzące, zerowa ekspozycja przychodząca i szyfrowane tunele ukrywające źródło.

Dlaczego ZimaCube 2
Tego typu architektura wymaga specyficznych cech sprzętowych. Nie surowej mocy — niezawodności, elastyczności i ciszy.
ZimaCube 2 spełnił wszystkie wymagania:
|
Zawsze włączony: Cicha praca 24/7. Warstwa ingress musi działać nieprzerwanie — projekt termiczny ZC2 pozwala na to bez dominowania w pomieszczeniu. |
Podwójne 2,5GbE: Jeden interfejs dla sieci krawędziowej, drugi dla wewnętrznej. Segmentacja ruchu zaczyna się na warstwie fizycznej, nie tylko w Dockerze. | Docker Native: pamięć NVMe dla szybkiego I/O kontenerów. Wiele sieci mostkowych nie zatyka systemu. Platforma została do tego stworzona. |
W tym momencie ZimaCube 2 stał się w praktyce czterema rzeczami w jednej maszynie: hostem Docker, platformą reverse proxy, warstwą ingress i scentralizowanym urządzeniem infrastrukturalnym. Dla nowoczesnego self-hostingu to połączenie jest niezwykle praktyczne.
Nowa architektura
Zamiast otwierać porty na moim routerze, nowy projekt działa tak:
- Cloudflare Tunnel tworzy tylko wychodzące, szyfrowane połączenia do krawędzi Cloudflare
- Nginx Proxy Manager obsługuje trasowanie, zakończenie SSL i listy kontroli dostępu (ACL)
- Sieci mostkowe Docker segmentują ruch krawędziowy od wewnętrznych obciążeń
- Zero reguł NAT przychodzących — router nie ma pojęcia, że coś jest serwowane
Od razu poczułem, że to bliższe nowoczesnej architekturze chmury niż tradycyjnemu samodzielnemu hostowaniu z przekierowaniem portów.

Segmentacja sieci Docker: Edge ≠ Internal
Jedną z najważniejszych zmian było oddzielenie ruchu za pomocą sieci mostkowych Dockera.
docker network create \
--subnet 172.x.x.x/24 \
edge
Sieć brzegowa obsługuje dokładnie dwa kontenery: Cloudflare Tunnel i Nginx Proxy Manager. Tylko tyle. Aplikacje działają na oddzielnych, wewnętrznych sieciach Docker — całkowicie izolowanych od warstwy wejściowej.
ZimaCube 2 radzi sobie z tym segmentowaniem bardzo dobrze. Wiele sieci mostkowych nie powoduje spadku wydajności na platformie, a pamięć NVMe zapewnia szybkie uruchamianie kontenerów i operacje sieciowe nawet przy rosnącej złożoności topologii sieci.
Problem TLS, który prawie mnie złamał
To okazało się najciekawszą lekcją inżynierską w całym projekcie.
Konfiguracja na początku wydawała się prosta. HTTP między Cloudflare Tunnel a Nginx Proxy Manager działało od razu:
http://reverse-proxy → ✅ Działa
Więc włączyłem HTTPS.
https://reverse-proxy → ❌ Nie działa
Certyfikat był ważny. Data wygaśnięcia była poprawna. Łańcuch zaufania był prawidłowy. Wszystko wyglądało dobrze — a mimo to HTTPS odmawiał połączenia.
Prawdziwym problemem była walidacja nazwy hosta TLS.
Certyfikat został wydany dla moich publicznych domen (example.com, app.example.com). Jednak Cloudflare Tunnel łączył się wewnętrznie z reverse-proxy — nazwą hosta Dockera, która nie odpowiadała żadnej nazwie na certyfikacie. Niezgodność nazwy hosta spowodowała ciche niepowodzenie walidacji TLS.
Rozwiązanie: skonfiguruj Cloudflare Tunnel z nazwą serwera źródłowego: example.com, jednocześnie kierując ruch wewnętrznie do https://reverse-proxy:443. Zachowano zaszyfrowany transport, właściwą walidację nazwy hosta oraz pełną weryfikację TLS — bez wyłączania jakichkolwiek kontroli bezpieczeństwa.
To jest rodzaj lekcji, której uczysz się tylko przez budowanie.

ACL i lekcja o ścieżkach ruchu infrastruktury
Jedna operacyjna lekcja, którą szybko przyswoiłem: reverse proxy często widzą IP mostka Docker, IP tunelu i IP wewnętrznego proxy zamiast oryginalnego IP klienta.
Nauczyłem się tego na własnej skórze, gdy przypadkowo zablokowałem sobie dostęp do Nginx Proxy Manager.
Skonfigurowałem ACL, by zezwalać tylko na moją podsieć LAN (192.168.x.x/24). Logika wydawała się słuszna — tylko urządzenia w mojej sieci domowej powinny mieć dostęp do panelu administracyjnego.
NPM faktycznie widział ruch z sieci mostkowej Dockera. Nie z mojej sieci LAN. Kontrola dostępu blokowała wszystko, włącznie ze mną.
Dodanie podsieci Dockera do listy dozwolonych rozwiązało problem natychmiast. Ale to była bardzo realna lekcja, że ścieżki ruchu infrastruktury często różnią się od tych, które zakładamy na papierze.
Dlaczego ta architektura ma znaczenie na ZimaCube 2
Jest powód, dla którego ten stos działa tak dobrze właśnie na ZC2:
- Podwójne 2.5GbE oznacza, że warstwa ingress ma dedykowaną przepustowość — twój wewnętrzny ruch sieciowy nie konkuruje z usługami skierowanymi do internetu
- Pamięć NVMe zapewnia szybkie sieciowanie kontenerów — przepustowość sieci mostkowej nie jest ograniczona przez wolne operacje dyskowe
- Cicha praca 24/7 oznacza, że warstwa ingress działa non-stop w przestrzeni mieszkalnej — nie w piwnicznym racku
- Platforma natywna dla Dockera z wystarczającą rezerwą, by jednocześnie uruchomić tunel, reverse proxy, silnik ACL i wszystkie twoje usługi
- Rozszerzalność oznacza, że możesz później dodać dedykowaną kartę sieciową lub akcelerator, jeśli twoje potrzeby sieciowe wzrosną
ZimaCube 2 nie tylko hostuje te usługi. To właściwa platforma dla nich.
Ostateczny stos
Co teraz działa na ZimaCube 2:
- Cloudflare Tunnel — tylko wychodzące zaszyfrowane połączenia, zero otwartych portów
- Nginx Proxy Manager — reverse proxy, SSL, ACL
- Sieci mostkowe Dockera — segmentowany ruch brzegowy vs. wewnętrzny
- End-to-end TLS — szyfrowanie od klienta do źródła, brak tekstu jawnego gdziekolwiek
- Ukryte źródło — nic nie odpowiada na publicznym IP
To nadal homelab. Ale model operacyjny teraz znacznie bardziej przypomina nowoczesne inżynierię ingress niż tradycyjne samodzielne hostowanie z przekierowaniem portów.
Najważniejsze wnioski z tego projektu: nowoczesne self-hosting coraz częściej wymaga takiego samego podejścia do ingressu, sieci i granic zaufania, jakie stosuje się w infrastrukturze produkcyjnej. A sprzęt musi nadążać — być cichy, niezawodny, sieciowy i zawsze gotowy do pracy.
ZimaCube 2 dostarcza dokładnie to.
Zbuduj własny homelab zero-trust z ZimaCube 2 →
Najczęściej zadawane pytania
Czym jest Cloudflare Tunnel i dlaczego miałbym go używać na ZimaCube 2?
Cloudflare Tunnel tworzy szyfrowane połączenie wychodzące z ZimaCube 2 do sieci brzegowej Cloudflare. Zamiast otwierać porty na routerze (co naraża infrastrukturę na internet), cały ruch przepływa przez ten zaszyfrowany tunel. Twój serwer źródłowy — ZimaCube 2 — pozostaje całkowicie ukryty przed publicznym dostępem.
Czy muszę otwierać jakieś porty na moim routerze dla tego rozwiązania?
Nie. I o to właśnie chodzi. Cloudflare Tunnel nawiązuje tylko połączenia wychodzące. Twój router nie potrzebuje żadnej reguły przekierowania portów. To eliminuje najczęstszy wektor ataku w sieciach homelab.
Czy ZimaCube 2 poradzi sobie z uruchomieniem reverse proxy i wszystkich moich usług jednocześnie?
Tak. Michael ZC2 uruchamia jednocześnie Cloudflare Tunnel, Nginx Proxy Manager i ponad 10 kontenerów Docker — wszystko to przy cichej i chłodnej pracy. Podwójne porty 2,5GbE i pamięć NVMe zapewniają, że sieć i operacje I/O kontenerów nie stanowią wąskiego gardła.
Dlaczego segmentacja sieci Docker ma znaczenie?
Jeśli wszystkie kontenery korzystają z tej samej sieci, skompromitowana usługa daje atakującemu dostęp do wszystkiego innego. Umieszczając tylko Cloudflare Tunnel i Nginx Proxy Manager w sieci „brzegowej” (a aplikacje w oddzielnych sieciach wewnętrznych), tworzysz kontrolowaną granicę między ruchem publicznym a prywatnymi usługami.
Na czym polegał problem z niezgodnością nazwy hosta TLS?
Gdy Cloudflare Tunnel łączył się z Nginx Proxy Manager wewnętrznie, używając nazwy hosta Dockera, takiej jak reverse-proxy, certyfikat TLS — wydany dla publicznej domeny, np. example.com — nie pasował. Rozwiązaniem było skonfigurowanie Cloudflare Tunnel tak, aby używał poprawnej nazwy serwera źródłowego (Origin Server Name), jednocześnie kierując ruch do wewnętrznej nazwy hosta Dockera. Zachowało to pełne szyfrowanie bez wyłączania walidacji.
Jak sprzęt sieciowy ZimaCube 2 wypada w porównaniu do standardowego NAS w tym zastosowaniu?
Większość konsumenckich urządzeń NAS jest wyposażona w pojedynczy port Ethernet gigabitowy. ZimaCube 2 ma podwójne porty 2,5GbE — co oznacza, że możesz przeznaczyć jeden interfejs na ruch brzegowy (Cloudflare + reverse proxy), a drugi na usługi wewnętrzne. Takie rozdzielenie na warstwie fizycznej jest niemożliwe do osiągnięcia na sprzęcie z pojedynczą kartą sieciową.
Centrum Kampanii Zima
Więcej do przeczytania

ZimaCube 2 Pro Rozpakowanie — Pierwszy NAS, który przypomina obiekt designerski
Poznaj ZimaCube 2 Pro: premiumowy, kompaktowy NAS, który redefiniuje sprzęt do homelabów. Wyposażony w Intel i5, 10GbE, Thunderbolt 4 oraz elegancką aluminiową obudowę, został...

Dlaczego zastąpiłem serwery rackowe ZimaCube 2 — historia ewolucji homelabu
ZimaCube 2 zastępuje hałaśliwe serwery rackowe i ograniczone zestawy mini PC cichym, wszechstronnym homelabem do Dockera, pamięci ZFS, NVMe, kopii zapasowych, self-hostingu oraz całodobowej...

Uruchamianie Dockera, CI/CD i ponad 10 usług self-hosted na ZimaCube 2
W tym spotlight społecznościowym prezentujemy pełny test infrastruktury w pełni samodzielnie hostowanej przez pioniera ZimaCube 2, Michaela Luckenbilla. Urządzenie działa z ponad 10 kontenerami...

