Czy Immich działa niezawodnie za CGNAT-em lub podwójnym NAT-em?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Tak, Immich może działać niezawodnie za CGNAT-em lub podwójnym NAT-em, ponieważ te warstwy sieciowe wpływają głównie na sposób, w jaki zdalni klienci uzyskują dostęp do serwera, a nie na lokalne przetwarzanie Immich.

Trudność pojawia się, gdy rodzina oczekuje, że niezamawiane połączenia przychodzące IPv4 dotrą do domowego serwera, który nie kontroluje zewnętrznego translatu adresów. Podwójny NAT może być możliwy do opanowania, gdy oba routery są pod Twoją kontrolą; CGNAT zwykle umieszcza zewnętrzną translację po stronie dostawcy internetu, więc zwykłe przekierowanie portu na domowym routerze nie utworzy takiej samej bezpośredniej ścieżki publicznej.

Lokalne działanie Immich nie zależy od publicznej dostępności

Telefony i przeglądarki w tej samej sieci domowej mogą łączyć się z serwerem Immich za pośrednictwem prywatnych adresów, bez żadnego publicznego mapowania portów. Przesyłanie plików, przeglądanie, obsługa bazy danych, generowanie miniaturek i lokalne uczenie maszynowe mogą więc działać prawidłowo, nawet gdy dostawca internetu nie zapewnia gospodarstwu domowemu bezpośrednio dostępnego publicznego adresu IPv4.

To rozróżnienie pojawia się w pytaniach społeczności dotyczących Immich za CGNAT-em: użytkownicy często informują o działającym wdrożeniu lokalnym i napotykają ograniczenie dopiero przy dodawaniu zdalnego dostępu. Oznacza to, że CGNAT jest kwestią dostępności, a nie działania aplikacji ani przechowywania danych.

Jeśli Immich nie działa również w sieci LAN, CGNAT nie jest pierwszym podejrzanym. Przed przeprojektowaniem publicznej ścieżki sprawdź lokalny DNS, sieć kontenerów, dostępność serwera, pamięć masową i uwierzytelnianie.

Podwójny NAT i CGNAT tworzą różne granice kontroli

W przypadku podwójnego NAT-u w domu administrator może kontrolować obie warstwy translacji — na przykład bramę dostawcy internetu i prywatny router. Czasami można utworzyć bezpośrednią trasę przychodzącą, konfigurując przekierowania przez obie warstwy lub zmieniając topologię. Kluczową kwestią jest to, czy zewnętrzne mapowanie znajduje się pod kontrolą gospodarstwa domowego.

Artykuł Tailscale dotyczący pokonywania trudnych konfiguracji NAT wyjaśnia, dlaczego wiele warstw NAT-u i bramy klasy operatorskiej zmniejszają szanse na ustanowienie bezpośrednich połączeń peer-to-peer. Im bardziej restrykcyjne są mapowania, tym bardziej prawdopodobne jest, że system przechodzenia przez NAT będzie potrzebował zapasowego przekaźnika.

Nie uznawaj każdego prywatnie wyglądającego adresu WAN za ten sam problem bez sprawdzenia topologii. IPv6, publiczne opcje oferowane przez dostawcę internetu, tryb mostu i różne architektury sieci nadrzędnej mogą zmienić dostępne ścieżki, nawet gdy ekran domowego routera wygląda podobnie.

Sieci nakładkowe mogą przywrócić dostępność bez przekierowywania portów

Prywatna sieć nakładkowa może pozwolić zarówno zdalnemu klientowi, jak i serwerowi domowemu na inicjowanie połączeń wychodzących, a następnie próbować utworzyć szyfrowaną ścieżkę peer-to-peer. Gdy bezpośrednie przechodzenie przez NAT zakończy się powodzeniem, dane mogą przepływać bez wystawiania usługi Immich jako zwykłego publicznego portu na domowym routerze.

Szersze wyjaśnienie łączności nakładkowej opisuje przechodzenie przez NAT oraz szyfrowany zapasowy przekaźnik, gdy nie można utworzyć bezpośredniej ścieżki. Dlatego gospodarstwo domowe korzystające z Immich za CGNAT-em nadal może uzyskać zdalny dostęp, mimo że zwykłe przekierowanie przychodzącego ruchu IPv4 jest niedostępne.

Minusem jest zależność od klienta i tożsamości: autoryzowane urządzenia zdalne muszą mieć dostęp do sieci nakładkowej, a ścieżka może różnić się od publicznego odwrotnego proxy używanego przez gości korzystających wyłącznie z przeglądarki. Niezawodność powinna więc uwzględniać sposób, w jaki członkowie rodziny faktycznie się łączą, a nie tylko to, czy działa telefon jednego administratora.

-15% OFF

Zapasowy przekaźnik zachowuje dostęp, ale może zmienić wydajność

Ścieżka przekazywana przez przekaźnik może utrzymać dostępność usługi, gdy trudny NAT lub reguły zapory uniemożliwiają bezpośrednią łączność UDP. Rozwiązuje to problem samego dostępu, ale dodatkowy przeskok może zwiększyć opóźnienia lub zmniejszyć przepustowość, co ma znaczenie przy przesyłaniu dużych zdjęć i zdalnym przeglądaniu obrazów w wysokiej rozdzielczości.

Raport z 2026 roku dotyczący wydajności przekaźników przedstawia przypadek, w którym odległa trasa DERP dodawała setki milisekund opóźnienia do czasu zastosowania lepszej architektury przekaźników. Traktuj tę wartość jako charakterystyczną dla opisanej przez autora ścieżki, zachowując jednocześnie ogólne rozróżnienie między mechanizmem bezpośrednim a przekazywanym przez przekaźnik.

To granica prostego stwierdzenia „Tailscale naprawia CGNAT”. Może przywrócić łączność, ale nie gwarantuje takiej samej wydajności jak bezpośrednia sieć LAN lub bezpośrednia trasa między peerami. Sprawdź rzeczywistą ścieżkę, zanim przypiszesz powolne działanie Immich samej aplikacji.

Sprawdzaj dostępność i ścieżkę jako osobne kwestie

Najpierw przetestuj lokalne działanie Immich po odłączeniu WAN-u; usługa powinna pozostać dostępna w sieci domowej. Następnie przetestuj wybraną metodę zdalnego dostępu przez sieć komórkową lub inną sieć zewnętrzną. Na koniec sprawdź, czy połączenie zdalne jest bezpośrednie, czy przekazywane przez przekaźnik, i porównaj przesyłanie, otwieranie miniaturek oraz znane wyszukiwanie z wynikami uzyskiwanymi w sieci LAN.

Omówienie CGNAT-u i podwójnego NAT-u przygotowane przez ZimaSpace stosuje tę samą zasadę warstw sieciowych do innej usługi hostowanej samodzielnie: aplikacja może działać lokalnie niezawodnie, podczas gdy zdalna ścieżka dostępu wymaga osobnego projektu.

Zaakceptuj tę architekturę, jeśli korzystanie lokalne działa po utracie internetu, zdalne uwierzytelnianie jest zamierzone, a zdalna trasa spełnia wymagania gospodarstwa domowego dotyczące opóźnień i przepustowości. Jeśli dostęp działa tylko przez niespodziewanie wolny przekaźnik, potraktuj to jako problem jakości ścieżki, a nie dowód na to, że Immich jest zawodny za NAT-em.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.