Jak sprawdzić, czy port jest otwarty (np. po przekierowaniu na routerze)
Port otwarty, zamknięty i filtrowany, przekierowanie na routerze, zapora i CGNAT, czyli najczęstsze powody, dla których „nic nie działa”.
Uruchamiasz w domu serwer gry, kamerę, Home Assistanta albo VPN i chcesz się do niego dostać z zewnątrz. Ustawiasz przekierowanie portu na routerze, a z telefonu na LTE nadal nic. Żeby znaleźć przyczynę, trzeba sprawdzić port z Internetu, a nie z własnej sieci. Ten artykuł mówi, jak to zrobić i jak czytać wynik.
Otwarty, zamknięty, filtrowany
Test portu TCP to próba nawiązania połączenia. Możliwe są trzy odpowiedzi:
| Wynik | Co się stało | Co to zwykle znaczy |
|---|---|---|
| otwarty | ktoś odebrał połączenie | usługa działa i jest dostępna z zewnątrz |
| zamknięty | przyszła odmowa (RST) | pakiet dotarł do urządzenia, ale nic nie nasłuchuje na tym porcie |
| filtrowany | brak jakiejkolwiek odpowiedzi | po drodze zapora po cichu odrzuca pakiety albo nie ma przekierowania |
„Zamknięty” to paradoksalnie dobra wiadomość diagnostyczna: ruch dociera, a problem leży w samej usłudze. „Filtrowany” każe szukać zapory albo brakującego przekierowania.
Po kolei: gdzie ruch może się zatrzymać
Pakiet z Internetu przechodzi przez kilka miejsc i w każdym może utknąć:
- Usługa musi nasłuchiwać na właściwym porcie i na właściwym adresie. Program słuchający tylko na
127.0.0.1jest niedostępny nawet z sieci lokalnej. Na Linuksie sprawdzisz to poleceniemss -tlnp, na Windowsienetstat -ano. - Zapora w systemie (Windows Defender,
ufw,firewalld) musi przepuszczać ruch przychodzący na ten port. - Przekierowanie na routerze (port forwarding, NAT, „serwer wirtualny”): port zewnętrzny → adres lokalny urządzenia i jego port. Urządzenie powinno mieć stały adres w sieci lokalnej (rezerwacja DHCP), bo inaczej po restarcie przekierowanie wskaże pustkę.
- Operator musi dawać Ci publiczny adres IP. Tu kryje się najczęstsza przyczyna, opisana niżej.
CGNAT: gdy przekierowanie nie może zadziałać
Wielu operatorów, zwłaszcza komórkowych, światłowodowych i osiedlowych, nie daje klientom publicznego adresu IPv4. Twój router dostaje adres prywatny, a publiczny jest współdzielony przez wielu klientów na urządzeniu operatora (CGNAT, carrier-grade NAT). Przekierowanie na Twoim routerze nic wtedy nie da, bo ruch z Internetu nie wie, do którego klienta trafić.
Jak to rozpoznać: porównaj adres WAN w panelu routera z adresem pokazanym przez Jaki jest mój IP. Jeśli się różnią albo adres WAN zaczyna się od 100.64.–100.127., 10., 172.16.–172.31. lub 192.168., jesteś za NAT-em operatora. Wyjątek: adres 192.168. bywa też znakiem, że przed Twoim routerem stoi drugi (np. modem operatora w trybie routera). Wtedy przekierowanie trzeba ustawić na obu albo przełączyć modem w tryb mostu.
Co możesz zrobić:
- poprosić operatora o publiczny adres IPv4 (często za darmo albo za niewielką opłatą),
- użyć IPv6, jeśli operator je daje. Wtedy nie ma przekierowania portów, tylko reguła zapory na routerze przepuszczająca ruch do konkretnego urządzenia,
- użyć tunelu wychodzącego (WireGuard do VPS, Cloudflare Tunnel, Tailscale), który nie wymaga otwierania portów.
Jak przetestować
Narzędzie Sprawdzanie portów łączy się z serwera routing.pl z Twoim adresem publicznym, czyli tym, z którego właśnie oglądasz stronę. Wpisz do 10 portów, na przykład 22, 80, 443, 51820, i uruchom test.
Kilka uwag:
- Tylko Twój adres. Narzędzie nie sprawdza cudzych hostów, bo byłoby wtedy skanerem portów. Z tego samego powodu ma limit kilku testów na godzinę.
- VPN zmienia wynik. Z włączonym VPN-em sprawdzany jest adres wyjściowy VPN-a, nie Twoje łącze.
- IPv4 czy IPv6. Jeśli przeglądarka łączy się po IPv6, sprawdzany jest adres IPv6. Przekierowanie portu IPv4 nie ma na to wpływu, liczy się zapora routera dla IPv6.
- Tylko TCP. Usługi na UDP (WireGuard, wiele gier) nie odpowiadają na próbę połączenia, więc żaden zewnętrzny test nie odróżni dla nich „otwartego” od „filtrowanego”. Sprawdź je, łącząc się prawdziwym klientem spoza sieci, na przykład z telefonu na LTE.