Překlad síťové adresy nat. Co je to NAT na routeru? Hlavní funkcí, která funguje v každém routeru, je NAT

2 32 nebo 4 294 967 296 IPv4 je to hodně adres? Zdá se, že ano. S nárůstem osobních počítačů však mobilní zařízení a rychlý růst internetu, brzy se ukázalo, že 4,3 miliardy IPv4 adres nebude stačit. Dlouhodobé řešení bylo IPv6, ale víc rychlé rozhodnutí k odstranění nedostatku adres. A toto rozhodnutí bylo NAT (Network Address Translation).

Co je NAT

Sítě jsou obvykle navrženy pomocí soukromých IP adres. To jsou adresy 10.0.0.0/8, 172.16.0.0/12 a 192.168.0.0/16 ... Tyto soukromé adresy jsou interně používány organizací nebo webem, aby zařízení mohly komunikovat lokálně, a nejsou směrovány přes internet. Aby zařízení se soukromou adresou IPv4 mělo přístup k zařízením a prostředkům mimo místní síť, musí být soukromá adresa nejprve přeložena na veřejnou veřejnou adresu.

A právě NAT překládá soukromé adresy na veřejné. To umožňuje zařízení se soukromou adresou IPv4 přistupovat k prostředkům mimo něj. soukromá síť... NAT v kombinaci se soukromými IPv4 adresami se osvědčil jako užitečný způsob udržování veřejných IPv4 adres. Jednu veřejnou adresu IPv4 mohou používat stovky, dokonce tisíce zařízení, každé se soukromou adresou IPv4. NAT má další výhodu v tom, že do sítě přidává určitý stupeň soukromí a zabezpečení, protože skrývá interní adresy IPv4 z externích sítí.

Směrovače s podporou NAT lze konfigurovat s jednou nebo více platnými veřejnými adresami IPv4. Tyto veřejné adresy se nazývají fond NAT. Když zařízení z interní sítě odesílá provoz ze sítě ven, router s podporou NAT překládá interní adresu IPv4 zařízení na veřejnou adresu z fondu NAT. U externích zařízení se zdá, že veškerý provoz vstupující a odcházející ze sítě má veřejnou adresu IPv4.

Směrovač NAT obvykle běží na hranici Pahýl-síť. Ústupová síť je ústupová síť, která má jedno připojení k sousední síti, jeden vstup a výstup ze sítě.

Když chce zařízení v síti Stub komunikovat se zařízením mimo svoji síť, paket je předán hraničnímu routeru a ten provede proces NAT, který překládá interní soukromou adresu zařízení na veřejnou, externí a směrovatelnou adresu. .

Terminologie NAT

V terminologii NAT je interní síť souborem sítí k překladu. Externí síť označuje všechny ostatní sítě.

Na pomocí NAT„Adresy IPv4 mají různá označení podle toho, zda jsou v soukromé síti nebo ve veřejné síti (na internetu) a zda je provoz příchozí nebo odchozí.

NAT obsahuje čtyři typy adres:

  • Uvnitř místní adresy;
  • Uvnitř globální adresy;
  • Mimo místní adresu;
  • Mimo globální adresu;

Při určování, jaký typ adresy použít, je důležité si uvědomit, že terminologie NAT je vždy aplikována z pohledu zařízení s přeloženou adresou:

  • Vnitřní adresa- adresa zařízení, která je přeložena pomocí NAT;
  • Vnější adresa- adresa cílového zařízení;
  • Místní adresa- toto je jakákoli adresa, která se objeví na vnitřní straně sítě;
  • Globální adresa- to je jakákoli adresa, která je zobrazena na vnější straně sítě;

Uvažujme to na příkladu obvodu.


Na obrázku má počítač interní lokální ( Uvnitř místní) adresa je 192.168.1.5 a z jeho pohledu má webový server externí ( mimo) adresa 208.141.17.4. Když jsou pakety odesílány z počítače na globální adresu webového serveru, interní místní ( Uvnitř místní) adresa počítače je přeložena na 208.141.16.5 ( uvnitř globálního). Adresa externího zařízení se obvykle nepřekládá, protože se jedná o veřejnou adresu IPv4.

Stojí za zmínku, že počítač má různé místní a globální adresy, zatímco webový server má stejnou veřejnou IP adresu. Z jeho pohledu pochází provoz odchozí z PC z interní globální adresy 208.141.16.5. Směrovač NAT je vymezovacím bodem mezi interními a externími sítěmi a mezi místními a globálními adresami.

Podmínky uvnitř a mimo v kombinaci s podmínkami místní a globální odkazovat na konkrétní adresy. Na obrázku je router nakonfigurován tak, aby poskytoval NAT, a má fond veřejných adres, které lze přiřadit interním hostitelům.

Obrázek ukazuje, jak je provoz odesílán z interního počítače na externí webový server prostřednictvím routeru s povoleným NAT a odesílán a překládán opačným směrem.


Interní místní adresa ( Uvnitř místní adresy) je zdrojová adresa viditelná z interní sítě. Na obrázku je k počítači přiřazena adresa 192.168.1.5 - toto je její interní místní adresa.

Uvnitř globální adresy ( Uvnitř globální adresy) je zdrojová adresa viditelná z externí sítě. Na obrázku, když je provoz z počítače odeslán na webový server na 208.141.17.4, router překládá vnitřní místní adresu ( Uvnitř místní adresy) na interní globální adresu ( Uvnitř globální adresy). V tomto případě router změní zdrojovou adresu IPv4 z 192.168.1.5 na 208.141.16.5.

Mimo globální adresu ( Mimo globální adresu) je cílová adresa viditelná z externí sítě. Toto je globálně směrovaná adresa IPv4 přiřazená hostiteli na internetu. V diagramu je webový server k dispozici na adrese 208.141.17.4. Externí místní a externí globální adresy jsou nejčastěji stejné.

Externí místní adresa ( Mimo místní adresu) je adresa příjemce viditelná z interní sítě. V tomto případě počítač odesílá provoz na webový server na adrese 208.141.17.4

Zvažte celou cestu paketu. Počítač s adresou 192.168.1.5 se pokouší komunikovat s webovým serverem 208.141.17.4. Když paket dorazí na router s podporou NAT, přečte cílovou adresu IPv4 paketu a určí, zda paket splňuje kritéria pro překlad. V tomto případě zdrojová adresa splňuje kritéria a je přeložena z 192.168.1.5 ( Uvnitř místní adresy) na 208,141,16,5. ( Uvnitř globální adresy). Router přidá toto lokální do globálního mapování do tabulky NAT a odešle paket s přeloženou zdrojovou adresou do cíle. Webový server odpoví paketem adresovaným na interní globální adresu počítače (208.141.16.5). Směrovač přijme paket s cílovou adresou 208.141.16.5 a zkontroluje tabulku NAT, ve které najde záznam pro toto mapování. Používá tyto informace a překládá zpět vnitřní globální adresu (208.141.16.5) na vnitřní místní adresu (192.168.1.5) a paket je přeposlán směrem k počítači.

Typy NAT

Existují tři typy překladu NAT:

  • Static Address Translation (Static NAT)-mapování osobních adres mezi místními a globálními adresami;
  • Dynamický překlad adres (Dynamic NAT)-Mapování mnoha adres mezi místními a globálními adresami;
  • Překlad adres portů (NAT)- mapování adres vícesměrového vysílání mezi místními a globálními adresami pomocí portů. Tato metoda je také známá jako Přetížení NAT;

Static NAT používá individuální mapování mezi lokálními a globálními adresami. Tato mapování jsou konfigurována správcem sítě a zůstávají trvalá. Když zařízení odesílají provoz na internet, jejich interní místní adresy jsou přeloženy do nakonfigurovaných interních globálních adres. Pro externí sítě mají tato zařízení veřejné adresy IPv4. Static NAT je zvláště užitečné pro webové servery nebo zařízení, která potřebují mít konzistentní adresu, která je přístupná z internetu, například firemní webový server. Static NAT vyžaduje dostatečný počet veřejných adres, aby uspokojil celkový počet souběžných relací uživatelů.

Statická tabulka NAT vypadá takto:


Dynamic NAT používá fond veřejných adres a přiřazuje je podle zásady „kdo dřív přijde, ten dřív mele“. Když vnitřní zařízení požaduje přístup k vnější síti, dynamický NAT přiřadí dostupnou veřejnou adresu IPv4 z fondu. Stejně jako statický NAT vyžaduje dynamický NAT dostatečný počet veřejných adres, aby uspokojil celkový počet souběžných relací uživatelů.

Dynamická tabulka NAT vypadá takto:


Překlad adres portů (PAT)

PAT překládá více soukromých adres na jednu nebo více veřejných adres. To dělá většina domácích routerů. ISP přidělí routeru jednu adresu, ale na internet může mít přístup více členů rodiny současně. Toto je nejběžnější forma NAT.

S PAT lze mapovat více adres na jednu nebo více adres, protože každá soukromá adresa je také sledována číslem portu. Když zařízení zahájí relaci TCP / IP, generuje hodnotu zdrojového portu TCP nebo UDP k jedinečné identifikaci relace. Když směrovač NAT obdrží od klienta paket, použije číslo svého zdrojového portu k jedinečné identifikaci konkrétního překladu NAT. PAT zajišťuje, že zařízení používají pro každou relaci jiné číslo portu TCP. Když je ze serveru vrácena odpověď, číslo zdrojového portu, které se stane číslem cílového portu ve zpáteční cestě, určuje, na které zařízení směrovač předává pakety.

Obrázek ukazuje proces PAT. PAT dodává jedinečná čísla zdrojové porty na vnitřní globální adresu pro rozlišení mezi přenosy.


Protože router zpracovává každý paket, používá k identifikaci zařízení, ze kterého byl paket odeslán, číslo portu (v tomto případě 1331 a 1555).

Adresa zdroje ( Adresa zdroje) je vnitřní místní adresa s přidaným číslem portu přiřazeným protokolem TCP / IP. Cílová adresa ( Cílová adresa) je externí místní adresa s přidaným číslem portu služby. V tomto případě je port služby 80: HTTP.

Pro zdrojovou adresu router převede vnitřní místní adresu na vnitřní globální adresu s připojeným číslem portu. Cílová adresa se nemění, ale nyní se označuje jako vnější globální IP adresa. Když webový server odpoví, cesta se obrátí.

V tomto případě se čísla klientských portů 1331 a 1555 na routeru NAT nezměnila. Toto není příliš pravděpodobný scénář, protože existuje velká šance, že tato čísla portů již byla přiřazena jiným aktivním relacím. PAT se snaží zachovat původní zdrojový port. Pokud je však zdrojový port zdroje již používán, PAT přiřadí první dostupné číslo portu, počínaje na začátku odpovídající skupiny portů. 0-511, 512-1023 nebo 1024-65535 ... Když již nejsou žádné porty a ve fondu adres je více než jedna externí adresa, PAT přejde na další adresu a pokusí se přidělit původní zdrojový port. Tento proces pokračuje, dokud nejsou k dispozici žádné porty nebo externí IP adresy.

To znamená, že pokud jiný hostitel může zvolit stejné číslo portu 1444. To je přijatelné pro interní adresu, protože hostitelé mají jedinečné soukromé IP adresy. Na routeru NAT však musí být změněna čísla portů - v opačném případě pakety ze dvou různých hostitelů skončí se stejnou zdrojovou adresou. Proto PAT přiřadí další dostupný port (1445) k druhé adrese hostitele.

Pojďme si shrnout srovnání mezi NAT a PAT. Jak vidíte z tabulek, NAT překládá IPv4 adresy na základě 1: 1 mezi soukromými IPv4 adresami a veřejnými IPv4 adresami. PAT však mění jak samotnou adresu, tak číslo portu. NAT přesměruje příchozí pakety na jejich interní adresu na základě příchozí zdrojové IP adresy určené hostitelem ve veřejné síti a u PAT je obvykle jen jedna nebo velmi málo veřejně vystavených adres IPv4 a příchozí pakety jsou přesměrovány na základě NAT routeru stůl.

A co pakety IPv4 obsahující jiná data než TCP nebo UDP? Tyto pakety neobsahují číslo portu vrstvy 4. PAT překládá nejběžnější protokoly přenášené protokolem IPv4, které jako protokol transportní vrstvy nepoužívají TCP ani UDP. Nejběžnějšími z nich jsou ICMPv4. Každý z těchto typů protokolů zpracovává PAT odlišně. Například zprávy o požadavcích ICMPv4, žádosti o ozvěnu a odpovědi obsahují ID požadavku ID dotazu... ICMPv4 používá ID dotazu. identifikovat požadavek na ozvěnu s odpovídající odpovědí. ID požadavku se zvyšuje s každým odeslaným požadavkem na echo. PAT používá ID požadavku namísto čísla portu vrstvy 4.

Výhody a nevýhody NAT

NAT poskytuje mnoho výhod, včetně:

  • NAT zachovává registrované schéma adresování, což umožňuje privatizaci intranetů. S PAT mohou interní hostitelé sdílet jedinou veřejnou IPv4 adresu pro veškerou externí komunikaci. Tento typ konfigurace vyžaduje velmi málo externích adres pro podporu mnoha interních hostitelů;
  • NAT zvyšuje flexibilitu připojení k veřejné síti. Pro zajištění spolehlivého připojení k veřejné síti lze implementovat více fondů, záložních fondů a fondů pro vyrovnávání zatížení;
  • NAT poskytuje konzistenci pro schémata adresování interní sítě. V síti, která nepoužívá soukromé adresy IPv4 a NAT, změňte obecné schéma Adresy IPv4 vyžadují přesměrování všech hostitelů stávající síť... Náklady na přesměrování hostitele mohou být značné. NAT umožňuje zachování stávajícího schématu soukromého adresování IPv4, což usnadňuje úpravu nového schématu veřejného adresování. To znamená, že organizace může měnit poskytovatele a nepotřebuje měnit žádného ze svých interních zákazníků;

  • NAT poskytuje zabezpečení sítě. Protože soukromé sítě neinzerují své adresy ani interní topologii, zůstávají dostatečně robustní, pokud jsou použity ve spojení s NAT k získání kontrolovaného externího přístupu. Musíte však pochopit, že NAT nenahrazuje brány firewall;

Ale NAT má určité nevýhody. Skutečnost, že se zdá, že hostitelé na internetu komunikují přímo se zařízením podporujícím NAT, nikoli se skutečným hostitelem v soukromé síti, způsobuje řadu problémů:

  • Jedna z nevýhod používání NAT má co do činění s výkonem sítě, zejména pro protokoly v reálném čase, jako je VoIP... NAT zvyšuje zpoždění přepínání, protože překlad adresy IPv4 v záhlavích paketů vyžaduje čas;
  • Další nevýhodou používání NAT je, že je ztraceno adresování end-to-end. Mnoho internetových protokolů a aplikací závisí na adresování typu end-to-end od zdroje k cíli. Některé aplikace nepracují s NAT. Aplikace, které místo fyzického názvu domény používají fyzické adresy, nedosáhnou cílů, které jsou přeloženy pomocí routeru NAT. Někdy se tomuto problému lze vyhnout implementací statických mapování NAT;
  • Ztrácí se také trasování end-to-end IPv4. Je obtížnější trasovat pakety, které procházejí více změnami adres paketů přes více skoků NAT, což ztěžuje řešení problémů;
  • Použití NAT také ztěžuje protokoly tunelování, jako je IPsec, protože NAT mění hodnoty v hlavičkách, které narušují kontroly integrity prováděné protokolem IPsec a jinými tunelovacími protokoly;
  • Služby vyžadující zahájení připojení TCP z externí sítě nebo bezstavové protokoly, jako jsou ty, které používají UDP, mohou být narušeny. Pokud router NAT není nakonfigurován na podporu těchto protokolů, příchozí pakety nemohou dosáhnout svého cíle;

Pomohl vám tento článek?

Řekni mi prosím proč?

Je nám líto, že pro vás článek nebyl užitečný: (Prosím, pokud to neztěžuje, uveďte proč? Budeme velmi vděční za podrobnou odpověď. Děkujeme, že nám pomáháte být lepšími!

IP adresy jsou vzácným zdrojem. Poskytovatel může mít adresu / 16 (dříve třída B), což umožňuje připojení 65 534 hostitelů. Pokud je zákazníků více, začínají vznikat problémy. Hostitelům, kteří se čas od času připojí k internetu prostřednictvím běžné telefonní linky, lze dynamicky přidělovat IP adresy, a to pouze po dobu připojení. Pak jedna / 16 adres bude sloužit až 65 534 aktivním uživatelům, a to může stačit pro poskytovatele s několika stovkami tisíc zákazníků. Po ukončení komunikační relace je novému připojení přiřazena adresa IP. Tato strategie může vyřešit problémy poskytovatelů s menším počtem vytáčených soukromých zákazníků, ale nepomůže poskytovatelům, kteří mají v organizacích velkou část své klientely.

Firemní klienti dávají přednost stálému připojení k internetu, alespoň během pracovního dne. A v malých kancelářích, jako jsou cestovní kanceláře, skládající se ze tří zaměstnanců, a ve velkých korporacích, existují místní sítě, skládající se z určitého počtu počítačů. Některé počítače jsou pracovními stanicemi zaměstnanců, některé slouží jako webové servery. Obecně existuje LAN router připojený k ISP prostřednictvím vyhrazené linky, aby bylo zajištěno trvalé připojení. Toto řešení znamená, že s každým počítačem je celý den spojena jedna IP adresa. Ve skutečnosti ani všechny kombinované počítače vlastněné firemními klienty nemohou překrývat IP adresy dostupné poskytovateli. Pro adresu A / 16 je tento limit, jak jsme si všimli, 65 534. Pokud má však ISP desítky tisíc firemních zákazníků, bude tohoto limitu dosaženo velmi rychle.

Problém je zhoršen skutečností, že všechny více soukromí uživatelé chtějí připojení ADSL nebo kabelové připojení k internetu. Vlastnosti těchto metod jsou následující:

a) uživatelé obdrží trvalou IP adresu;

b) neexistuje žádná platba na základě času (účtuje se pouze měsíční poplatek za předplatné).

Uživatelé tohoto druhu služby mají trvalé připojení k internetu. Vývoj v tomto směru vede k nárůstu nedostatku IP adres. Přiřazujte IP adresy za běhu, jak se provádí s telefonní spojení, je to zbytečné, protože počet aktivních adres v daném okamžiku může být mnohonásobně vyšší, než má poskytovatel.

Situaci často ještě komplikuje skutečnost, že mnoho uživatelů ADSL a kabelový internet mít doma dva nebo více počítačů (například jeden pro každého člena rodiny) a chtít, aby všechny počítače měly přístup k internetu. Co dělat - vždyť ISP udává pouze jednu IP adresu! Řešení je toto: musíte nainstalovat router a připojit všechny počítače k ​​místní síti. Z pohledu poskytovatele bude v tomto případě rodina fungovat jako analogie malé společnosti s několika počítači. Vítejte v Pupkin Corporation!

Problém nedostatku IP adres není v žádném případě teoretický a nevztahuje se na dalekou budoucnost. Už je to relevantní a člověk se s tím musí vypořádat tady a teď. Dlouhodobý projekt zahrnuje celkový přenos celého internetu na IPv6 se 128bitovým adresováním. Tento přechod skutečně probíhá postupně, ale proces je tak pomalý, že se táhne roky. Když to mnozí viděli, uvědomili si, že je naléhavě nutné najít řešení, alespoň pro blízkou budoucnost. Takové řešení bylo nalezeno ve formě metody překladu síťových adres, NAT (Network Address Translation) popsáno v RFC 3022. Na jeho podstatu se podíváme později a další informace viz (Butcher, 2001).

Základní myšlenkou překladu síťových adres je přiřadit každé firmě jednu IP adresu (nebo alespoň malý počet adres) pro internetový provoz. Interně je každému počítači přiřazena jedinečná adresa IP, která se používá ke směrování interního provozu. Jakmile však paket opustí prostory společnosti a je odeslán poskytovateli, je proveden překlad adresy. K implementaci tohoto schématu byly vytvořeny tři rozsahy takzvaných privátních IP adres. Mohou být použity interně podle uvážení společnosti. Jediným omezením je, že pakety s takovými adresami by se nikdy neměly objevovat na samotném internetu. Tyto tři vyhrazené rozsahy jsou:

10.0.0.0 - 10.255.255.255/8 (16 777 216 hostitelů)

172.16.0.0 - 172.31.255.255/12 (1048 576 hostitelů)

192.168.0.0 -192.168.255.255 / 16 (65 536 hostitelů)

Provoz metody překladu síťových adres je znázorněn na následujícím diagramu. V rámci území společnosti má každé vozidlo svou vlastní jedinečnou adresu, jako je 10.x.y.z. Když však paket opustí držení společnosti, prochází blokem NAT, který překládá interní zdrojovou IP adresu (na obrázku 10.0.0.1) na skutečnou IP adresu, kterou společnost obdržela od ISP (v našem případě 198.60.42.12) ... NAT box je obvykle jediné zařízení s bránou firewall, která poskytuje zabezpečení pečlivým monitorováním příchozího a odchozího provozu společnosti. NAT box lze integrovat s firemním routerem.

Zatím jsme vynechali jeden malý detail: když odpověď přijde na požadavek (například z webového serveru), je adresována na 198.60.42.12. Jak blok NAT pozná, jakou interní adresu má nahradit veřejná adresa společnosti? Toto je hlavní problém při používání překladu síťových adres. Pokud by v záhlaví IP paketu bylo volné pole, dalo by se použít k uložení adresy osoby, která požadavek odeslala. V záhlaví však zůstane nevyužit pouze jeden bit. V zásadě by se dalo vytvořit takové pole pro skutečnou zdrojovou adresu, ale to by vyžadovalo změnu IP kódu na všech počítačích přes internet. Toto není nejlepší řešení, zvláště pokud chceme najít rychlé řešení problému s nedostatečnými IP adresami.

Co se vlastně stalo, je to, co se stalo. Návrháři NAT si všimli, že většina užitečného zatížení paketů IP je buď TCP nebo UDP. Oba formáty mají záhlaví obsahující čísla zdrojového a cílového portu. Čísla portů jsou 16bitová celá čísla, která udávají, kde začíná a končí připojení TCP. Místo pro uložení čísla portu se používá jako pole potřebné pro fungování NAT.

Pokud si proces přeje navázat spojení TCP se vzdáleným procesem, naváže se na dostupný port TCP na svém vlastním počítači. Tento port se stane zdrojovým portem, který sděluje kódu TCP, kam mají při tomto připojení směrovat pakety. Proces také určuje cílový port. Cílový port říká, komu má být paket odeslán na vzdálené straně. Porty 0 až 1023 jsou vyhrazeny pro dobře známé služby. Například port 80 používají webové servery, takže na ně mohou cílit vzdálení klienti. Každá odchozí zpráva TCP obsahuje informace o zdrojovém a cílovém portu. Společně slouží k identifikaci procesů na obou koncích pomocí připojení.

Nakreslíme analogii, která poněkud objasní princip používání portů. Řekněme, že společnost má jednoho společného telefonní číslo... Když ho lidé vytočí, uslyší hlas operátora s otázkou, s kým by se chtěli spojit, a připojí je k příslušné pobočce. Hlavní telefonní číslo je analogické s IP adresou společnosti a rozšíření na obou koncích jsou analogická s porty. Adresování portů používá 16bitové pole, které identifikuje proces, který přijímá příchozí paket.

Pomocí pole Zdrojový port můžeme vyřešit problém se zobrazováním adres. Když odchozí paket dorazí do bloku NAT, zdrojová adresa formuláře 192.168.c.d se nahradí skutečnou IP adresou. Pole TCP Source Port je navíc nahrazeno indexem tabulky překladu bloků NAT, která obsahuje 65 536 položek. Každá položka obsahuje zdrojovou IP adresu a číslo zdrojového portu. Nakonec jsou kontrolní součty hlaviček TCP a IP přepočítány a vloženy do paketu. Je nutné nahradit pole Zdrojový port, protože počítače s místními adresami 10.0.0.1 a 10.0.0.2 mohou omylem chtít použít stejný port (například 5000). Samotné pole Zdrojový port tedy k jedinečné identifikaci procesu odesílatele nestačí.

Když paket dorazí do bloku NAT ze strany poskytovatele, načte se hodnota pole Zdrojový port záhlaví TCP. Používá se jako index tabulky mapování bloků NAT. Položka nalezená v této tabulce slouží k určení interní adresy IP a skutečného zdrojového portu TCP. Tyto dvě hodnoty jsou vloženy do balíčku. Poté se přepočítají kontrolní součty TCP a IP. Paket je předán hlavnímu routeru společnosti k běžnému doručení s adresou jako 192.168.y.z.

V případě ADSL nebo kabelového internetu lze v boji proti nedostatku adres použít překlad síťových adres. Adresy přiřazené uživatelům vypadají jako 10.x.y.z. Jakmile paket opustí doménu poskytovatele a přejde na internet, vstoupí do bloku NAT, který převede interní adresu na skutečnou IP adresu poskytovatele. Na zpáteční cestě se provede reverzní operace. V tomto smyslu pro zbytek internetu poskytovatel se svými zákazníky využívajícími ADSL a kabel: připojení se jeví jako jedna velká společnost.

Ačkoli výše popsané schéma částečně řeší problém s nedostatkem IP adres, mnoho přívrženců IP vidí NAT jako nějaký druh infekce, která se šíří po Zemi. A dají se pochopit.

Za prvé, samotný princip překladu síťových adres nezapadá do architektury IP, což znamená, že každá IP adresa jednoznačně identifikuje pouze jeden stroj na světě. Na této skutečnosti je postavena celá softwarová struktura internetu. Při překladu síťových adres se ukazuje, že tisíce počítačů mohou mít (a vlastně mají) adresu 10.0.0.1.

Za druhé, NAT transformuje internet ze sítě bez připojení na něco jako síť orientovanou na připojení. Problém je, že box NAT musí udržovat mapovací tabulku pro všechna připojení, která jdou přes něj. Zapamatování stavu připojení je otázkou sítí orientovaných na připojení, nikoli sítí bez připojení. Pokud se blok NAT přeruší a jeho mapovací tabulky se ztratí, můžete zapomenout na všechna připojení TCP, která jím procházejí. Pokud není k dispozici překlad síťových adres, selhání routeru nemá na aktivitu TCP žádný vliv. Proces odesílání jednoduše počká několik sekund a znovu odešle všechny nepotvrzené pakety. S NAT je internet stejně náchylný k selhání jako síť s přepínáním okruhů.

Zatřetí, NAT porušuje jedno ze základních pravidel pro vytváření vrstevnatých protokolů: vrstva k by neměla dělat žádné předpoklady o tom, jakou vrstvu k + 1 vložila do užitečného zatížení. Tento princip určuje nezávislost úrovní na sobě. Pokud TCP-2 někdy nahradí TCP, které má jiný formát záhlaví (například 32bitové adresování portů), pak překlad síťových adres selže. Celá myšlenka vrstvených protokolů spočívá v tom, že změny v jedné z vrstev nemohou žádným způsobem ovlivnit ostatní vrstvy. NAT tuto nezávislost ničí.

Začtvrté, procesy na internetu nemusí používat pouze TCP nebo UDP. Pokud se uživatel stroje A rozhodne přijít s novým protokolem transportní vrstvy pro komunikaci s uživatelem stroje B (lze to provést například u nějaké multimediální aplikace), pak se bude muset nějak vyrovnat s tím, že blok NAT nebude schopen správně zpracovat pole Zdrojový port TCP.

Za páté, některé aplikace vkládají do textu zpráv IP adresy. Příjemce je odtamtud získá a poté zpracuje. Protože NAT o této metodě adresování nic neví, nebude schopen správně zpracovávat pakety a jakékoli pokusy o použití těchto adres na vzdálené straně budou mít za následek selhání. Protokol FTP (File Transfer Protocol) používá tuto metodu a může odmítnout pracovat s překladem síťových adres, pokud nejsou přijata zvláštní opatření. Protokol internetové telefonie H.323 má také podobnou vlastnost. Je možné vylepšit metodu NAT a zajistit, aby správně fungovala s H.323, ale není možné ji upravit pokaždé, když se objeví nová aplikace.

Za šesté, protože pole Zdrojový port je 16bitové, lze na jednu IP adresu namapovat přibližně 65 536 adres místních počítačů. Ve skutečnosti je toto číslo o něco menší: prvních 4096 portů je vyhrazeno pro obchodní potřeby. Obecně platí, že pokud existuje více IP adres, každá může podporovat až 61 440 místních adres.

Tyto a další problémy související s překladem síťových adres jsou diskutovány v RFC 2993. Odpůrci NAT obecně tvrdí, že oprava nedostatku IP adres vytvořením dočasné opravy pouze brání skutečnému evolučnímu procesu migrace na IPv6. Pokud se ale vrátíme do reality, uvidíme, že ve většině případů je NAT prostě nepostradatelná věc, zejména pro malé kanceláře s počtem počítačů od několika do několika desítek. NAT lze implementovat interně na OS Linux pomocí

Dobře, zapomeňme na chvíli na tento text.
Obecně lze říci, že přístupové seznamy jsou různé:

Standard
- Rozšířeno
- Dynamické
- Reflexní
- Časové fáze

Dnes zaměříme pozornost na první dva a o všech si můžete podrobněji přečíst na tsiska.

Příchozí a odchozí provoz

Pro začátek si ujasněme jednu věc. Co je to příchozí a odchozí provoz? Budeme to v budoucnu potřebovat. Příchozí provoz je ten, který přichází do rozhraní zvenčí.

Odchozí je ten, který je odeslán z rozhraní ven.

Seznam přístupů můžete použít buď na příchozí provoz, pak se nechtěné pakety nedostanou ani na router a podle toho dále do sítě nebo na odchozí pakety přijdou na router, jsou jím zpracovány, dosáhnou cíle rozhraní a pouze na něj upustit.

Standardní přístupový seznam kontroluje pouze adresu odesílatele. Rozšířené - adresa odesílatele, adresa příjemce a port. Doporučuje se nastavit standardní seznamy ACL co nejblíže k příjemci (aby nedošlo ke snížení více, než je nutné), a rozšířené seznamy ACL blíže k odesílateli (aby se co nejrychleji snížil nežádoucí provoz).

Praxe

Pojďme rovnou cvičit. Na co bychom to omezili v naší malé síti Lift mi Up?

A) WEB server. Umožněte všem přístup na portu TCP 80 (protokol HTTP). Pro zařízení, ze kterého bude ovládání prováděno (máme správce), musíte otevřít telnet a ftp, ale my mu dáme plný přístup. Všechny ostatní světla zhasnou.

B) Souborový server. Měli bychom k němu dostat obyvatele Lift mi Up přes porty pro sdílené složky a vše ostatní přes FTP.

C) Poštovní server. Zde máme spuštěny SMTP a POP3, tj. TCP porty 25 a 110. Otevíráme také přístup správce pro správce. Blokujeme ostatní.

D) Pro budoucí server DNS musíte otevřít port UDP 53

E) Povolit zprávy ICMP do sítě serveru

E) Jelikož máme síť Other pro všechny lidi, kteří nejsou stranami, kteří nezadali FEO, VET a účetnictví, omezíme je všechny a poskytneme pouze určitý přístup (včetně nás a správce)

g) Opět platí, že do řídicí sítě by měl být vpuštěn pouze správce, a samozřejmě jeho milovaný.

G) Nebudeme stavět překážky v komunikaci mezi zaměstnanci oddělení.

a) Přístup na WEB server

Zde máme zásadu, která zakazuje vše, co není povoleno. Proto nyní musíme něco otevřít a vše ostatní zavřít.
Protože chráníme síť serverů, zavěsíme seznam také na rozhraní, které k nim směřuje, tj. Na FE0 / 0,3. Otázka je pouze na v nebo na ven musíme to udělat? Pokud nechceme odesílat pakety na servery, které již na routeru jsou, bude se jednat o odchozí provoz. To znamená, že cílové adresy (destinace) budou v síti serverů (z nichž vybereme, na který server bude provoz směřovat) a zdrojové adresy (zdroj) mohou být libovolné - jako z našeho firemní síť a z internetu.
Ještě jedna poznámka: jelikož budeme filtrovat podle cílové adresy (pro WEB server existují určitá pravidla, pro poštovní server určitá pravidla), pak potřebujeme rozšířený seznam řízení přístupu, což nám umožňuje pouze toto.

Pravidla v přístupovém seznamu jsou kontrolována v pořadí shora dolů až do prvního zápasu. Jakmile jedno z pravidel zafungovalo, bez ohledu na to, zda je to povolení nebo zamítnutí, kontrola se zastaví a zpracování provozu je založeno na aktivovaném pravidle.
To znamená, že pokud chceme chránit WEB server, musíme nejprve udělit povolení, protože pokud konfigurujeme v prvním řádku popřít jakékoli IP- pak to bude vždy fungovat a provoz nepůjde vůbec. Žádný- toto je speciální slovo, které znamená síťovou adresu a návratovou masku 0,0.0.0 0,0.0.0 a znamená, že absolutně všechny uzly z jakékoli sítě spadají pod toto pravidlo. Další speciální slovo je hostitel- to znamená masku 255.255.255.255 - tedy přesně jednu jedinou zadanou adresu.
První pravidlo: povolit přístup všem na portu 80


msk-arbat-gw1 (config-ext-nacl) # poznámka WEB
jakýkoli hostitel 172.16.0.2 ekv. 80

Dovolujeme ( povolení) TCP provoz z libovolného hostitele ( žádný) hostit ( hostitel- přesně jedna adresa) 172.16.0.2, adresováno na 80. port.
Pokoušíme se zavěsit tento přístupový seznam na rozhraní FE0 / 0,3:

msk-arbat-gw1 (config-subif) # ip access-group Servers-out ven

Zkontrolujeme na kterémkoli z našich připojených počítačů:

Jak vidíte, stránka se otevírá, ale co ping?

A tak z jakéhokoli jiného uzlu?

Faktem je, že po všech pravidlech v cisk ACL, implicitní popřít jakékoli IP(implicitní odmítnutí). Co to pro nás znamená? Jakýkoli paket, který opustí rozhraní a neodpovídá žádnému z pravidel v seznamu ACL, je implicitně odmítnut a je zahozen. To znamená, že alespoň ping, alespoň ftp, alespoň cokoli zde nebude fungovat.

Pojďme dále: je nutné poskytnout plný přístup k počítači, ze kterého bude ovládání prováděno. Toto bude počítač našeho administrátora s adresou 172.16.6.66 ze sítě Other.
Každé nové pravidlo se automaticky přidá na konec seznamu, pokud již existuje:

msk-arbat-gw1 (config) #
msk-arbat-gw1 (config-ext-nacl) # povolení tcp hostitel 172.16.6.66 hostitel 172.16.0.2 rozsah 20 ftp
msk-arbat-gw1 (config-ext-nacl) # allow tcp host 172.16.6.66 host 172.16.0.2 eq telnet

To je vše. Kontrolujeme z požadovaného uzlu (protože telnet není podporován servery v RT, kontrolujeme FTP):

To znamená, že zpráva FTP dorazila na router a měla by opustit rozhraní FE0 / 0,3. Směrovač zkontroluje a zjistí, že paket odpovídá pravidlu, které jsme přidali, a předá jej.

A z cizího uzlu

Paket FTP neodpovídá žádnému z pravidel, s výjimkou implicitního odmítnutí ip any any, a je zahozen.

b) Přístup k souborovému serveru

Zde by bylo nutné v první řadě rozhodnout, kdo bude „rezidentem“, kterému bude třeba poskytnout přístup. Samozřejmě se jedná o ty, kteří mají adresu ze sítě 172.16.0.0/16 - pouze jim bude udělen přístup.
Nyní se sdílenými složkami. Ve většině moderních systémů se k tomu již používá protokol SMB, který potřebuje port TCP 445. Ve starších verzích byl použit NetBios, který byl napájen třemi porty: UDP 137 a 138 a TCP 139. Po dohodě s naším administrátorem jsme nakonfiguruje port 445 (i když kontrola v RT samozřejmě nebude fungovat). Kromě toho však potřebujeme porty pro FTP - 20, 21 a nejen pro interní hostitele, ale také pro připojení z internetu:
msk-arbat-gw1 (config) # ip access-list extended Servers-out
msk-arbat-gw1 (config-ext-nacl) # povolení tcp 172.16.0.0 0.0.255.255 hostitel 172,16.0,3 ekv. 445
msk-arbat-gw1 (config-ext-nacl) # povolení tcp žádný hostitel 172.16.0.3 rozsah 20 21

Zde jsme stavbu znovu aplikovali rozsah 20 21- za účelem určení několika portů v jednom řádku. Pro FTP obecně nestačí pouze port 21. Faktem je, že pokud otevřete pouze jej, proběhne za vás autorizace, ale přenos souborů nikoli.

0,0.255.255 - maska ​​zástupných znaků. O tom, co to je, si povíme trochu později.

c) Přístup na poštovní server

Pokračujeme ve vývoji praxe - nyní s poštovním serverem. Jako součást stejného přístupového seznamu přidáváme nové záznamy, které potřebujeme.
Místo čísel portů pro široce používané protokoly můžete zadat jejich názvy:
msk-arbat-gw1 (config) # ip access-list extended Servers-out
msk-arbat-gw1 (config-ext-nacl) #permit tcp any host 172.16.0.4 eq pop3
msk-arbat-gw1 (config-ext-nacl) #permit tcp any host 172.16.0.4 eq smtp

d) DNS server

msk-arbat-gw1 (config) # ip access-list extended Servers-out
msk-arbat-gw1 (config-ext-nacl) # povolení udp 172,16,0,0 0,0,255,255 hostitel 172,16,0,5 ekv. 53

e) ICMP

Zbývá opravit situaci ping. Je v pořádku přidat pravidla na konec seznamu, ale je to nějak esteticky příjemné vidět je na začátku.
K tomu používáme jednoduchý cheat. K tomu můžete použít textový editor, například. Zkopírujte tam ACL kus ze show run a přidejte následující řádky:
žádný přístupový seznam IP rozšířený o výstup ze serveru
ip access-list extended Servers-out
povolit icmp jakýkoli
poznámka WEB



poznámka SOUBOR


poznámka MAIL


poznamenat DNS

V prvním řádku odstraníme stávající seznam, poté jej vytvoříme znovu a uvedeme všechna nová pravidla v pořadí, které potřebujeme. S příkazem ve třetím řádku jsme umožnili všem paketům ICMP přejít z libovolného hostitele na libovolného hostitele.

Poté stačí vše hromadně zkopírovat a vložit do konzoly. Rozhraní interpretuje každý řádek jako samostatný příkaz a provede jej. Proto jsme nahradili starý seznam novým.
Zkontrolujeme, zda existuje ping:

Dokonale.

Tento cheat je vhodný pro počáteční konfiguraci nebo pokud přesně víte, co děláte. V produkční síti při vzdálené konfiguraci ACL riskujete, že zůstanete bez přístupu ke konfigurovatelnému hardwaru.

Chcete -li vložit pravidlo na začátek nebo kamkoli chcete, můžete použít tento trik:
ip access-list extended Servers-out
1 povolení icmp jakýkoli

Každé pravidlo v seznamu je očíslováno určitým krokem, a pokud zadáte číslo před slovo povolení / odmítnutí, pravidlo se přidá nikoli na konec, ale na místo, které potřebujete. Tato funkce bohužel v RT nefunguje.
Pokud je to náhle nutné (všechna po sobě jdoucí čísla mezi pravidly jsou obsazena), můžete pravidla vždy přečíslovat (v tomto případě je číslo prvního pravidla 10 (první číslo) a přírůstek je 10):
iequ access-list resequence Servers-out 10 10

V důsledku toho bude přístupový seznam v síti serveru vypadat takto:
ip access-list extended Servers-out
povolit jakýkoli icmp
poznámka WEB
povolit tcp libovolnému hostiteli 172.16.0.2 eq www
povolení tcp host 172.16.6.66 hostitel 172.16.0.2 rozsah 20 ftp
povolení tcp host 172.16.6.66 hostitel 172.16.0.2 ekv telnet
poznámka SOUBOR
povolení tcp 172.16.0.0 0.0.255.255 hostitel 172.16.0.3 ekv. 445
povolení tcp libovolnému hostiteli 172.16.0.3 rozsah 20 21
poznámka MAIL
povolit tcp libovolnému hostiteli 172.16.0.4 eq pop3
povolit tcp libovolnému hostiteli 172.16.0.4 ekv. smtp
poznamenat DNS
povolení udp 172.16.0.0 0.0.255.255 hostitel 172.16.0.5 ekv. 53

Náš administrátor má nyní přístup pouze k WEB serveru. Poskytněte mu plný přístup k celé síti. Toto je první domácí úkol.

f) Práva uživatelů z jiné sítě

Až dosud jsme potřebovali drž se venku někoho někde, takže jsme věnovali pozornost cílové adrese a zavěsili přístupový seznam pro odchozí provoz z rozhraní.

Nyní potřebujeme nepustit: Žádné požadavky z počítačů v jiné síti by neměly přesahovat hranice. Samozřejmě kromě těch, které výslovně povolujeme.

msk-arbat-gw1 (config) # ip přístupový seznam rozšířen Other-in

msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 any



Zde jsme nejprve nemohli všem zakázat a pak povolit elitu, protože absolutně všechny balíčky by spadaly pod pravidlo popřít jakékoli IP a povolení by vůbec nefungoval.
Aplikujeme na rozhraní. Tentokrát u vchodu:
msk-arbat-gw1 (config) #int fa0 / 0.104
msk-arbat-gw1 (config-subif) #ip skupina přístupů Other-in v

to znamená, že všechny IP pakety z hostitele s adresou 172.16.6.61 nebo 172.16.6.66 mohou být odesílány kamkoli jsou určeny. Proč i zde používáme rozšířený seznam přístupů? Nakonec by se zdálo, že kontrolujeme pouze adresu odesílatele. Protože jsme administrátorovi poskytli plný přístup, ale například host společnosti Lift mi Up, který se dostane do stejné sítě, nemá absolutně žádný přístup k čemukoli kromě internetu.

g) Řídicí síť

Nic složitého. Pravidlo bude vypadat takto:
msk-arbat-gw1 (config) # ip access-list extended Management-out
msk-arbat-gw1 (config-ext-nacl) # poznámka IAM
msk-arbat-gw1 (config-ext-nacl) # povolení IP hostitele 172.16.6.61 172.16.1.0 0.0.0.255
msk-arbat-gw1 (config-ext-nacl) # poznámka ADMIN
msk-arbat-gw1 (config-ext-nacl) # povolení IP hostitele 172.16.6.66 172.16.1.0 0.0.0.255

Tento ACL se aplikuje na rozhraní FE 0 / 0,2:
msk-arbat-gw1 (config) # int fa0 / 0,2
msk-arbat-gw1 (config-subif) #ip skupina přístupu access-out

g) Žádné další omezení

Připraven

Maska a reverzní maska

Až dosud jsme bez vysvětlení dávali podivný parametr tvaru 0,0.255.255, který podezřele připomíná masku podsítě.
Trochu složité na pochopení, ale právě toto - obrácená maska ​​- se používá k určení hostitelů, kteří budou odpovídat pravidlu.
Abyste pochopili, co je to reverzní maska, musíte vědět, co je to běžná maska.

Začněme nejjednodušším příkladem.

Běžná síť s 256 adresami, například 172.16.5.0/24. Co znamená tento záznam?
A to znamená přesně následující

IP adresa. Desetinná notace 172 16 5 0
IP adresa. Binární zápis 10101100 00010000 00000101 00000000
11111111 11111111 11111111 00000000
255 255 255 0

IP adresa je 32bitový parametr rozdělený na 4 části, které jste zvyklí vidět v desítkové notaci.
Maska podsítě je také 32 bitů dlouhá - je to vlastně šablona, ​​vzorník, ke kterému patří adresa podsítě. Tam, kde jsou v masce jedničky, se hodnota nemůže změnit, to znamená, že část 172.16.5 je zcela beze změny a bude stejná pro všechny hostitele v této podsíti, ale tu, kde se mění nuly.
To znamená, že v našem příkladu je 172.16.5.0/24 síťová adresa a hostitelé budou 172.16.5.1-172.16.5.254 (vysílá se posledních 255), protože 00000001 je 1 a 11111110 je 254 (mluvíme o posledním oktetu adresy). / 24 znamená, že délka masky je 24 bitů, to znamená, že máme 24 - nezměněná část a 8 nul.
Jiný případ je, když máme masku, například 30 bitů, ne 24.
Například 172.16.2.4/30. Napíšeme to takto:

IP adresa. Desetinná notace 172 16 2 4
IP adresa. Binární zápis 10101100 00010000 00000010 00000100
Maska podsítě. Binární zápis 11111111 11111111 11111111 11111100
Maska podsítě. Desetinná notace 255 255 255 252

Jak vidíte, v této podsíti se mohou změnit pouze poslední dva bity. Poslední oktet může mít následující 4 hodnoty:
00000100 - adresa podsítě (4 v desítkové soustavě)
00000101 - adresa uzlu (5)
00000110 - adresa uzlu (6)
00000111 - vysílání (7)
Všechno mimo to je už jiná podsíť

To znamená, že nyní by vám mělo být trochu jasné, že maska ​​podsítě je posloupnost 32 bitů, kde nejprve existují jedny, což znamená adresu podsítě, pak nuly, což znamená adresu hostitele. V tomto případě nelze střídat nuly a jedničky v masce. To znamená, že maska ​​je 11111111.11100000.11110111.00000000 nemožné

Co je zástupný znak?
Pro drtivou většinu správců a některých inženýrů to není nic jiného než inverze k obvyklé masce. To znamená, že nuly nejprve nastaví adresu části, která se musí shodovat, a jedničky naopak volnou část.
To znamená, že v prvním příkladu, který jsme vzali, pokud chcete filtrovat všechny hostitele z podsítě 172.16.5.0/24, pak nastavíte pravidlo v seznamu Přístup:
…. 172.16.5.0 0.0.0.255
Protože zpětná maska ​​bude vypadat takto:

00000000.00000000.00000000.11111111

V druhém příkladu se sítí 172.16.2.4/30 bude inverzní maska ​​vypadat takto: 30 nul a dvě jedničky:

Reverzní maska. Binární zápis 00000000 00000000 00000000 00000011
Reverzní maska. Desetinná notace 0 0 0 3

Parametr v přístupovém seznamu bude tedy vypadat takto:
…. 172.16.2.4 0.0.0.3
Později, když sníte psa na chybných výpočtech masek a inverzních masek, zapamatujete si nejpoužívanější čísla, počet hostitelů v konkrétní masce, pochopíte, že v popsaných situacích se získá poslední oktet inverzní masky odečtením posledního oktetu pravidelné masky od 255 (255-252 = 3) atd. Do té doby musíte tvrdě pracovat a počítat)

Ale ve skutečnosti je reverzní maska ​​poněkud bohatší nástroj, zde můžete kombinovat adresy ve stejné podsíti nebo dokonce kombinovat podsítě, ale hlavní rozdíl je v tom, že můžete střídat nuly a jedničky. To vám například umožňuje filtrovat konkrétního hostitele (nebo skupinu) ve více podsítích pomocí jednoho řádku.

Příklad 1

Vzhledem k: síť 172.16.16.0/24
Nezbytné: odfiltrujte prvních 64 adres (172.16.16.0-172.16.16.63)
Řešení: 172.16.16.0 0.0.0.63

Příklad 2

Vzhledem k: sítě 172.16.16.0/24 a 172.16.17.0/24
Nezbytné: filtrovat adresy z obou sítí
Řešení: 172.16.16.0 0.0.1.255

Příklad 3

Vzhledem k: Sítě 172.16.0.0-172.16.255.0
Nezbytné: filtrovat hostitele s adresou 4 ze všech podsítí
Řešení: 172.16.16.0 0.0.255.4

Práce ACL na obrázcích

Hypotetická síť:

1) Na routeru RT1 na rozhraní FE0 / 1 je povoleno vstupovat vše kromě ICMP.

2) Na routeru RT2 jsou SSH a TELNET na rozhraní FE0 / 1 deaktivovány.

Testy
klikací
1) Ping z PC1 na Server1

2) TELNET z PC1 na Server1

3) SSH z PC1 na Server2

4) Ping ze serveru Server2 na PC1

Doplňky

1) Pravidla pro odchozí provoz (out) nebudou filtrovat provoz samotného zařízení. To znamená, že pokud potřebujete někam odepřít přístup samotné tsiska, pak budete muset na tomto rozhraní filtrovat příchozí provoz (vrátit provoz, odkud potřebujete přístup odepřít).

2) C ACL by měl být opatrnější. S malou chybou v pravidle, špatným pořadím konfigurace nebo dokonce špatně promyšleným seznamem můžete být ponecháni bez přístupu k zařízení.
Například chcete zablokovat přístup kdekoli pro síť 172.16.6.0/24, kromě vaší adresy 172.16.6.61, a nastavit pravidla takto:

popřít jakýkoli ip 172.16.6.0 0.0.0.255
povolit ip host 172.16.6.61 libovolný

Jakmile použijete ACL na rozhraní, okamžitě ztratíte přístup k routeru, protože spadáte pod první pravidlo a druhé ani není zaškrtnuto.
Druhá nepříjemná situace, která se vám může stát, je, že provoz, který se neměl dostat pod ACL, bude.
Představte si tuto situaci: v naší serverovně máme pasivní FTP server. Pro přístup k němu jste otevřeli port 21 v ACL Servery-out... Po navázání počátečního připojení server FTP sdělí klientovi port, na kterém je připraven odesílat / přijímat soubory, například 1523. Klient se na tomto portu pokouší navázat připojení TCP, ale narazí na ACL Servers -out, kde takové oprávnění není - tím příběh o úspěšném přenosu končí. V našem příkladu výše, kde jsme nakonfigurovali přístup k souborovému serveru, jsme otevřeli přístup pouze 20. a 21., protože to pro příklad stačí. V reálném životě musíte hrát. Několik příkladů konfigurace ACL pro běžné případy.

3) Velmi podobný a zajímavý problém vyplývá z druhého bodu.
Napadlo vás například zavěsit následující ACL na internetové rozhraní:

access-list out povolení tcp host 1.1.1.1 host 2.2.2.2 eq 80
přístupový seznam v povolení tcp host 2.2.2.2 libovolný ekv. 80

Zdá se to: hostitel s adresou 1.1.1.1 má povolený přístup na 80. portu k serveru 2.2.2.2 (první pravidlo). A zpět ze serveru 2.2.2.2 připojení uvnitř je povoleno.
Ale nuance zde je, že počítač 1.1.1.1 naváže připojení na 80. portu, ale z nějakého jiného, ​​například 1054, to znamená, že paket odpovědí ze serveru dorazí do soketu 1.1.1.1:1054, nespadá podle pravidla v ACL na IN a vyřazeno z důvodu implicitního odmítnutí ip any.
Chcete -li se takové situaci vyhnout a neotevírat porty s celou partou, můžete se k tomuto triku uchýlit v ACL na:
povolit hostiteli tcp 2.2.2.2 jakýkoli zavedený.

Podrobnosti o takovém řešení v jednom z následujících článků.

4) Když mluvíme o moderním světě, nemůžete obejít takový nástroj, jako jsou skupiny objektů (Object-group).

Řekněme, že potřebujete sestavit seznam ACL, který na internet vydá tři konkrétní adresy na třech stejných portech s perspektivou rozšíření počtu adres a portů. Jak to vypadá bez znalosti skupin objektů:

ip access-list extended TO-INTERNET
povolit hostiteli TCP 172.16.6.66 libovolný ekvivalent 80
povolit hostiteli TCP 172.16.6.66 libovolný ekvivalent 8080
povolení tcp host 172.16.6.66 libovolný ekv. 443

Povolit hostiteli TCP 172.16.6.67 libovolný ekvivalent 80
povolit hostiteli TCP 172.16.6.67 libovolný ekvivalent 8080
povolení tcp host 172.16.6.67 libovolný ekv. 443

Povolit hostiteli TCP 172.16.6.68 libovolný ekvivalent 80
povolit hostiteli TCP 172.16.6.68 libovolný ekvivalent 8080
povolit hostiteli TCP 172.16.6.68 libovolný eq 443


S rostoucím počtem parametrů je udržování takového ACL stále obtížnější a při konfiguraci je snadné dělat chyby.
Ale pokud se obrátíme na skupiny objektů, pak to má následující formu:
služba skupiny objektů INET-PORTS
popis Porty povolené pro některé hostitele
tcp ekv. www
tcp ekv. 8080
tcp ekv. 443

Síť objektových skupin HOSTS-TO-INET
popis Hostitelé mohou procházet síť
hostitel 172.16.6.66
hostitel 172.16.6.67
hostitel 172.16.6.68

Rozšířený přístupový seznam IP INET-OUT
povolit libovolnou skupinu objektů INET-PORTS skupinu objektů HOSTS-TO-INET


na první pohled to vypadá trochu hrozivě, ale když se na to podíváte, je to velmi výhodné.

4) Velmi užitečné informace pro řešení potíží lze získat z výstupu příkazu zobrazit přístupové seznamy IP% název ACL%... Kromě skutečného seznamu pravidel pro zadaný seznam ACL tento příkaz zobrazuje počet shod pro každé pravidlo.

msk-arbat-gw1 # sh ip přístupové seznamy nat-inet
Rozšířený seznam přístupových IP adres nat-inet





(4 shody)



A přidání na konci jakéhokoli pravidla log, budeme moci přijímat zprávy o každém zápase v konzole. (to druhé nefunguje v PT)

NAT

Překlad síťových adres je nepostradatelným nástrojem na farmě od roku 1994. Mnoho relací o tom je přerušeno a pakety jsou ztraceny.
Potřebujete to nejčastěji k připojení místní sítě k internetu. Faktem je, že teoreticky existuje 255 * 255 * 255 * 255 = 4 228 250 625,4 miliard adres. I kdyby měl každý obyvatel planety jen jeden počítač, už by nebylo dost adres. A tady, kromě toho, že žehličky nejsou připojeny k internetu. Chytří lidé si to uvědomili už na začátku 90. let a jako dočasné řešení navrhli rozdělit adresní prostor na veřejný (bílý) a soukromý (soukromý, šedý).
Ty zahrnují tři rozsahy:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Můžete je volně používat ve své soukromé síti, a proto se samozřejmě budou opakovat. A co jedinečnost? Komu odpoví WEB server, který obdržel požadavek se zpáteční adresou 192.168.1.1? Rostelecom? Společnosti Tatneft? Nebo váš pokoj Dink? Na velkém internetu nikdo neví nic o soukromých sítích - nejsou směrovány.
Zde vstupuje na scénu NAT. Celkově je to podvod, nastavení. Na tlačném zařízení je vaše soukromá adresa, zhruba řečeno, jednoduše nahrazena bílou adresou, která se objeví dále v paketu, zatímco putuje na WEB server. Bílé adresy jsou ale velmi dobře směrovány a paket se určitě vrátí zpět do pulzujícího zařízení.
Ale jak to zase pochopí, co s tím dál? Tady se tím budeme zabývat.

Typy NAT

Statický

V tomto případě je jedna interní adresa převedena na jednu externí. A současně budou všechny požadavky přicházející na externí adresu vysílány na interní. Jako by tento hostitel byl vlastníkem této bílé IP adresy.

Konfigurováno následujícím příkazem:

Router (config) # ip nat inside source static 172.16.6.5 198.51.100.2

Co se děje:
1) Uzel 172.16.6.5 adresuje WEB server. Odesílá IP paket s adresou 192.0.2.2 jako adresou příjemce a 172.16.6.5 jako odesílatelem.

2) V podnikové síti je paket doručen na bránu 172.16.6.1, kde je nakonfigurován NAT

3) Podle nakonfigurovaného příkazu router odebere aktuální hlavičku IP a změní ji na novou, kde se již jako adresa odesílatele zobrazuje bílá adresa 198.51.100.2.


4) Přes velký internet se aktualizovaný balíček dostane na server 192.0.2.2.

5) Vidí, že odpověď musí být odeslána na adresu 198.51.100.2, a připraví IP paket odpovědi. Jako adresa odesílatele je skutečná adresa serveru 192.0.2.2, cílová adresa je 198.51.100.2


6) Paket letí zpět přes internet, a nikoli skutečnost, že stejným způsobem.

7) Zařízení pro vytáčení ukazuje, že všechny požadavky na adresu 198.51.100.2 musí být přesměrovány na 172.16.6.5. Směrovač znovu odstraní segment TCP skrytý uvnitř a nastaví nové záhlaví IP (zdrojová adresa se nezmění, cílová adresa je 172.16.6.5).


8) Na vnitřní síti je paket vrácen iniciátorovi, který ani neví, jaké zázraky se mu děly na hranici.
A tak to bude se všemi.
Navíc, pokud je připojení zahájeno z internetu, pakety automaticky procházejí spouštěcím zařízením do interního hostitele.

Tento přístup je užitečný, pokud máte v síti server, který potřebuje plný přístup zvenčí. Tuto možnost samozřejmě nemůžete použít, pokud chcete uvolnit tři sta hostitelů na internet prostřednictvím jedné adresy. Tato možnost NAT vám nepomůže zachovat bílé IP adresy, ale přesto může být užitečná.

Dynamický

Máte fond bílých adres, například vám váš poskytovatel přidělil síť 198.51.100.0/28 se 16 adresami. Dvě z nich (první a poslední) jsou síťová adresa a vysílací adresa, další dvě adresy jsou přiřazeny zařízení k zajištění směrování. Zbývajících 12 adres můžete použít pro NAT a uvolnit pomocí nich své uživatele.
Situace je podobná jako u statického NAT - jedna soukromá adresa je přeložena na jednu externí - nyní však externí adresa není jasně fixována, ale bude vybrána dynamicky ze zadaného rozsahu.
Je nakonfigurován takto:
Směrovač (konfigurace) #ip nat pool lol_pool 198.51.100.3 198.51.103.14

Určil fond (rozsah) veřejných adres, ze kterých bude adresa vybrána pro natování
Router (config) # access-list 100 allow ip 172.16.6.0 0.0.0.255 any

Nastavili jsme přístupový seznam, který umožňuje všem paketům se zdrojovou adresou 172.16.6.x projít, kam NS pohybuje v rozmezí 0-255.
Router (config) #ip nat uvnitř seznamu zdrojů 100 pool lol_pool

Tímto příkazem se připojíme k vytvořenému ACL a fondu.

Tato možnost také není univerzální, také nemůžete svých 300 uživatelů pustit na internet, pokud nemáte 300 externích adres. Jakmile jsou bílé adresy vyčerpány, nikdo nový nebude mít přístup k internetu. Současně budou fungovat ti uživatelé, kterým se již podařilo získat externí adresu pro sebe. Tým vám pomůže zahodit všechna aktuální vysílání a bezplatné externí adresy. jasný překlad IP adresy *
Kromě dynamického přidělování externích adres se tento dynamický NAT liší od statického NAT tím, že bez samostatné konfigurace přesměrování portů již není možné externí připojení k jedné z adres fondu.

Mnoho ku jedné

Další typ má několik názvů: Přetížení NAT, Překlad adres portů (PAT), Maskování IP adres, NAT NAT typu mnoho k jednomu.
Příjmení mluví samo za sebe - přes jednu externí adresu se do světa vydává mnoho soukromých. To vám umožní vyřešit problém s nedostatkem externích adres a vypustit všechny do světa.
Zde by bylo nutné podat vysvětlení, jak to funguje. Lze si představit, jak jsou dvě soukromé adresy přeloženy do jedné, ale jak router porozumí tomu, kdo potřebuje přeposlat paket vrácený z internetu na tuto adresu?
Všechno je velmi jednoduché:
Předpokládejme, že do ovladače přicházejí pakety od dvou hostitelů ve vnitřní síti. Oba s požadavkem na WEB server 192.0.2.2.
Data od hostitelů vypadají takto:

Směrovač odhalí IP paket od prvního hostitele, extrahuje z něj segment TCP, vytiskne jej a zjistí, ze kterého portu se navazuje připojení. Má externí adresu 198.51.100.2, na kterou se změní adresa z vnitřní sítě.
Poté zvolí volný port, například 11874. A co bude dělat dál? Sbalí všechna data aplikační vrstvy do nového segmentu TCP, kde 80 zůstane jako cílový port (pro něj čeká WEB server připojení) a port odesílatele se změní z 23761 na 11874. Tento segment TCP je zapouzdřen do nový IP paket, kde se IP adresa odesílatele změní ze 172.16.6.5 na 198.51.100.2.
Totéž se stane s paketem z druhého hostitele, je vybrán pouze další volný port, například 11875. „Volný“ znamená, že ještě není zaneprázdněn jinými takovými připojeními.
Data odeslaná na internet budou nyní vypadat takto.

Do své tabulky NAT zadává data odesílatelů a příjemců

Pro WEB server jsou to dva zcela odlišné požadavky, které musí každý zpracovat samostatně. Poté odešle odpověď, která vypadá takto:

Když jeden z těchto paketů dosáhne našeho routeru, přiřadí data v tomto paketu k jeho záznamům v tabulce NAT. Pokud je nalezena shoda, dojde k opačnému postupu - paket a segment TCP se vrátí do původních parametrů pouze jako cíl:

A nyní jsou pakety doručovány po vnitřní síti iniciačním počítačům, kteří ani nevědí, že někde byla jejich data na hranicích tak tvrdě zpracována.

Každý z vašich požadavků je samostatné připojení. To znamená, že jste se pokusili otevřít WEBovou stránku - jedná se o protokol HTTP využívající port 80. K tomu musí váš počítač navázat relaci TCP se vzdáleným serverem. Taková relace (TCP nebo UDP) je definována dvěma sokety: místní IP adresa: místní port a vzdálená IP adresa: vzdálený port. V normální situaci máte jedno připojení počítač-server, v případě NAT budou dvě připojení: router-server a počítač si myslí, že má relaci počítač-server.

Nastavení se mírně liší: s přetížením dalšího slova:

Router (config) # access-list 101 permit 172.16.4.0 0.0.0.255
Router (config) #ip nat uvnitř seznamu zdrojů 101 rozhraní fa0 / 1 přetížení

Současně je samozřejmě možné konfigurovat fond adres:
Směrovač (konfigurace) #ip nat pool lol_pool 198.51.100.2 198.51.103.14
Router (config) # access-list 100 povolení 172.16.6.0 0.0.0.255
Router (config) #ip nat uvnitř seznamu zdrojů 100 pool lol_pool přetížení

Předávání portů

Jinak se také říká přesměrování portů nebo mapování.
Když jsme poprvé začali hovořit o NAT, měli jsme individuální překlad a všechny požadavky přicházející zvenčí byly automaticky přesměrovány na interního hostitele. Tímto způsobem by bylo možné vystavit server mimo internet.
Pokud ale takovou možnost nemáte - jste omezeni bílými adresami, nebo ji nechcete vystavit navenek s celou partou portů, co dělat?
Můžete zadat, aby všechny požadavky přicházející na konkrétní bílou adresu a konkrétní port routeru byly přesměrovány na správný port požadované interní adresy.
Router (config) #ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80 rozšiřitelný

Použití tohoto příkazu znamená, že požadavek TCP z Internetu na adresu 198.51.100.2 na portu 80 bude přesměrován na interní adresu 172.16.0.2 na stejném 80. portu. Samozřejmě můžete také přeposílat UDP a přesměrovat z jednoho portu na druhý. To může být užitečné například v případě, že máte dva počítače, ke kterým potřebujete přístup přes RDP zvenčí. RDP používá port 3389. Stejný port nemůžete přeposlat na různé hostitele (při použití stejné externí adresy). Proto můžete provést toto:
Směrovač (konfigurace) # IP nat uvnitř zdroje statický tcp 172.16.6.61 3389 198.51.100.2 3389
Směrovač (konfigurace) # IP nat uvnitř zdroje statický tcp 172.16.6.66 3389 198.51.100.2 3398

Poté, abyste se dostali k počítači 172.16.6.61, spusťte relaci RDP na portu 198.51.100.2:3389 a 172.16.6.66 - 198.51.100.2:3398. Router sám rozhází vše, kde má být.

Mimochodem, tento příkaz je speciální případ úplně prvního: ip nat inside source static 172.16.6.66 198.51.100.2. Pouze v tomto případě mluvíme o předávání veškerého provozu a v našich příkladech o konkrétních portech protokolu TCP.

Takto NAT funguje obecně. O jeho vlastnostech, výhodách / nevýhodách bylo napsáno mnoho článků, ale nelze je ignorovat.

Slabé stránky a silné stránky NAT

+

- Především NAT ukládá veřejné IP adresy. Ve skutečnosti to bylo vytvořeno. Prostřednictvím jedné adresy je teoreticky možné vydat více než 65 000 šedých adres (podle počtu portů).
- Za druhé„PAT a dynamický NAT je do určité míry bránou firewall, která brání externím připojením dosáhnout koncových počítačů, které nemusí mít vlastní bránu firewall a antivirus. Faktem je, že pokud balíček zvenčí dorazí k utahovacímu zařízení, které zde není očekáváno nebo povoleno, je jednoduše vyřazeno.
Aby byl paket přeskočen a zpracován, musí být splněny následující podmínky:
1) V tabulce NAT musí být záznam pro tuto externí adresu, zadaný jako adresa odesílatele v paketu
A
2) Port odesílatele v paketu musí odpovídat portu pro tuto bílou adresu v záznamu
A
3) Cílový port v paketu je stejný jako port v záznamu.
NEBO
Předávání portů je nakonfigurováno.
Nepotřebujete však považovat NAT přesně za firewall - to není nic jiného než další bonus.

- Za třetí, NAT skrývá vnitřní strukturu vaší sítě před zvědavýma očima - při sledování trasy zvenčí neuvidíte nic mimo tlačné zařízení.

-

NAT má určité nevýhody. Ty nejhmatatelnější jsou snad následující:
- Některé protokoly nemohou fungovat přes NAT bez berlí. Například protokoly FTP nebo tunelování (navzdory tomu, jak jednoduše jsem nastavil FTP v laboratoři, v reálném životě to může způsobit spoustu problémů)
- Další problém spočívá v tom, že z jedné adresy je na jeden server mnoho požadavků. Mnozí toho byli svědky, když jdete na nějaký Rapidshare a on říká, že už tam bylo spojení z vaší IP, myslíte si, že „lže, pes“, ale váš soused už saje. Ze stejného důvodu byly problémy s ICQ, kdy se servery odmítly zaregistrovat.
- Problém nyní není příliš naléhavý: zatížení procesoru a paměti RAM. Vzhledem k tomu, že množství práce je ve srovnání s jednoduchým směrováním poměrně velké (je třeba se nejen podívat na záhlaví IP, musíte jej odstranit, odstranit záhlaví TCP, přidat jej do tabulky, upevnit nová záhlaví) v malých kancelářích s tím jsou problémy.
Na takovou situaci jsem narazil.
Jeden z možné řešení- přesunout funkci NAT na samostatný počítač nebo na specializované zařízení, například Cisco ASA.
Pro velké hráče, jejichž routery mají plné zobrazení 3-4 BGP, to nyní není problém.

Co ještě potřebujete vědět?
- NAT se používá hlavně k poskytování přístupu k internetu hostitelům se soukromými adresami. Existuje ale i další využití - propojení mezi dvěma soukromými sítěmi s překrývajícími se adresními prostory.
Například vaše společnost kupuje pobočku v Aktyubinsku. Vaše adresa je 10.0.0.0-10.1.255.255 a oni mají 10.1.1.0-10.1.10.255. Rozsahy se jasně překrývají, nebudete moci konfigurovat směrování, protože stejná adresa se může objevit v Aktyubinsku a ve vašem sídle.
V tomto případě je NAT nakonfigurován na křižovatce. Protože nemáme žádné šedé adresy, můžeme například vybrat rozsah 10.2.1.0-10.2.10.255 a vysílat osobní vysílání:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

Ve velkých hračkách pro dospělé může být NAT implementován na samostatné desce (a často je) a bez ní nebude fungovat. A na kancelářských žlázách naopak téměř vždy existuje.

S rozšířeným přijetím IPv6 se potřeba NAT zmenší. Již nyní se velcí zákazníci začínají zajímat o funkčnost NAT64 - to je, když máte přístup do světa přes IPv4 a vnitřní síť už je na IPv6

Samozřejmě, toto je jen povrchní pohled na NAT a stále existuje moře nuancí, ve kterých vám sebevzdělávání pomůže neutápět se.

Praxe NAT

Co od nás realita vyžaduje?
1) Řídicí síť nemá vůbec žádný přístup k internetu
2) Hostitelé ze sítě odborného vzdělávání a přípravy mají přístup pouze ke specializovaným webům, například Linkmeup.ru
3) Milé dámy z účetního oddělení musí proříznout okno do světa klientských bank.
4) FEO by nemělo být nikde vydáno, s výjimkou finančního ředitele
5) V jiné síti náš počítač a počítač správce - poskytneme jim plný přístup k internetu. Všechny ostatní lze otevřít na základě písemné žádosti.
6) Nezapomínejme na pobočky v Petrohradě a Kemerově. Pro jednoduchost nakonfigurujeme plný přístup pro enikis z těchto podsítí.
7) Se servery samostatná píseň. Nakonfigurujeme pro ně přesměrování portů. Vše, co potřebujeme:
a) WEB server musí být k dispozici na portu 80
b) Poštovní server 25. a 110
c) Souborový server je přístupný ze světa prostřednictvím FTP.
8) Počítače správce a náš musí být přístupné z internetu prostřednictvím protokolu RDP. Ve skutečnosti je to špatný způsob - pro vzdálené připojení musíte použít připojení VPN a již být v místní síti používat RDP, ale toto je téma pro úplně jiný článek.

Nejprve si připravíme testovací web:

Připojení k internetu bude organizováno prostřednictvím stávajícího odkazu poskytovaného poskytovatelem.
Jde do sítě poskytovatele. Připomínáme, že vše v tomto cloudu je abstraktní síť, která ve skutečnosti může sestávat z desítek routerů a stovek přepínačů. Potřebujeme ale něco zvládnutelného a předvídatelného, ​​proto jsme sem dali další router. Na jedné straně je na něj odkaz z přepínače, na druhé straně je server na internetu.

Potřebujeme následující servery:
1. Dvě klientské banky pro účetní (sperbank.ru, mmm-bank.ru)
2. Linkmeup.ru pro PTOshniki
3. Yandex (yandex.ru)

Pro takové připojení zvýšíme další vlan na msk-arbat-gw1. Jeho číslo je samozřejmě v souladu s poskytovatelem. Nechte to být VLAN 6
Předpokládejme, že nám to poskytovatel poskytne podsíť 198.51.100.0/28... První dvě adresy slouží k uspořádání odkazu (198.51.100.1 a 198.51.100.2) a zbytek používáme jako fond pro NAT. Vůbec nikdo nám však nebrání používat adresu 198.51.100.2 pro fond. Tak to udělejme: fond: 198.51.100.2-198.51.100.14
Pro jednoduchost předpokládejme, že naše veřejné servery jsou ve stejné podsíti:
192.0.2.0/24 .
Už víte, jak nastavit odkaz a adresy.
Jelikož máme v síti poskytovatele pouze jeden router a všechny sítě jsou k němu přímo připojeny, není potřeba směrování konfigurovat.
Náš msk-arbat-gw1 ale potřebuje vědět, kam posílat pakety na internet, takže potřebujeme výchozí trasu:

msk-arbat-gw1 (config) # ip route 0.0.0.0 0.0.0.0 198.51.100.1

Nyní v pořádku

Nejprve nastavíme fond adres

msk-arbat-gw1 (config) # ip nat pool main_pool 198.51.100.2 198.51.100.14 síťová maska ​​255.255.255.240

Nyní shromažďujeme ACL:
msk-arbat-gw1 (config) # ip access-list extended nat-inet

1) Řídicí síť

nemá vůbec přístup k internetu
Připraven

2) Hostitelé ze sítě odborného vzdělávání a přípravy

Máte přístup pouze ke specializovaným webům, například Linkmeup.ru
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 ekv. 80

3) Účetnictví

Poskytujeme přístup všem hostitelům na obou serverech
msk-arbat-gw1 (config-ext-nacl) # allow ip 172.16.5.0 0.0.0.255 host 192.0.2.3
msk-arbat-gw1 (config-ext-nacl) # allow ip 172.16.5.0 0.0.0.255 host 192.0.2.4

4) FEO

Povolení dáváme pouze finančnímu řediteli - toto je pouze jeden hostitel.
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.4.123 any

5) Jiné

Naše počítače s plným přístupem
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 any
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.66 any

6) Pobočky v Petrohradě a Kemerově

Adresy Enikiev nechť jsou stejné: 172.16.x.222
msk-arbat-gw1 (config-ext-nacl) # povolení IP hostitele 172.16.16.222 libovolné
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.17.222 any
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.24.222 any

Takto nyní vypadá ACL v plném rozsahu:
ip access-list rozšířený nat-inet
poznámka PTO
povolení tcp 172.16.3.0 0.0.0.255 hostitel 192.0.2.2 ekv. www
poznámka ÚČETNICTVÍ
povolení ip 172.16.5.0 0.0.0.255 hostitel 192.0.2.3
povolit ip 172.16.5.0 0.0.0.255 hostitel 192.0.2.4
poznámka FEO
povolit IP hostitele 172.16.4.123 jakýkoli
poznámka IAM
povolit ip host 172.16.6.61 libovolný
poznámka ADMIN
povolení ip host 172.16.6.66 libovolný
poznámka SPB_VSL_ISLAND
povolit ip host 172.16.16.222 libovolný
poznámka SPB_OZERKI
povolit IP hostitele 172.16.17.222 jakýkoli
poznámka KMR
povolit IP hostitele 172.16.24.222 jakýkoli

Zahájení:

msk-arbat-gw1 (config) # ip nat uvnitř seznamu zdrojů nat-inet pool main_pool přetížení

Štěstí však nebude úplné bez přizpůsobení rozhraní:
Na externím rozhraní musíte zadat příkaz ip nat venku
Vnitřní: ip nat uvnitř
msk-arbat-gw1 (config) # int fa0 / 0.101
msk-arbat-gw1 (config) # int fa0 / 0,102
msk-arbat-gw1 (config-subif) # ip nat uvnitř
msk-arbat-gw1 (config) # int fa0 / 0.103
msk-arbat-gw1 (config-subif) # ip nat uvnitř
msk-arbat-gw1 (config) # int fa0 / 0.104
msk-arbat-gw1 (config-subif) # ip nat uvnitř

Msk-arbat-gw1 (config) # int fa0 / 1.6
msk-arbat-gw1 (config-subif) # ip nat venku

To routeru umožní pochopit, kde očekávat zpracování paketů a kam je poslat později.

Aby byly servery na internetu přístupné podle názvu domény, bylo by pro nás dobré získat server DNS v naší síti:


Přirozeně jej musíte zaregistrovat na zařízeních, ze kterých budeme kontrolovat přístup:

Show musí pokračovat!

Vše je k dispozici z počítače správce:

Ze sítě PTO je přístup na webovou stránku linkmeup.ru pouze přes port 80 (HTTP):



V síti FEO jde do světa pouze 4,123 (findirector)



V účetním oddělení fungují pouze weby klientské banky. Protože je však oprávnění uděleno kompletně protokolu IP, lze je odeslat na příkaz ping:


7) Servery

Zde musíme nakonfigurovat přesměrování portů, aby k nim bylo možné přistupovat z internetu:

a) Webový server

msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.2 80 198.51.100.2 80

Okamžitě zkontrolujeme, například to můžeme provést z testovacího počítače s adresou 192.0.2.7.
Nyní nic nebude fungovat, protože pro síť serverů nemáme nakonfigurované rozhraní pro msk-arbat-gw1:
msk-arbat-gw1 (config) # int fa0 / 0,3
msk-arbat-gw1 (config-subif) # ip nat uvnitř

A teď:

b) Souborový server

msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.3 20 198.51.100.3 20
msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.3 21 198.51.100.3 21

Za tímto účelem jsme v ACL Servers-out také otevřeli porty 20-21 pro každého

c) Poštovní server

msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.4 25 198.51.100.4 25
msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.0.4 110 198.51.100.4 110

Kontrola není také obtížná. Následuj instrukce:
Nejprve jsme nastavili poštovní server. Označíme doménu a vytvoříme dva uživatele.

Konfigurujeme počítač z naší sítě:

Zvenku:

Příprava dopisu:

Na místním hostiteli klikněte na Přijmout:

8) Přístup přes RDP k počítačům správce a našim

msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.6.61 3389 198.51.100.10 3389
msk-arbat-gw1 (config) # ip nat inside source static tcp 172.16.6.66 3389 198.51.100.10 3398

Bezpečnostní

Na závěr jedna poznámka. Napínací zařízení se s největší pravděpodobností podívá na vaše vnější IP rozhraní mimo - na internet. Proto by nebylo na škodu zavěsit ACL na toto rozhraní, kde popíráte a povolujete to, co potřebujete. V tomto článku se nebudeme touto otázkou zabývat.

Tím je první seznámení s technologií NAT hotové.
Jako další DZ odpovězte na otázku, proč není přístup na internet z počítačů Enikisů v Petrohradě a Kemerově. Ostatně už jsme je přidali do přístupového seznamu.

Network Address Translation (NAT) je způsob, jak změnit přiřazení jednoho adresního prostoru k druhému změnou informací. To znamená, že záhlaví paketů se mění, když jsou v přenosu přes zařízení pro směrování provozu. Tato metoda byla původně použita ke snadnému přesměrování provozu v sítích IP bez přečíslování každého hostitele. Stala se populárním a důležitým nástrojem pro zachování a distribuci globálního adresního prostoru tváří v tvář nedostatku IPv4 adres.

Co je to NAT?

Původním využitím překladu síťových adres je mapování každé adresy z jednoho adresního prostoru na odpovídající adresu v jiném prostoru. Je to například nutné, pokud se změnil poskytovatel internetových služeb a uživatel není schopen veřejně oznámit novou trasu do sítě. S předvídatelným globálním vyčerpáním prostoru IP adres se od konce devadesátých let stále více používá NAT ve spojení s šifrováním IP (což je metoda přenosu více IP adres do jednoho prostoru). Tento mechanismus je implementován ve směrovacím zařízení, které používá stavové překladové tabulky k mapování „skrytých“ adres na jednu IP adresu a přesměruje odchozí IP pakety. Zdá se tedy, že opouštějí směrovací zařízení. V opačném případě jsou odpovědi mapovány na původní IP adresu pomocí pravidel uložených v překladových tabulkách. Pokud nový provoz neaktualizuje svůj stav, pravidla překladové tabulky jsou po krátké době vymazána. Toto je základní mechanismus NAT. Co to znamená?

Tato metoda umožňuje komunikaci přes směrovač pouze v případě, že je připojení v šifrované síti, protože to vytváří překladové tabulky. Například webový prohlížeč uvnitř takové sítě může zobrazit web mimo něj, ale když je nainstalován mimo něj, nemůže otevřít prostředek hostovaný na něm. Většina zařízení NAT však dnes umožňuje konfigurovat položky překladové tabulky pro trvalé použití. Tato funkce je často označována jako statický NAT nebo přesměrování portů a umožňuje odchozí provoz do „vnější“ sítě dosáhnout určených hostitelů v šifrované síti.

Vzhledem k popularitě této metody, používané za účelem zachování adresního prostoru IPv4, se termín NAT (přesně tak to ve skutečnosti je - uvedeno výše) stal téměř synonymem šifrovací metody.

Protože překlad síťových adres mění informace o adresách IP paketů, má to vážné důsledky pro kvalitu internetového připojení a vyžaduje velkou pozornost podrobnostem jeho implementace.

Způsob použití NAT se navzájem liší svým specifickým chováním v různých případech týkajících se dopadu na síťový provoz.

Základní NAT

Nejjednodušší typ překladu síťových adres (NAT) poskytuje individuální překlad IP adres. RFC 2663 je hlavním typem tohoto překladu. V tomto typu se mění pouze IP adresy a kontrolní součet hlaviček IP. Základní typy vysílání lze použít k připojení dvou sítí IP, které mají nekompatibilní adresování.

Co je to NAT v připojení one-to-many?

Většina příchutí NAT je schopna mapovat více soukromých hostitelů na jednu veřejně určenou IP adresu. V typické konfiguraci LAN používá jednu z přiřazených „soukromých“ adres IP pro podsíť (RFC 1918). Router v této síti má v tomto prostoru soukromou adresu.

Router se také připojuje k internetu pomocí „veřejné“ adresy přidělené ISP. Protože provoz prochází z místní sítě zdroje, je každý paket přenášen za běhu ze soukromé adresy na veřejnou. Směrovač sleduje základní data o každém aktivním připojení (zejména adresu a cílový port). Když je odpověď vrácena, používá data připojení, která jsou uložena během odchozí fáze, k určení soukromé adresy ve vnitřní síti, do které má být odpověď směrována.

Jednou z výhod této funkce je, že slouží jako praktické řešení blížícího se vyčerpání adresního prostoru IPv4. I velké sítě lze připojit k internetu pomocí jediné IP adresy.

Všechny datagramy paketů v sítích IP mají 2 adresy IP - zdroj a cíl. U paketů cestujících ze soukromé sítě do veřejné sítě se obvykle změní zdrojová adresa paketu během přechodu z veřejné sítě zpět do soukromé. Jsou možné i složitější konfigurace.

Zvláštnosti

Konfigurace NAT může mít určité zvláštnosti. Aby se předešlo potížím s překladem vrácených balíků, jsou nutné další úpravy. Drtivá většina internetového provozu prochází protokoly TCP a UDP a jejich čísla portů se mění takovým způsobem, že se kombinace IP adresy a čísla portu v opačném směru dat začíná shodovat.

Protokoly jiné než TCP a UDP vyžadují různé způsoby překladu. Protokol ICMP (Message Control Protocol) obvykle spojuje přenášená data s existujícím připojením. To znamená, že musí být zobrazeny se stejnou IP adresou a číslem, jaké bylo původně nastaveno.

Co je třeba vzít v úvahu?

Konfigurace NAT na routeru mu neposkytuje end-to-end připojení. Takové směrovače se proto nemohou účastnit některých internetových protokolů. Služby vyžadující zahájení připojení TCP z externí sítě nebo uživatelé bez protokolů nemusí být k dispozici. Pokud router NAT nevyvíjí zvláštní úsilí na podporu takových protokolů, příchozí pakety nemohou dosáhnout svého cíle. Některé protokoly mohou fungovat v jediném překladu mezi zúčastněnými hostiteli (například „pasivní režim“ FTP), někdy s využitím brány aplikační vrstvy, ale připojení nebude navázáno, pokud budou oba systémy odděleny od internetu pomocí NAT. Použití překladu síťových adres také komplikuje protokoly tunelování, jako je IPsec, protože mění hodnoty v hlavičkách, které interagují s kontrolami integrity požadavků.

Stávající problém

Konektivita typu end-to-end je základní zásadou internetu od jeho počátku. Aktuální stav sítě naznačuje, že NAT tuto zásadu porušuje. Mezi odborníky existuje vážná obava v souvislosti s rozšířeným používáním překladu síťových adres IPv6 a nastává problém, jak jej účinně odstranit.

Vzhledem ke krátkodobé povaze tabulek stavů překladu ve směrovačích NAT zařízení ve vnitřní síti ztrácejí připojení IP, obvykle ve velmi krátkém časovém období. Když mluvíme o tom, co je NAT v routeru, nesmíme na tuto okolnost zapomenout. To dramaticky zkracuje provozní dobu kompaktních baterií a dobíjecích zařízení.

Škálovatelnost

NAT navíc monitoruje pouze porty, které lze rychle vyčerpat interními aplikacemi pomocí více souběžných připojení (například požadavky HTTP na webové stránky se spoustou vložených objektů). Tento problém lze zmírnit sledováním cílové IP kromě portu (jeden místní port je tedy sdílen mnoha vzdálenými hostiteli).

Některé potíže

Protože jsou všechny interní adresy maskované jako jedna veřejná adresa, je pro externí hostitele nemožné zahájit připojení ke konkrétnímu internímu hostiteli bez speciální konfigurace na bráně firewall (která by měla přesměrovat připojení na konkrétní port). Aplikace, jako je IP telefonie, videokonference a podobné služby, musí ke správné funkci používat techniky procházení NAT.

Návratová adresa a překladový port (Rapt) umožňuje hostiteli, jehož skutečná IP adresa se čas od času mění, zůstat k dispozici jako server využívající pevnou IP adresu domácí sítě. V zásadě by to mělo umožnit nastavení serveru zachovat připojení. Nehledě na to, že není perfektní řešení problémy, to může být další užitečný nástroj v arzenálu správce sítě při řešení problému s konfigurací NAT na routeru.

Překlad adres portů (PAT)

Implementací Cisco Rapt je Port Address Translation (PAT), který mapuje více soukromých IP adres na jednu veřejnou. Jako adresu lze zobrazit více adres, protože každá je sledována pomocí čísla portu. PAT používá jedinečná interní globální čísla portů IP zdroje k rozlišení směru přenosu dat. Tato čísla jsou 16bitová celá čísla. Celkový počet interních adres, které lze přeložit na jednu externí adresu, může teoreticky dosáhnout 65 536. Skutečný počet portů, ke kterým lze přiřadit jednu IP adresu, je přibližně 4000. PAT se zpravidla snaží zachovat původní port "originál". Pokud je již používán, překlad adres portů přiřadí první dostupné číslo portu od začátku odpovídající skupiny-0-511, 512-1023 nebo 1024-65535. Pokud již nejsou k dispozici žádné další porty a existuje více než jedna externí adresa IP, PAT se přesune na další a pokusí se přidělit zdrojový port. Tento proces pokračuje, dokud nedojdou dostupná data.

Mapování adres a portů zajišťuje společnost Cisco, která kombinuje adresu překladového portu s daty tunelování pro pakety IPv4 přes interní síť IPv6. V zásadě se jedná o neoficiální alternativu k CarrierGrade NAT a DS-Lite, která podporuje překlad IP adres / portů (a proto je podporováno přizpůsobení NAT). Vyhýbá se tak problémům s nastavením a údržbou připojení a poskytuje přechodový mechanismus pro nasazení IPv6.

Překladové metody

Existuje několik způsobů, jak implementovat překlad síťových adres a portů. V některých aplikačních protokolech, které používají IP adresování aplikací běžících po šifrované síti, je nutné určit externí adresu NAT (která se používá na druhém konci připojení) a navíc je často nutné studovat a klasifikovat typ přenosu. To se obvykle provádí, protože je žádoucí vytvořit přímý komunikační kanál (buď pro zajištění plynulého toku dat serverem, nebo pro zlepšení výkonu) mezi dvěma klienty, kteří jsou oba za samostatnými NAT.

Za tímto účelem (jak konfigurovat NAT) byl v roce 2003 vyvinut speciální protokol RFC 3489, který poskytuje jednoduchý přenos UDP přes NATS. Dnes je zastaralý, protože takové metody dnes nejsou dostatečné pro správné posouzení provozu mnoha zařízení. Nové metody byly standardizovány v RFC 5389, který byl vyvinut v říjnu 2008. Tato specifikace se dnes nazývá SessionTraversal a je nástrojem pro NAT.

Navázání obousměrné komunikace

Každý paket TCP a UDP obsahuje zdrojovou IP adresu a číslo portu a také souřadnice cílového portu.

U veřejných služeb, jako je funkce poštovního serveru, je číslo portu zásadní. Připojuje se například k software webový server a 25 na SMTP poštovní server... Nezbytná je také IP adresa veřejného serveru, například poštovní adresa nebo telefonní číslo. Oba tyto parametry musí být spolehlivě známé všem uzlům, které mají v úmyslu navázat připojení.

Soukromé IP adresy mají význam pouze v místních sítích, kde jsou použity, a také pro hostitelské porty. Porty jsou jedinečné koncové body komunikace na hostiteli, takže je podporováno procházení NAT pomocí kombinovaného mapování portů a IP adres.

PAT (Port Address Translation) řeší konflikty, které mohou nastat mezi dvěma různými hostiteli, pomocí stejného čísla zdrojového portu k navázání jedinečných připojení současně.

Počítač se k globální síti připojuje několika způsoby. Může jít o přímé připojení, v tomto případě existuje externí IP adresa (dynamická nebo statická), která je viditelná z internetu. Alternativně lze připojení provést pomocí routeru. U tohoto připojení má externí adresu pouze router a všichni uživatelé, kteří jsou k němu připojeni, jsou klienty jiné sítě. Router se stará o distribuci příchozího a odchozího provozu mezi klienty a internetem. Při připojování přes router vzniká řada problémů:

  • klienti torrentu přestávají pracovat;
  • neexistuje žádný způsob, jak se připojit k serveru online her;
  • neprobíhá žádné volání na server vnitřní sítě zvenčí žádným protokolem a na žádný port.

Pomáhá vyřešit problém správné nastavení router, jmenovitě služba NAT na něm. Abychom rozuměli jak nastavit NAT na routeru zjistit, co je překlad adres a k čemu slouží.

NAT: obecné definice

Překlad síťových adres (NAT) nebo síťových adres je proces překládání interních nebo místních adres na externí. NAT používají naprosto všechny směrovače bez ohledu na jejich konfiguraci, účel a náklady. Ve výchozím nastavení router zakazuje přímý přístup k jakémukoli zařízení v síti. Blokuje přístup k jakýmkoli portům pro příchozí připojení přicházející z internetu.

Ale NAT a Firewall jsou různé koncepty. Firewall jednoduše odepře přístup ke zdroji na konkrétním portu TCP nebo UDP; lze jej nainstalovat na místní počítač a omezit přístup pouze k němu, nebo na server filtrovat provoz v celé místní síti. NAT stojí před podrobnějším úkolem. Služba odmítá nebo umožňuje přístup v síti pro konkrétní IP adresu nebo rozsah adres. Klient přistupující ke zdroji tedy nevidí skutečnou IP adresu prostředku. NAT překládá interní IP na adresu viditelnou z internetu.

Chcete -li zkontrolovat, zda je počítač za NAT nebo vysílá skutečnou adresu na internet, můžete provést následující:

  • ve Windows musíte kliknout na „Start - Spustit - cmd“ a zaregistrovat se ipconfig a stiskněte "Enter";
  • na Linuxu a MacOS terminál běží ifconfig.

Výstup příkazu ukazuje následující informace:

  • IP- skutečná, platná adresa počítače;
  • Maska podsítě- Maska podsítě;
  • Brána je adresa brány routeru.

Jak nyní analyzovat, zda je adresa místní nebo přímo „vypadá“ na internetu. Podle specifikace existují čtyři rozsahy adres, které se za žádných okolností nepoužívají na internetu, ale jsou výhradně lokální:

  1. 0.0.0 - 10.255.255.255
  2. X.0.0 - 172.X.255.255, kde X je v rozmezí od 16 do 31.
  3. 168.0.0 - 192.168.255.255
  4. 254.0.0 - 169.254.255.255

V případě, že adresa počítače spadá do jednoho z těchto rozsahů, je třeba vzít v úvahu, že počítač je v místní síti nebo „za“ NAT. K určení skutečné IP adresy můžete také dodatečně použít speciální služby, kterých je na internetu mnoho. Nyní bylo jasnější, zda je počítač pozadu NAT v routeru, co to je za službu a za to odpovídá.

Problémy a řešení NAT

Od zavedení NATu okamžitě vyvstaly problémy. Nebylo možné získat přístup přes samostatný protokol nebo za provozu jednotlivé programy... Tyto problémy nebyly zcela odstraněny, pouze bylo možné najít některá řešení pouze pomocí překladu adres, ale žádné z řešení není správné z hlediska specifikací správy.

Jako příklad uveďme protokol FTP (File Transfer Protocol), který byl před NAT nejběžnější. Pro souborové servery(FTP) Klíč je skutečná IP adresa počítače, který odesílá žádost o přístup. Zde překlad adresy nefunguje, protože požadavek na server je odeslán z IP neviditelné z internetu. Neexistuje žádný způsob, jak vytvořit relaci klient-server pro stahování souborů. Pomáhá problém obejít pomocí FTP v pasivním režimu. V tomto režimu se používá jiná sada příkazů a práce se provádí prostřednictvím speciálního proxy serveru, který navíc otevírá další port pro připojení a přenáší jej do klientského programu. Problém tohoto řešení spočívá v tom, že musíte použít klienty FTP třetích stran.

Úplně se zbavit problému s přístupem bylo možné až s příchodem protokolu SOCKS (Socket Secure). Tento protokol umožňuje výměnu dat prostřednictvím proxy serveru v „transparentním“ režimu. To znamená, že server nebude vědět, že dochází k nahrazování adres z lokálních na globální a naopak. Vynález SOCKS nám umožnil zbavit se řady problémů a zjednodušit práci správy sítě:

  • vytvoří na serveru službu, která naslouchá příchozím požadavkům, což jí umožňuje obsluhovat více propojené protokoly, jako je FTP;
  • v místní síti není nutné používat a udržovat službu DNS. Nyní je tento úkol přiřazen do mezipaměti proxy;
  • další metody autorizace vám umožňují efektivněji sledovat a filtrovat pakety. NAT může filtrovat požadavky pouze podle adres.

Použití NAT a SOCKS není vždy z hlediska správy sítě odůvodněné. Někdy je účelnější použít specializované proxy, kterých je mnoho pro jakýkoli protokol přenosu dat.

Konfigurace NAT na počítači

Všechny moderní operační systémy mají integrovaný NAT. Ve Windows je tato funkce implementována od roku 1999 s příchod Windows XP. NAT je spravován přímo prostřednictvím vlastností síťového připojení. Chcete -li konfigurovat službu, musíte provést následující:

  • Spusťte program Ovládací panely z nabídky Start.
  • Najděte ikonu „Síťová připojení“ a spusťte ji.
  • V novém okně klikněte pravým tlačítkem na aktivní síťové připojení a z rozevíracího seznamu vyberte „Vlastnosti“.
  • Přejděte na kartu „Upřesnit“.
  • Zaškrtněte políčka naproti "Povolit ostatním uživatelům sítě používat internetové připojení tohoto počítače".
  • Změnu potvrďte tlačítkem „OK“.

Pokud se zobrazí zpráva, že službu nelze spustit obecný přístup, musíte se ujistit, že je spuštěna služba Klient DHCP. V případě potřeby můžete vynutit, aby se služba po výzvě spouštěla ​​spíše než automaticky.

Konfigurace NAT na routeru

Co je to NAT v routeru, proveditelnost jeho použití a problémy, které může způsobit, byly popsány výše, nyní můžete přejít přímo k implementaci úkolu. Nastavení služby na routeru závisí na jeho modelu, použitém firmwaru a dalších parametrech. Ale stačí pochopit mechanismus, aby nevznikly žádné potíže a otázky týkající se nastavení samostatného zařízení. Při konfiguraci se provádějí následující kroky (například nastavení se provádí na routeru Zyxel na firmwaru v1):

  • V prohlížeči přejděte na stránku nastavení routeru.
  • Přejděte do nabídky „Síť - směrování“ na kartu „Směrování zásad“.

Otevře se stránka, která řídí zásady přístupu a směrování. Zde musíte službu povolit aktivací přepínače do polohy „Povolit“. Samotná nastavení se provádějí ve skupině „Kritéria“. Parametry NAT jsou vybrány pro několik kategorií filtrů:

  • Uživatel - vysílání pro konkrétního uživatele.
  • Příchozí - přes síťové rozhraní.
  • Zdrojová adresa - nahrazení adresy na zdrojové adrese.
  • Cílová adresa - na adresu konečného příjemce
  • Služba - pro konkrétní port služby.

Jako přesměrovaný objekt lze vybrat následující možnosti:

  • Auto - automatický výběr cíle. Ve výchozím nastavení je nainstalováno rozhraní Wan.
  • Gateway - brána zadaná předem v nastavení.
  • Tunel VPN - respektive prostřednictvím tunelu VPN.
  • Trunk je řada rozhraní nakonfigurovaných pro vzájemnou spolupráci.
  • Rozhraní - konkrétní rozhraní podle vašeho výběru.

V každém jednotlivém routeru se nastavení a název položek nabídky mohou lišit, ale princip budování NAT zůstává nezměněn.