Tenhle dotaz mi chodí pořád dokola. Doma máte NAS, IP kameru, Home Assistanta nebo malý server. V domácí síti šlape všechno jak má. Pak sednete v práci k počítači nebo přepnete na mobilní data, chcete se připojit zvenku, a nic. Timeout. Router přitom máte nastavený podle návodu, port forwarding svítí zeleně, firewall vypnutý (vím, vím), a stejně nic.
Ve většině případů si za to nemůžete sami. Zádrhel sedí o patro výš, u poskytovatele. Ale popořadě, ať zbytečně nerestartujete router počtvrté.
1. Zjistěte svoji skutečnou veřejnou IP
První věc, kterou potřebujete vědět: pod jakou adresou vás vlastně vidí internet. Ne co má napsáno router, ale ta adresa venku.
Nejrychleji na moje-ip-adresa.cz, hned nahoře, bez klikání. (Ano, je to můj web. Před pár týdny jsem ho celý přestavěl, takže už nevypadá jako z roku 2008 a umí toho o dost víc. O tom ale někdy jindy.)
Kdo má radši terminál:
curl https://moje-ip-adresa.cz/plainVrátí holou IP a nic dalšího. Hodí se to i do skriptů, když si chcete hlídat, jestli vám poskytovatel adresu nepřehodil.
2. Porovnejte to s tím, co má router
Přihlaste se do administrace routeru a najděte adresu na WAN rozhraní. Tedy na tom portu, kterým kouká ven k poskytovateli.
Sedí WAN adresa routeru s tou, co ukázal web? Pak máte veřejnou IP a máte to skoro vyhrané. Chyba bude někde ve vašem nastavení, špatný port, služba neposlouchá, firewall. Skočte na bod 4.
Liší se a WAN adresa routeru začíná na 10.x.x.x, 100.64.x.x až 100.127.x.x nebo 172.16-31.x.x? Jste za CG-NATem. Tím to celé končí.
Co je CG-NAT a proč vám kazí život
Veřejných IPv4 adres je málo, poskytovatelům došly. Tak dělají to samé, co dělá váš router doma: schovají desítky až stovky zákazníků za jednu společnou veřejnou adresu. Říká se tomu Carrier-Grade NAT.
Při běžném brouzdání to nepoznáte. Jakmile ale chcete, aby se někdo z internetu připojil k vám, na NAS, kameru, server, herní port, narazíte. Příchozí spojení nemá kudy projít, protože ta veřejná adresa není vaše. Sdílíte ji s půlkou paneláku. Port forwarding si na routeru můžete nastavovat, jak chcete, pakety k němu nikdy nedorazí, umřou už u poskytovatele.
Za CG-NATem typicky jedou mobilní data (skoro vždycky), menší lokální wifi poskytovatelé a čím dál častěji i velcí hráči na levnějších tarifech.
3. Test portu zvenku, ne zevnitř
Klasický omyl: testovat dostupnost z počítače ve stejné síti. O dostupnosti zvenku vám to neřekne vůbec nic. Navíc spousta routerů neumí hairpin NAT, takže zevnitř to nefunguje, i když zvenku by fungovalo docela dobře.
Testovat se to musí z internetu. Na moje-ip-adresa.cz je na to TCP port check. Zadáte číslo portu a server se pokusí navázat spojení na vaši aktuální veřejnou IP zvenku. Přesně tak, jak by to udělal kdokoliv jiný.
- Port otevřený -> služba je zvenku dostupná, hotovo.
- Port zavřený a nejste za CG-NATem -> chyba je u vás, pokračujte bodem 4.
- Port zavřený a jste za CG-NATem -> bod 5, nastavením routeru to nespravíte.
4. Máte veřejnou IP a stejně to nejde
Checklist seřazený podle toho, jak často se to trefí:
- Služba poslouchá jen na
127.0.0.1místo na0.0.0.0. Klasika u Dockeru a u různých webových administrací. - Port forwarding míří na špatnou vnitřní IP. NAS si po restartu vzal z DHCP jinou adresu, než na kterou ukazuje pravidlo. Udělejte zařízení rezervaci v DHCP a máte klid.
- Firewall na cílovém zařízení. Router paket pustí, Windows nebo firewalld ho zahodí.
- Poskytovatel blokuje porty. Hlavně 25, občas 80 a 443 na domácích tarifech. Zkuste službu dočasně pověsit na vysoký port, třeba 8443, a otestovat znovu.
- Dvojitý NAT doma. Modem od poskytovatele v režimu router a za ním váš vlastní router. Buď přepněte modem do bridge, nebo nastavte forwarding na obou.
5. Jste za CG-NATem, co teď
V zásadě tři cesty.
Zavolat poskytovateli a chtít veřejnou IP. Spousta ISP ji dá za pár desítek korun měsíčně, někteří i zadarmo na požádání. Nejjednodušší a nejčistší cesta, zkuste ji dřív, než se pustíte do stavění tunelů.
VPN tunel ven. WireGuard nebo Tailscale na NASu či serveru, který se sám připojí ven na něco s veřejnou adresou. Malý VPS za pár korun bohatě stačí, případně rovnou Tailscale síť. Příchozí spojení pak chodí tunelem. Funguje to spolehlivě a CG-NAT to obejde, protože spojení iniciujete vy směrem ven.
Reverzní proxy nebo tunel jako služba. Cloudflare Tunnel a spol. Na webovou administraci fajn, u obecných služeb to bývá krkolomné.
Bonus: VPN vám rozbije i to, co fungovalo
Když si VPN naopak sami zapnete kvůli soukromí nebo kvůli práci, změní se vaše viditelná IP a s ní i všechno, co na tu původní bylo navázané.
Jestli VPN opravdu jede a co přesně se změnilo, si ověříte porovnáním před a po. Na moje-ip-adresa.cz si uložíte stav před zapnutím VPN, pak ji zapnete, obnovíte stránku a web vám ukáže rozdíl v IP, poloze i poskytovateli. Při té příležitosti klikněte i na WebRTC leak test, prohlížeč občas vyžvaní adresu, kterou měla VPN schovat.
Shrnutí pro netrpělivé
- Zjistit veřejnou IP a porovnat ji s WAN adresou routeru.
- Sedí to? Testovat port zvenku a projít checklist.
- Nesedí (10.x, 100.64-127.x)? CG-NAT, volat ISP nebo stavět tunel.
- Nikdy netestovat dostupnost zevnitř vlastní sítě.
Kdyby něco nesedělo nebo jste narazili na kombinaci, kterou tu nemám, pište do komentářů.

Nějaké ty komentáře