Czym jest NAT? Routery domowe i przekierowanie portów
NAT (Network Address Translation), czyli translacja adresów sieciowych, zmienia adresy w pakietach na granicy sieci. W sieci domowej router zwykle pozwala kilku urządzeniom z prywatnymi adresami IPv4 korzystać z jednego zewnętrznego adresu IPv4. Często zmienia przy tym także numery portów, aby odróżnić od siebie wiele równoczesnych połączeń.
Co dzieje się z żądaniem wychodzącym
Wyobraź sobie laptopa z adresem 192.168.1.20, który otwiera stronę internetową przez router. Router zapisuje powiązanie między wewnętrznym adresem i portem laptopa a swoim adresem zewnętrznym i wybranym portem. Strona widzi adres zewnętrzny i na niego odpowiada. Na podstawie zapisanego powiązania router kieruje odpowiedź do właściwego laptopa, nawet jeśli w tym samym czasie z tą samą stroną łączył się inny telefon. To uproszczony przykład typowej translacji adresów i portów; dokładne działanie zależy od routera. Podstawowy model NAT opisuje RFC 3022.
Dlaczego połączenie przychodzące może się nie udać
Niezamówione żądanie z zewnątrz nie ma pasującego wpisu, bo taki wpis tworzy dopiero połączenie wychodzące. Aby udostępnić usługę, administrator może skonfigurować regułę przekierowującą port zewnętrzny na konkretne urządzenie i port w sieci lokalnej. Na przykład zewnętrzny port TCP 8443 może prowadzić do określonej wewnętrznej aplikacji WWW. Reguła musi wskazywać właściwy protokół transportowy: porty TCP i UDP są od siebie niezależne. Zanim otworzysz port, upewnij się, że usługa jest aktualizowana, wymaga uwierzytelniania i naprawdę musi być dostępna publicznie. Port, który wygląda na otwarty, nie dowodzi, że sama aplikacja działa poprawnie.
NAT to nie polityka zapory
Translacja określa, jak zmieniane są adresy i jak odpowiedzi są przypisywane do połączeń. O tym, jaki ruch jest dozwolony, decyduje polityka zapory. Router domowy często łączy obie funkcje, przez co łatwo je pomylić. Nie traktuj NAT jako jedynej granicy bezpieczeństwa: reguła przekierowania, funkcja automatycznego mapowania portów lub błąd w konfiguracji mogą zmienić to, co jest wystawione na zewnątrz. Po konfiguracji przetestuj samą usługę, a nie tylko numer portu. Narzędzie 2IP „Sprawdź otwarte porty” pokaże, jak port wygląda z zewnątrz, ale nie potwierdzi, że usługa korzysta z silnego uwierzytelniania.
Sprawdzanie niedziałającej reguły przekierowania
Najpierw sprawdź lokalny adres serwera i to, czy odpowiada z tej samej sieci LAN. Następnie zweryfikuj w routerze regułę dla portu i protokołu oraz zaporę na samym serwerze. Porównaj zewnętrzny adres routera z adresem widzianym przez stronę w internecie. Jeśli wyżej działa kolejny router lub CGNAT dostawcy, sama reguła w domowym routerze może nie wystarczyć. Nie wyłączaj całej zapory tylko po to, by zdiagnozować problem; zamiast tego przejrzyj konkretną regułę i logi aplikacji.