Zkratka proNetwork Address TranslationTakéNetwork Address Translation, NAPT, PAT, IP masqueradingPokročilý
Definice
NAT je mechanismus síťového překladu, který na směrovači nebo firewallu mění IP adresy a často i porty v procházejících paketech. Umožňuje více zařízením sdílet jednu veřejnou adresu, skrývá vnitřní adresní plán a zároveň komplikuje příchozí spojení, trasování i některé protokoly vyžadující přímou konektivitu.
Proč NAT mění adresy v paketech
NAT, Network Address Translation, vznikl hlavně jako praktická odpověď na nedostatek veřejných IPv4 adres. Hraniční zařízení má jednu nebo několik veřejných adres a za nimi drží privátní síť, například 192.168.0.0/16. Při odchozím spojení přepíše zdrojovou IP adresu na vlastní veřejnou adresu, upraví kontrolní součty a zapamatuje si, komu má pozdější odpověď vrátit.
Tabulka překladů a porty
Směrovač při běžném domácím NATu nepřekládá jen adresu, ale také transportní port. V tabulce může být položka typu 192.168.1.25:51544 → 203.0.113.10:62001 pro TCP spojení na webový server. Když přijde odpověď na veřejnou adresu a port 62001, směrovač najde odpovídající interní počítač a paket předá zpět. Tato varianta se často označuje jako PAT nebo NAPT, protože právě porty dovolují sdílet jednu veřejnou adresu mnoha klienty.
Příchozí spojení bez záznamu v tabulce
Veřejný internet obvykle nevidí jednotlivá zařízení za NATem. Paket, který přijde zvenku bez existujícího překladu, nemá jasného příjemce a bývá zahozen. Server za NATem proto potřebuje statické přesměrování portu, reverzní proxy, VPN, tunel nebo jinou domluvenou cestu. Stejný princip trápí některé hry, VoIP a peer-to-peer aplikace: dvě strany za různými NATy se musí nejprve najít a často využívají techniky průchodu NATem.
Domácí NAT, cloudový NAT a CGNAT
Domácí router chrání adresní plán domácnosti před přímou viditelností, ale bezpečnost nezajišťuje samotný překlad. Skutečné filtrování pravidel řeší firewallová politika. Cloudový NAT gateway typicky umožní instancím v privátní podsíti stahovat aktualizace nebo volat API, aniž by měly vlastní veřejnou adresu. Operátorský CGNAT dělá podobný překlad pro mnoho zákazníků najednou, což šetří IPv4 adresy, ale ztěžuje hostování služeb i vyšetřování incidentů podle samotné veřejné adresy.
Co NAT znamená pro IPv6 a diagnostiku
IPv6 byl navržen s mnohem větším adresním prostorem, takže sdílení jedné veřejné adresy přestává být hlavním motivem. Sítě s IPv6 se obvykle spoléhají na směrování, prefixy a firewall, nikoli na masové skrývání klientů za jednou adresou. Diagnostika NATu proto vyžaduje pohled ze dvou stran: z interního zařízení i z hraničního směrovače. Bez tabulky překladů může log veřejného serveru ukázat jen společnou adresu, ne konkrétní vnitřní uzel.
Příklady z praxe
Notebook a telefon sdílí jednu adresu
Notebook odešle požadavek na web z adresy 192.168.1.23 a telefon zároveň z 192.168.1.24. Router oba požadavky přepíše na stejnou veřejnou adresu, ale použije rozdílné zdrojové porty. Webový server vidí jednu veřejnou adresu, zatímco router podle tabulky vrátí odpovědi správným zařízením.
Publikování serveru přes port forwarding
Malý server běží uvnitř firmy na adrese 10.0.0.20 a poslouchá HTTPS na portu 443. Správce nastaví DNAT, aby požadavky na veřejnou adresu a port 443 končily na interním serveru. Výsledkem je dostupná služba z internetu, ale otevřený port musí hlídat firewall a aktualizace serveru.
# Ilustrační pravidla pro Linux firewall iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.0.0.20:443 iptables -t nat -A POSTROUTING -j MASQUERADE
Časté omyly
- MýtusNAT je firewall, takže síť za NATem je automaticky bezpečná.
- Ve skutečnostiNAT pouze přepisuje adresy a porty podle překladů. O skutečném povolování a blokování provozu rozhodují firewallová pravidla, aktualizace služeb a celková konfigurace sítě.
- MýtusKdyž mám port forwarding, zařízení za NATem má veřejnou IP adresu.
- Ve skutečnostiPort forwarding zpřístupní konkrétní port nebo službu, nikoli celou interní adresu. Zařízení zůstává v privátní síti a ostatní porty mohou být dál nedostupné nebo filtrované.
Časté dotazy
- Proč NAT komplikuje některé hry nebo VoIP?
- NAT může komplikovat hry, VoIP a peer-to-peer aplikace, protože příchozí paket z internetu často nemá předem vytvořený záznam v překladové tabulce. Aplikace pak neví, na jaké veřejné adrese a portu je zvenku dosažitelná. Řešením bývá přesměrování portu, UPnP, STUN, TURN, relé server nebo VPN, podle bezpečnostních požadavků a typu sítě.
- Nahrazuje NAT firewall?
- NAT nenahrazuje firewall, i když mnoho domácích routerů kombinuje obě funkce v jednom zařízení. Překlad adres způsobí, že nevyžádaný příchozí paket obvykle nemá cílový záznam v tabulce. Firewall ale pracuje s pravidly, stavem spojení, rozhraními, protokoly a výjimkami. Bez správné firewallové politiky může být služba zveřejněná přes port forwarding stále zranitelná.
- Co znamená dvojitý NAT u domácí přípojky?
- Dvojitý NAT znamená, že paket prochází dvěma překlady adres za sebou, například přes domácí router a současně přes zařízení poskytovatele internetu. Běžné prohlížení webu většinou funguje, ale hostování serveru, vzdálený přístup, některé hry nebo VPN mohou narážet na problém s příchozí konektivitou. Častým signálem je veřejná adresa jiná než adresa na WAN rozhraní domácího routeru.
- Má smysl NAT v IPv6 síti?
- NAT v IPv6 síti obvykle není potřeba kvůli úspoře adres, protože IPv6 počítá s velkým adresním prostorem a přidělováním prefixů koncovým sítím. Bezpečnost se má řešit hlavně firewallem, ne skrýváním za jednu adresu. Výjimky existují, například překlad mezi IPv6 a IPv4 nebo speciální provozní požadavky, ale běžná IPv6 architektura preferuje přímé směrování.
Zdroje
- Traditional IP Network Address Translator (Traditional NAT)(otevře se v novém okně)
- Network Address Translation (NAT) Behavioral Requirements for Unicast UDP(otevře se v novém okně)
- Common Requirements for Carrier-Grade NATs (CGNs)(otevře se v novém okně)