Doma to jede, zvenku ani ťuk. Proč se nedostanete na svůj NAS, kameru nebo server (a jak zjistit, jestli za to může CG-NAT)

Tenhle scénář znám nazpaměť, protože mi ho lidi píšou pořád dokola. Doma máte NAS, IP kameru, Home Assistanta nebo malý server. V domácí síti všechno šlape. Pak sednete v práci nebo na mobilní data, chcete se připojit zvenku — a nic. Timeout. Router jste přitom nastavili podle návodu, port forwarding svítí zeleně, firewall vypnutý (já vím, já vím), a stejně nic.

Devětkrát z deseti není problém ve vašem nastavení. Problém je o patro výš — u poskytovatele. Ale pojďme popořadě, ať zbytečně nerestartujete router počtvrté.

Krok 1: Zjistěte, jaká je vaše skutečná veřejná IP

První věc, kterou potřebujete vědět: pod jakou adresou vás vlastně vidí internet. Ne jaká adresa je na routeru, ale ta venkovní. Nejrychleji ji zjistíte na moje-ip-adresa.cz — hned nahoře, bez klikání. (Jo, je to můj web. Před pár týdny jsem ho kompletně přestavěl, takže už nevypadá jako z roku 2008 a umí toho podstatně víc. Ale o tom někdy jindy.)

Kdo radši terminál, může to samé přes curl:

curl https://moje-ip-adresa.cz/plain

Vrátí jen samotnou IP, nic víc. Hodí se to i do skriptů, když si chcete hlídat, jestli vám poskytovatel nezměnil adresu.

Krok 2: Porovnejte ji s tím, co vidí router

A teď to důležité. Přihlaste se do administrace routeru a podívejte se, jakou adresu má na WAN rozhraní. Tedy na tom „venkovním“ portu, kterým kouká k poskytovateli.

Pokud se WAN adresa routeru shoduje s tou, kterou ukázal web — máte veřejnou IP a je vyhráno. Problém bude někde ve vašem nastavení (špatný port, služba neposlouchá, firewall). Skočte na krok 4.

Pokud se liší — a WAN adresa routeru začíná na 10.x.x.x, 100.64.x.x100.127.x.x, nebo 172.16–31.x.x — jste za CG-NATem. A to je celý váš problém.

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.

Pro běžné brouzdání to nepoznáte. Ale jakmile chcete, aby se někdo z internetu připojil k vám — na NAS, kameru, server, hru — narazíte. Příchozí spojení nemá jak projít, protože ta veřejná adresa není vaše. Sdílíte ji s půlkou paneláku. Port forwarding na vašem routeru můžete nastavovat, jak chcete — pakety k němu prostě nikdy nedorazí, umřou už u poskytovatele.

Typicky za CG-NATem 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.

Krok 3: Otestujte port zvenku, ne zevnitř

Klasická chyba: testujete dostupnost z počítače ve stejné síti. To vám o dostupnosti zvenku neřekne vůbec nic (a spousta routerů tzv. hairpin NAT ani neumí, takže to zevnitř nefunguje, i když zvenku by fungovalo).

Správně se to testuje z internetu. Na moje-ip-adresa.cz je na to TCP port check — zadáte číslo portu a server zkusí navázat spojení na vaši aktuální veřejnou IP z venku. Přesně tak, jak by to dělal kdokoliv jiný na internetu.

  • Port otevřený → služba je zvenku dostupná, hotovo.
  • Port zavřený a nejste za CG-NATem → chyba je u vás. Krok 4.
  • Port zavřený a jste za CG-NATem → viz krok 5, nastavením routeru to nespravíte.

Krok 4: Když máte veřejnou IP a stejně to nejde

Rychlý checklist, seřazený podle toho, jak často to bývá:

  1. Služba neposlouchá na všech rozhraních. Poslouchá na 127.0.0.1 místo 0.0.0.0. Klasika u Dockeru a různých web UI.
  2. Port forwarding míří na špatnou vnitřní IP. NAS si po restartu vzal z DHCP jinou adresu, než na kterou míří pravidlo. Dejte zařízení rezervaci v DHCP.
  3. Firewall na cílovém zařízení. Router paket pustí, ale Windows/firewalld ho zahodí.
  4. Poskytovatel blokuje porty. Hlavně 25, občas 80/443 na domácích tarifech. Zkuste službu dočasně pověsit na nějaký vysoký port (třeba 8443) a otestovat znovu.
  5. Dvojitý NAT doma. Modem od poskytovatele v režimu router + váš vlastní router za ním. Buď přepněte modem do bridge, nebo nastavte forwarding na obou.

Krok 5: Co dělat, když jste za CG-NATem

Má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 vyžádání. Nejjednodušší a nejčistší řešení — stojí za to zkusit dřív, než začnete stavět tunely.

VPN tunel ven. WireGuard nebo Tailscale na NASu/serveru, který se sám připojí ven na něco s veřejnou adresou (malý VPS za pár korun, nebo přímo Tailscale síť). Příchozí spojení pak jde tunelem. Funguje spolehlivě, CG-NAT to obchází elegantně, protože spojení iniciujete vy směrem ven.

Reverzní proxy / tunel jako služba. Cloudflare Tunnel a podobné. Pro web UI fajn, pro obecné služby už to bývá krkolomnější.

Bonus: VPN vám může „rozbít“ i to, co fungovalo

Když si VPN naopak sami zapnete (kvůli soukromí, práci), vaše viditelná IP se změní — a s ní všechno, co bylo na tu původní navázané. Jestli VPN opravdu jede a co přesně se změnilo, si můžete ověřit porovnáním před/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. A při té příležitosti doporučuju kliknout i na WebRTC leak test — občas prohlížeč vyžvaní adresu, kterou VPN měla schovat.

Shrnutí pro netrpělivé

  1. Zjistit veřejnou IP → porovnat s WAN adresou routeru.
  2. Shoduje se? → testovat port zvenku, projít checklist.
  3. Neshoduje se (10.x, 100.64–127.x)? → CG-NAT, volejte ISP nebo stavte tunel.
  4. 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ářů. A jestli vám článek ušetřil čtvrtý restart routeru, mise splněna.

SHARE IT:

Leave a Reply