CGNAT: Co to je a proč by se o to měli VPN uživatelé zajímat
Pokud jste se někdy pokoušeli nastavit přesměrování portů a bez ohledu na vše, co jste udělali, prostě nefungovalo — CGNAT může být důvodem. Je to jedno z těch síťových rozhodnutí vašeho ISP, která probíhají na pozadí a mají velmi reálné důsledky pro to, jak internet používáte.
Co je CGNAT?
Carrier-Grade NAT (označovaný také jako Large-Scale NAT nebo CGN) je metoda, kterou poskytovatelé internetových služeb využívají k rozšíření ubývající zásoby IPv4 adres. Namísto přidělení vlastní jedinečné veřejné IP adresy každému zákazníkovi ISP přiřadí jednu veřejnou IP adresu velké skupině zákazníků současně. Z pohledu vnějšího světa pak desítky nebo dokonce stovky domácností sdílejí tutéž IP adresu.
Představte si to jako bytový dům s jednou poštovní adresou. Samotná budova má tuto jednu veřejnou adresu, ale uvnitř se nachází desítky jednotlivých bytů. Pošta (internetový provoz) přichází do budovy a interní systém ji doručí do správného bytu. CGNAT je právě takovým směrovacím systémem — jen ve výrazně větším měřítku na úrovni ISP.
Jak CGNAT funguje
Standardní NAT, který již provádí většina domácích routerů, překládá vaši privátní lokální IP adresu (například 192.168.x.x) na veřejnou IP adresu routeru. CGNAT přidává nad tuto vrstvu ještě jednu další. Vašemu routeru je přidělena privátní IP adresa z rozsahu 100.64.0.0/10 (vyhrazeného speciálně pro CGNAT) a systém ISP ji následně přeloží na jednu sdílenou veřejnou IP adresu.
Cesta tak vypadá takto:
Vaše zařízení → NAT domácího routeru → CGNAT systém ISP → Veřejný internet
Právě toto nastavení s dvojitým NAT způsobuje tolik problémů. Jakýkoli odeslaný požadavek může obdržet odpověď směrovanou zpět k vám, protože systém sleduje odchozí připojení. Příchozí připojení — ta iniciovaná zvenčí — však nemají kam zamířit. Systém CGNAT nedokáže určit, který z jeho mnoha zákazníků má přijmout nevyžádaný příchozí požadavek.
Proč záleží na CGNAT u VPN uživatelů
CGNAT přináší několik praktických problémů, které přímo ovlivňují výkon a funkčnost VPN:
Přesměrování portů se stává téměř nemožným. Provozování domácího serveru, herního serveru nebo jakékoli služby vyžadující, aby se k vám připojovala externí zařízení, je CGNAT blokováno. Pravidla přesměrování portů nastavená na domácím routeru nemají žádný účinek, protože před ním stojí vrstva CGNAT od ISP.
Peer-to-peer připojení jsou zhoršena. Torrenting, hraní her s přímým peer připojením a aplikace využívající WebRTC mají pod CGNAT problémy. Tyto technologie spoléhají na dostupnost zvenčí vaší sítě, což CGNAT znemožňuje.
Problémy s reputací sdílené IP adresy. Protože stovky uživatelů sdílejí jednu veřejnou IP adresu, pokud se některý z nich dopustí spamu nebo zneužití, může být tato IP adresa zablokována. Všichni, kteří ji sdílejí, pak nesou následky — blokované webové stránky, CAPTCHA nebo označené účty.
Hostování VPN doma je zablokováno. Pokud si chcete doma provozovat vlastní WireGuard nebo OpenVPN server, abyste se mohli při cestování připojit zpět do domácí sítě, CGNAT příchozí VPN připojení zcela zablokuje.
Jak VPN pomáhá (a jaká má omezení)
Používání komerční VPN služby obchází mnoho problémů způsobených CGNAT. Když se připojíte k VPN, váš provoz odchází přes server poskytovatele VPN, který má skutečnou, veřejně směrovatelnou IP adresu. Tím se obchází problém sdílené IP adresy a obnovuje přímější připojení k internetu.
Někteří poskytovatelé VPN nabízejí také přesměrování portů jako funkci, která umožňuje příchozím připojením dosáhnout vás prostřednictvím VPN tunelu — čímž řeší problém, který CGNAT původně způsobil. Další řešení pro případ, že vás ovlivňují problémy s reputací sdílené IP adresy, představuje dedikovaná IP adresa od poskytovatele VPN.
VPN však příchozí připojení přes CGNAT automaticky neopraví, pokud není povolena a nakonfigurována tato konkrétní funkce přesměrování portů.
Širší kontext
CGNAT existuje proto, že IPv4 adresy došly. Dlouhodobým řešením je IPv6, které poskytuje dostatek jedinečných adres pro každé zařízení na světě. Mnoho ISP postupně zavádí IPv6, ale dokud není jeho nasazení univerzální, zůstává CGNAT běžným řešením — a běžným zdrojem frustrace pro technicky zdatné uživatele.