NAT (z angl. Network Address Translation – „překlad síťových adres“) je mechanismus v sítích TCP/IP , který umožňuje převádět IP adresy tranzitních paketů . Také nazývané IP Masquerading , Network Masquerading a Native Address Translation .
Překlad adres metodou NAT může provádět téměř jakékoli směrovací zařízení - router [1] , přístupový server , firewall . Nejoblíbenější je SNAT, jehož podstatou mechanismu je nahrazení zdrojové adresy ( anglicky source ) při průchodu paketu jedním směrem a zpětné nahrazení cílové adresy ( anglicky destination ) v paketu odpovědi. Spolu se zdrojovou/cílovou adresou lze také nahradit čísla zdrojového a cílového portu .
Při příjmu paketu z místního počítače se router dívá na cílovou IP adresu. Pokud se jedná o lokální adresu, pak je paket předán jinému místnímu počítači. Pokud ne, paket musí být odeslán do Internetu. Ale koneckonců zpáteční adresa v paketu udává lokální adresu počítače, který nebude dostupný z internetu. Router tedy „za běhu“ přeloží (nahradí) návratovou IP adresu paketu na jeho externí (viditelnou z internetu) IP adresu a změní číslo portu (pro rozlišení paketů s odpovědí adresovaných různým lokálním počítačům). Kombinaci potřebnou pro zpětnou substituci router ukládá do své dočasné tabulky. Nějaký čas poté, co klient a server dokončí výměnu paketů, router smaže záznam o n-tém portu ve své tabulce pro promlčecí lhůtu.
Kromě zdrojového NAT (poskytující uživatelům místní sítě interní adresy pro přístup k Internetu ) se často používá také cílový NAT, kdy jsou hovory zvenčí vysílány firewallem do počítače uživatele v místní síti, která má vnitřní adresa , a proto není přímo přístupná zvenčí sítě (bez NAT).
Existují 3 základní koncepty překladu adres: statický ( Static Network Address Translation ), dynamický ( Dynamic Address Translation ), maškarní (NAPT, NAT Overload, PAT).
Statický NAT – Mapování neregistrované IP adresy na registrovanou IP adresu na bázi jedna ku jedné. Zvláště užitečné, když zařízení potřebuje být přístupné zvenčí sítě.
Dynamic NAT – Mapuje neregistrovanou IP adresu na registrovanou adresu ze skupiny registrovaných IP adres. Dynamic NAT také vytváří přímé mapování mezi neregistrovanými a registrovanými adresami, ale mapování se může změnit v závislosti na registrované adrese dostupné ve fondu adres během komunikace.
Overloaded NAT (NAPT, NAT Overload, PAT, maškaráda) je forma dynamického NAT, která mapuje více neregistrovaných adres na jednu registrovanou IP adresu pomocí různých portů. Také známý jako PAT (Port Address Translation). Při přetížení je každý počítač v privátní síti přeložen na stejnou adresu, ale s jiným číslem portu.
Mechanismus NAT je definován v RFC 1631 , RFC 3022 .
Klasifikace NAT, se kterou se často setkáváme v souvislosti s VoIP . [2] Termín „spojení“ se používá ve smyslu „sériová výměna paketů UDP“.
Symetrický NAT (Symmetric NAT) - překlad, při kterém je každé spojení iniciované dvojicí "interní adresa: interní port" převedeno na volnou unikátní náhodně vybranou dvojici "veřejná adresa: veřejný port". Není však možné zahájit připojení z veřejné sítě.
Cone NAT, Full Cone NAT - jednoznačný (vzájemný) překlad mezi dvojicemi "interní adresa: interní port" a "veřejná adresa: veřejný port". Jakýkoli externí hostitel může zahájit připojení k internímu hostiteli (pokud to pravidla brány firewall umožňují).
Address-Restricted cone NAT, Restricted cone NAT - trvalý překlad mezi dvojicí "interní adresa: interní port" a "veřejná adresa: veřejný port". Jakékoli připojení iniciované z interní adresy mu umožňuje přijímat pakety z libovolného portu veřejného hostitele, na který paket(y) dříve odeslal.
Port-Restricted cone NAT - překlad mezi dvojicí "interní adresa: interní port" a "veřejná adresa: veřejný port", ve kterém příchozí pakety jdou na interní hostitel pouze z jednoho portu veřejného hostitele - toho, na který vnitřní hostitel již paket odeslal.
NAT plní tři důležité funkce.
Překlad lokální sítě s rozsahem adres 172.16.14.0 /24 do globální sítě bude prováděn přes jednu externí IP adresu (adresu routeru provádějícího překlad).
• Cenová výhoda z nákupu jediného připojení IP namísto sítě IP.
• Skrytí struktury vnitřní IP sítě před vnějším pozorovatelem.
• Organizace systému s rozloženou zátěží.
• Sdílení přes NAT transparentně přistupuje k chráněné vnitřní struktuře bez použití firewallu atd.
• Mnoho síťových protokolů funguje správně prostřednictvím NAT. Návrhové implementace (sdílení je NAT spojení) existuje hardwarová implementace NAT (firewally jsou integrovány).
Význam technologie NAT loopback (neboli NAT hairpinning ) je jednoduchý: pokud paket přijde z vnitřní sítě na externí IP adresu routeru, má se za to, že přišel zvenčí – což znamená, že pravidla firewallu související s externím spojení fungují. A pokud paket úspěšně projde firewallem, NAT bude fungovat a převezme zprostředkování mezi dvěma intranetovými stroji. To dává dvě věci.
Nevýhodou NAT loopback je zvýšené zatížení rozbočovače a routeru (ve srovnání s přímým přístupem k serveru).
NAT Traversal (NAT traversal nebo auto-configuration) je sada funkcí, které umožňují síťovým aplikacím určit, že jsou za zařízením poskytujícím NAT, zjistit externí IP adresu tohoto zařízení a provést mapování portů pro předávání paketů z externího NAT. port na interní port používaný aplikací; to vše se děje automaticky, uživatel nemusí ručně konfigurovat mapování portů nebo provádět změny v jiných nastaveních. Existují však opatření, která těmto aplikacím důvěřují – získají rozsáhlou kontrolu nad zařízením, objeví se potenciální zranitelnosti.
Pokud již máte existující server se serverovým OS , je možné organizovat překlad adres bez nutnosti nákupu dalších hardwarových zařízení. Softwarová implementace NAT zpravidla vyžaduje alespoň dva síťové adaptéry na serveru (možné jsou možnosti s jedním, ale s trunk- VLAN ).
Všechny existující a používané serverové operační systémy podporují nejjednodušší překlad adres.
Z hlediska odolnosti proti chybám, flexibility a výkonu se používají operační systémy rodiny UNIX (většina systémů GNU / Linux, *BSD , stejně jako OpenSolaris atd.). V mnoha z nich je NAT k dispozici ihned po vybalení, v jiných jej lze implementovat přidáním modulů v kombinaci s firewally s funkcemi překladu adres ( IPFW , IPtables atd.). NAT také funguje hned po vybalení na operačních systémech řady Windows Server .