Notatki operatora
Przekierowanie portów dla serwera gry: praktyczny poradnik
Przekierowanie portów jest proste w teorii, a uciążliwe w praktyce. Większość poradników „jak przekierować port” pomija to, co naprawdę się sypie: NAT loopback, CG-NAT, IPv6 i to, co robić, gdy panel routera kłamie. Oto wersja od operatora.
W skrócie: przekieruj port gry na adres IP serwera w sieci lokalnej, najpierw ustaw stałą rezerwację DHCP, żeby adres nie zmieniał się sam, i łącząc się z wnętrza sieci używaj adresu lokalnego (a nie publicznego). Jeśli twój adres WAN zaczyna się od 100.64-100.127, jesteś za CG-NAT, przekierowanie portów nie zadziała i potrzebujesz Tailscale, publicznego adresu IP od operatora albo hostingu zarządzanego.
Co tak naprawdę robisz
Twój domowy router stoi między publicznym internetem a siecią lokalną. Domyślnie pozwala urządzeniom wychodzić na zewnątrz (gracz → serwer gry w internecie), ale blokuje wszystko, co przychodzi (inni gracze → twój domowy serwer). Przekierowanie portów mówi routerowi: „gdy z internetu przyjdzie ruch na port X, przekaż go do tej konkretnej maszyny w mojej sieci lokalnej”. To cała idea.
Jakie porty przekierować, według gry
Typowe wartości domyślne. Zawsze sprawdzaj z aktualną dokumentacją gry, bo aktualizacje je zmieniają.
| Gra | Port(y) | Protokół |
|---|---|---|
| Minecraft Java | 25565 | TCP |
| Minecraft Bedrock | 19132 (IPv4), 19133 (IPv6) | UDP |
| Valheim | 2456-2458 | UDP |
| Palworld | 8211 | UDP |
| 7 Days to Die | 26900-26902 (gra), 8081 (web) | oba |
| Project Zomboid | 16261-16262 | UDP |
| Vintage Story | 42420 | TCP/UDP |
| Conan Exiles Enhanced | 7777, 7778, 27015 | UDP |
| ARK Survival Ascended | 7777, 7778, 27015 | UDP |
| Rust | 28015 (gra), 28016 (RCON) | UDP / TCP |
| V Rising | 9876-9877 | UDP |
| Soulmask | 8777, 27015 | UDP |
| Counter-Strike 2 | 27015 (gra), 27020 (SourceTV) | oba |
Przekieruj powyższe porty na adres IP w sieci lokalnej maszyny, na której działa serwer. Zwykle jest to adres z puli 192.168.x.x lub 10.x.x.x.
Jak to faktycznie zrobić
Każda marka routera nazywa to menu inaczej. Typowe ścieżki:
- ASUS / TP-Link / Netgear: Zaawansowane → Przekierowanie NAT → Przekierowanie portów (lub „Serwer wirtualny”)
- OpenWrt: Sieć → Zapora → Przekierowania portów
- UniFi: Ustawienia → Routing i zapora → Przekierowanie portów
- Większość routerów od operatorów: zwykle nazywa się to „Przekierowanie portów” lub „Usługi niestandardowe” w menu Zaawansowane lub Zapora
Dla każdej reguły zwykle podajesz: port zewnętrzny, port wewnętrzny (najczęściej taki sam), wewnętrzny adres IP (adres serwera w sieci lokalnej) oraz protokół (TCP, UDP albo oba).
Kluczowa wskazówka: najpierw ustaw stałą rezerwację DHCP dla adresu IP serwera w sieci lokalnej. Routery co jakiś czas odnawiają dzierżawy DHCP. W dniu, w którym twój adres się zmieni, przekierowanie portów nagle wskaże laptop domownika zamiast serwera gry. Ustaw rezerwację w ustawieniach DHCP routera, zanim skonfigurujesz przekierowanie.
NAT loopback (dlaczego znajomi się łączą, a ty nie)
Częsty scenariusz: poprawnie skonfigurowałeś przekierowanie portów. Znajomi dołączają. Ty nie, bo na większości routerów łączenie się z własnym adresem publicznym z wnętrza sieci lokalnej nie wraca pętlą do serwera wewnętrznego.
Rozwiązania, w kolejności od najlepszego:
- Z wnętrza sieci łącz się przez adres lokalny. Z własnej maszyny używaj 192.168.x.x:port zamiast adresu publicznego.
- Włącz NAT loopback (czasem nazywany „NAT reflection” lub „hairpin NAT”) w routerze. Wiele nowszych routerów to obsługuje; starsze routery od operatorów nie.
- Dodaj wpis w pliku hosts na swojej maszynie, tak aby twoj.dyndns.example.com lokalnie rozwiązywał się na adres w sieci lokalnej.
Dynamiczny DNS dla niestałych adresów IP
Większość domowych łączy ma dynamiczny adres publiczny, który zmienia się co kilka dni albo po restarcie routera. Kazanie graczom aktualizować adres za każdym razem jest niepraktyczne.
Rozwiązania:
- Darmowy dynamiczny DNS: DuckDNS, No-IP, FreeDNS. Uruchom na routerze lub serwerze niewielkiego klienta, który aktualizuje wpis DNS, gdy zmieni się twój adres IP.
- Płatny stały adres IP: niektórzy operatorzy oferują go za 5-15 dolarów miesięcznie. Najczystsze rozwiązanie, ale kosztuje.
- Sieć mesh Tailscale lub WireGuard: całkowicie omija przekierowanie portów. Gracze łączą się z serwerem przez nakładkową sieć peer-to-peer. Działa przez dowolny NAT, łącznie z CG-NAT. Kompromis: każdy gracz musi mieć zainstalowanego klienta.
Pułapka CG-NAT
Jeśli „adres WAN” twojego routera zaczyna się od 100.64-100.127, jesteś za Carrier-Grade NAT (CG-NAT). Operator współdzieli jeden publiczny adres IP między wielu abonentów. Przekierowanie portów nic nie daje, bo to nie twój router jest brzegiem sieci, tylko CG-NAT operatora. Częste przy internecie mobilnym, części światłowodów na wsi i w najtańszych planach taryfowych.
Opcje, gdy jesteś za CG-NAT:
- Poproś operatora o publiczny adres IPv4. Często bezpłatnie na życzenie, czasem za niewielką opłatę miesięczną. Najlepsze rozwiązanie długoterminowe.
- Użyj usługi tunelującej. Tailscale, ZeroTier, Cloudflare Tunnel albo VPS z prostą konfiguracją reverse proxy. Tailscale jest najprostszy dla serwerów gier, bo działa peer-to-peer, bez przepuszczania graczy przez zewnętrzny przekaźnik.
- Przejdź na hosting zarządzany. Jeśli żadne z powyższych nie wchodzi w grę, samodzielny hosting z tego łącza jest trwale zablokowany.
IPv6 (boczne drzwi, które zwykle działają)
Jeśli operator daje ci prefiks IPv6, twój serwer ma już publiczny adres IPv6 bez NAT. Gracze, którzy też mają IPv6, mogą połączyć się bezpośrednio, bez żadnego przekierowania. Starsze gry (tylko UDP, bez obsługi IPv6 w netcode) nie mogą tego użyć; nowsze gry (Minecraft Bedrock, współczesne tytuły na Unity) często mogą.
Warto sprawdzić, czy router udostępnia adres IPv6 serwera. Czasem to droga najmniejszego oporu.
Sprawdzenie, czy działa
Zanim wyślesz znajomym dane do połączenia, przetestuj z zewnątrz sieci lokalnej. Trzy szybkie opcje:
- Użyj strony do sprawdzania portów. canyouseeme.org i podobne narzędzia sondują port od strony internetu.
- Udostępnij internet z telefonu (transmisja komórkowa) i spróbuj się połączyć. Jeśli zadziała, przekierowanie jest poprawne.
- Uruchom
nmap -sU -p PORT publiczny.adres.ipz maszyny znajomego, jeśli jest dostatecznie obeznany.
Jeśli sprawdzenie portu zawiedzie, typowi winowajcy w kolejności: programowa zapora na serwerze (Windows Defender, ufw w Linuksie), zapora routera ponad regułą przekierowania, blokada po stronie operatora albo jesteś za CG-NAT i tego nie zauważyłeś.