Tip conexiune nat. Cum funcționează NAT

/05.07.2004 20:43/

În ultimii ani, printre administratorii de rețea ruși, moda pentru FireWall și NAT... Utilizatorii Eserv au cunoscut atitudinea mea față de aceste tehnologii de la mijlocul anilor 90, dar uneori astfel de întrebări despre FireWall / NAT sunt puse de începători și trebuie să mă repet. Prin urmare, acum aproximativ un an, am scris un articol separat despre FireWall, iar astăzi este rândul NAT.

Epigraf

Adăugat la 28.12.2005. Google a prezentat un rezumat bun al problemei NAT: „Dispozitivele NAT, din ce în ce mai populare în case și birouri, permit mai multor mașini să partajeze o singură adresă de internet. În consecință, devine din ce în ce mai dificil pentru aplicații precum chatul vocal, care necesită adresați-vă direct reciproc, pentru a crea o conexiune peer-to-peer în mod fiabil. " (Dispozitivele NAT, care cresc în popularitate în case și birouri, permit distribuirea mai multor mașini unu adresa internet. Ca urmare, aplicații precum chatul vocal, care necesită adresarea directă a părților, din ce în ce mai dificil de creat conexiuni fiabile punct la punct.)

Cuprinsul documentului

Istoria NAT

În primul rând, câteva cuvinte despre istoria apariției nevoii de proxy / gating / tunel pe internet, apoi posibilitățile diferitelor abordări și „ierarhia” lor vor deveni mai clare. După cum știți, o lipsă de adrese IP într-un spațiu de adrese de 4 octeți a fost prezisă la începutul anilor 90 (plus o lipsă de bani pentru închirierea blocurilor de adrese în unele companii. Prin urmare, deja în martie 1994, am convenit asupra „segmentării adresei "al spațiului comun - alocare pentru rețele locale intervale specifice de adrese IP și excluderea acestor adrese IP de la utilizarea pe Internet (http://www.ietf.org/rfc/rfc1597.txt martie 1994 Alocarea adresei pentru internetii privați; citat despre scopul acestui document „Autorii speră că utilizarea acestor metode va duce la economii semnificative în alocarea adreselor”). Această soluție le-a permis companiilor să aloce blocuri mici de adrese IP pentru serverele lor de internet, iar în cadrul rețelei LAN, adresele IP pentru propriile nevoi au fost alocate de companiile înseși din game pentru rețelele locale. Ca urmare, serverele de internet ale companiei (poștale și www / ftp) erau ușor accesibile atât de pe internet, cât și de pe rețeaua LAN, iar computerele din rețeaua LAN puteau comunica fără probleme folosind aceleași protocoale IP. Dar această decizie a ridicat o barieră între rețelele locale și Internet. aceeași adresă IP ar putea fi utilizată în rețele LAN diferite și de atunci din acest motiv, Internetul a oprit rutarea pachetelor către blocurile de adrese alocate pentru rețele LAN. Acestea. de fapt, o „barieră fizică” (fără tăierea firelor, ceea ce le-a plăcut în băncile rusești după primele spargeri și fără a instala FireWall, ceea ce le place acum). Rețelele au devenit izolate, precum sarcinile sunt izolate în sistemele de operare moderne - fiecare are propriul spațiu de adrese. Această barieră nu a reprezentat o problemă pentru oficiul poștal. serverele de e-mail ale întreprinderii au fost instalate la marginea rețelelor și erau vizibile atât de pe Internet, cât și din rețeaua LAN. Dar, odată cu accesul din rețeaua LAN la resurse externe - la ftp și totuși câștigând popularitate în acei ani, serverele http au început să aibă probleme. Dacă mai devreme era posibil să interacționați direct cu serverul de pe orice computer, acum această oportunitate a rămas cu computerele doar cu adrese de Internet reale. ce LAN să trimită un răspuns la un pachet IP cu o adresă locală în adresa de retur - routerul nu va putea determina.

Cea mai simplă soluție la această problemă - înlocuirea adresei de retur la granița rețelei - a fost la suprafață și nu a fost lentă în publicare: în mai 1994, adică la două luni după ce „secțiunea de rețele” a propus specificația NAT: http://www.ietf.org/rfc/rfc1631.txt The Network Address Translator (NAT) mai 1994 Autorii au anunțat acest lucru ca o „soluție pe termen scurt”, adică solutie temporara a problemei specificate, un fel de „hack”, până când soluțiile normale devin răspândite. Dar, după cum știți, nimic nu este la fel de permanent ca IPv6 temporar, contrar așteptărilor, nu a prins rădăcini și, în ultimii 10 ani, am asistat la tot mai multe bătălii la granițele LAN și Internet. NAT s-a răspândit pentru că nu a existat nicio altă soluție acceptabilă la această problemă în acei ani: clienții FTP și clienții HTTP (browsere) nu au avut timp să se adapteze la imaginea schimbată a lumii, nu au putut lucra de pe rețele LAN cu resurse externe, deci pentru a face frontiera transparente pentru ei, pur și simplu software-ul a fost „înșelat” folosind NAT - toate pachetele IP adresate de la LAN către exterior au fost supuse celei mai simple prelucrări la frontieră: înlocuirea adresei IP de returnare cu adresa reală a computerului „frontieră”, și înlocuirea înapoi în pachetele primite. În plus, numărul portului rețelei LAN sursă a fost de obicei înlocuit. pachetele de la diferite mașini din rețeaua LAN pot veni cu aceleași numere de port. Acestea. nu numai adresele IP sunt traduse, ci și numerele de porturi (uneori porturile traducătorilor sunt denumite abreviere separată PAT). În clasificarea convențională, NAT este împărțit în „static, dinamic și mascat”, dar, în practică, al treilea tip este utilizat în principal, permite deservirea a mii de conexiuni de pe rețele LAN printr-o singură adresă reală (în mod ideal), traducerea porturilor este întotdeauna utilizată. Pe un computer sau router NAT + NAT, o gamă de porturi utilizate pentru traducere este alocată, de exemplu, cu numere mai mari de 60.000 (pentru a distinge rapid aceste porturi de cele alocate pentru propriile nevoi ale acestui computer) și un tabel dinamic al sesiunilor curente / mapări de adrese. Fiecare pachet care trece este comparat cu acest tabel prin port și se fac substituții corespunzătoare. Tehnologia este atât de simplă încât în ​​zilele noastre este din ce în ce mai puțin obișnuit să găsești un router sau un modem de cablu fără NAT încorporat (și FireWall, care este la fel de primitiv ca NAT), iar NAT poate fi găsit chiar și în hub-ul cu prețuri începând de la 40 USD. Să nu mai vorbim de „gratuit” „NAT inclus cu mai multe versiuni recente de Windows sub denumirea„ partajarea conexiunii" și " partajarea unei conexiuni„Accesibilitatea, ușurința de înțelegere / utilizare și lipsa de cerință pentru software-ul clientului au făcut ca NAT să fie meritat populară.

NAT „prin ochii” programelor de Internet

Dacă în practică totul ar fi atât de simplu, nu ar fi interesant, dar, desigur, la fel ca în cazul oricărui alt truc software, au început imediat să apară diferite efecte secundare neplăcute în NAT. În momentul apariției NAT, unul dintre cele mai populare protocoale era FTP și acest protocol a devenit primul protocol nedigerabil pentru NAT. Acest lucru a expus o problemă care nu a fost niciodată rezolvată cu niciun fel de succes de NAT în acești 10 ani. Și, în cazul general, nu poate fi rezolvat în cadrul NAT, pot exista doar fitinguri pentru protocoale specifice, dar aceste fitinguri nu pot fi considerate o soluție fiabilă. Această problemă este că în unele protocoale, printre care cel mai vechi este FTP, se transmite adresa IP a mașinii client și această adresă IP este utilizată de server pentru a transfera date către client. Deoarece, în cazul NAT, programul client care rulează de pe LAN este „păcălit” de NAT, acesta poate trimite propria adresă IP locală către server, la care serverul extern nu se poate conecta din cauza invizibilității rețelelor locale din protocoalele ICQ, MS NetMeeting, RealAudio și multe alte protocoale, al căror dezvoltatori aparent se așezau în rețele fără
NAT NAT poate oferi o singură soluție la această problemă - pe baza numerelor de port, ghiciți protocolul specific care este tradus și începeți să monitorizați conținutul pachetelor IP. Când conțin comanda FTP PORT, care indică: portul clientului local (o comandă text în corpul pachetului și nu în antetul pachetului IP), apoi înlocuiți nu numai antetele, ci și întregul pachet, cu recalcularea sumei de control și organizarea interceptărilor. un port de intrare. Din păcate, pentru NAT, protocolul TCP în care sunt transmise comenzile FTP este un protocol de streaming organizat peste - comanda PORT, atunci când intră în stratul IP, poate fi împărțită în 2 pachete (sau chiar mai multe, în funcție de clientul FTP și tamponarea în sistemul de operare). Prin urmare, pentru a detecta în mod fiabil locul de falsificare NAT, "va trebui să reconstruiți fluxul TCP original, să tamponați și să reasamblați pachetele. Ne vom întoarce la" reconstrucția protocolului "din NAT, dar pentru moment vom nota doar nivel gradat de potențiale erori și fiabilitate în acest proces. În practică, acest lucru duce la faptul că modul FTP standard care utilizează comanda PORT peste NAT de obicei NU funcționează.

Prin urmare, „problema NAT” din protocolul FTP trebuie să fie ocolită într-un mod special la clienții FTP sau într-un alt proxy FTP specializat intermediar. În clientul FTP, trebuie să treceți la așa-numitul. „mod pasiv” - utilizați comanda PASV în locul comenzii PORT. PASV cere serverului FTP să deschidă un port suplimentar pentru el însuși și să-i spună clientului: portul. Clientul se conectează apoi la cel specificat (NAT îl înșeală din nou, îl transmite) și sesiunea reușește. În plus față de necesitatea de a suporta modul PASV în clientul FTP (ftp.exe standard nu îl are), acest lucru necesită un efort din partea administratorului serverului FTP - mai ales dacă este parțial blocat de firewall-uri și NAT-uri ( ca dezvoltator FTP -servitori pentru Eserv, știu aceste probleme nu din auzite). În general, aici NAT nu ajută la conectare, ci interferează.

Acum despre reconstrucția protocolului din interiorul NAT pentru o soluție transparentă pentru client. Acele câteva NAT-uri care pot face acest lucru (deși, în practică, declară, de asemenea, mai degrabă decât știu cum, de fapt, urcă un nivel de rețea - în loc de cea mai simplă redirecționare a pachetelor cu traducerea adreselor în antet, încep să facă același lucru ca stiva TCP nu - asamblează fluxul TCP din pachete. Astfel, acestea se transformă dintr-un router supradezvoltat într-un proxy de aplicație TCP subdezvoltat. În acest caz, un proxy FTP sau o poartă FTP. Subdezvoltat deoarece clientul nu știe despre acest proxy și La rândul său, NAT continuă să ghicească protocolul și să se ocupe de o sarcină incomodă pentru rezolvarea la nivelul său (nivelul pachetelor IP).

Este mult mai ușor să rezolvați această problemă dacă în loc de NAT sau în plus față de acesta, utilizați imediat un proxy specializat (poartă FTP) sau proxy TCP universale precum Socks sau, în cazuri extreme, httpS (acest caz extrem va funcționa totuși mai bine decât NAT). Aceștia lucrează inițial la nivel TCP și nu înșeală clientul FTP, ci cooperează cu acesta. Trei straturi de probleme dispar simultan: clientul FTP poate folosi orice mod - activ sau pasiv (în httpS numai pasiv, ca în NAT), nu este nevoie să ghiciți protocolul și asamblarea TCP dublă. În plus, administratorul are mai multe oportunități de a influența procesul (mai multe despre asta mai târziu).

Dacă programul client nu știe cum să funcționeze printr-un proxy special (practic nu există astfel de proxy, dar vom vorbi despre cele mai grave cazuri), atunci când se utilizează un proxy Socks, munca clientului poate fi transparentă și prin intermediul programelor SocksCapture sau FreeCap intern. Transparența frontierelor este întotdeauna o înșelăciune, dar SocksCapture sau FreeCap nu interceptează pachete IP, ci apeluri de program către sistemul de operare, astfel încât acestea să știe întotdeauna exact, mai degrabă decât să calculeze din fluxul de pachete, ce acțiune vrea să efectueze programul și, în consecință, redirecționează aceste acțiuni prin Șosete -prox.

NAT vs Șosete

În timp ce ne referim la șosete, trebuie să spun câteva cuvinte despre acest protocol proxy. Mai mult, istoric Socks a fost următorul instrument după NAT pentru a trece granița dintre LAN și Internet: primul articol de recenzie „ce este șosete” a fost publicat în octombrie 1994, specificația Socks4 a apărut în curând („versiunile” anterioare nu au fost folosite în niciun fel produse) http: //www.socks.nec.com/protocol/socks4a.protocol și numai până la cea de-a cincea versiune din martie 1996, coaptă pentru publicare în ietf ca RFC: http://www.ietf.org/rfc/rfc1928. txt. Există o versiune rusă a acestui document - traducerea a fost făcută de Alexander Gorlach, care apoi (97 și 98) a lucrat în compania noastră și a participat la crearea Eserv / 2, vezi pagina Socks5.

Șosetele au depășit toate limitările NAT, plus au adăugat cel puțin trei instrumente convenabile care permit nu numai să „proxy” aproape orice protocol TCP și UDP, ci și să îmbunătățească controlul asupra utilizării internetului de pe LAN:

  1. Șosetele nu numai că servesc conexiuni de ieșire, dar vă permit, de asemenea, să creați socketuri de ascultare primite pe o mașină proxy (metoda BIND) la cererea unui client proxy - acest lucru este necesar doar pentru FTP și protocoale similare multiconectate.
  2. Socks4a și Socks5 vă permit să eliminați sarcina de a rezolva numele de domeniu de pe client de la client și să o faceți direct în proxy. Acestea. mașina din interiorul rețelei LAN devine inutilă un server DNS sau o mapare DNS (prin NAT sau UDPMAP special), o „bifă” din grijile sale este eliminată de la administrator, plus ca urmare a memoriei cache DNS pe server, clientul funcționează mai repede.
  3. Socks5 acceptă o varietate de opțiuni pentru autentificarea și autorizarea explicită a clientului. În NAT, a fost posibil să se facă distincția între prieteni și dușmani numai prin.
Dar, deși Socks a îmbunătățit utilizabilitatea în comparație cu NAT, rămâne o „mapare programabilă” universală. Unele dintre problemele NAT au rămas nerezolvate în ea. Și nu pot fi rezolvate la un nivel scăzut fără a înțelege detaliile protocolului specific. La fel ca, de exemplu, un telefon este capabil să transmită vorbirea umană, dar nu este capabil să-l înțeleagă și să elimine abuzurile. Prin urmare, acei administratori care doresc control deplin asupra a ceea ce se întâmplă în rețeaua lor utilizează proxy specializat.

NAT și proxy-uri specializate prin ochii unui sysadmin

Mai întâi, din nou, o mică excursie în istorie. Protocolul HTTP a fost dezvoltat la începutul anilor 90 (așa-numita „versiune 0.9”), iar la mijlocul anilor 90 devenise „aplicația ucigașă” a internetului - lucru pentru care nu numai oamenii de știință și militarii au început să se conecteze la Internet, dar și „comercianții obișnuiți și oamenii obișnuiți”. În consecință, este nevoie de standardizare. În mai 1996, specificația HTTP / 1.0 a fost lansată sub numărul câștigător RFC: 1945. Autorii specificației au luat deja în considerare noile realități ale internetului, incl. nevoia de proxy a protocolului pentru LAN. În plus, în practică, HTTP există de mai bine de un an și are „experiență proxy”. Prin urmare, documentul a făcut definițiile și notele necesare despre proxy-uri, gateway-uri și tuneluri. Și, de fapt, nu numai protocolul HTTP în sine (din punctul de vedere al unui server web obișnuit) a fost definit acolo, ci au fost descrise și protocoalele HTTP-proxy și HTTPS-proxy. Metoda „CONNECT”, introdusă în protocolul HTTP specific pentru a oferi posibilitatea de a se conecta la servere HTTP securizate printr-un proxy, a permis totuși să nu fie limitată la portul 443, ci să se specifice orice port pentru conexiune. Astfel, în fața proxy-ului HTTPS, obținem o altă „mapare TCP programabilă” pentru orice protocol, deși cu capacități mult mai limitate decât Socks5. Un proxy HTTP pentru protocolul său HTTP nativ este cu totul altă problemă. Îl poate gestiona cu cunoaștere deplină a problemei - cache, filtrare după URL și conținut, restricționare, direcționare, autorizare etc. Adesea, aceste acțiuni necesită astfel de acțiuni non-banale la nivelul TCP și altor componente ale sistemului de operare, care sunt practic imposibile la nivelul pachetului NAT sau cartografierea oarbă a șosetelor.

La fel se întâmplă cu orice alt protocol de aplicație pentru care există proxy specializate - acestea sunt întotdeauna un ordin de mărime mai ușor de gestionat decât cele universale de nivel scăzut. De exemplu, multe proxy POP3 vă permit să filtrați spamul, cum ar fi PopFile (deși este mult mai corect să filtrați spamul nu pe proxy, ci pe serverul SMTP). Șosetele și NAT ar necesita abilități speciale pentru a înțelege protocolul transmis, adică de fapt, „emularea” proxy-urilor POP3 nu este foarte convenabilă pentru acest mijloc.

Prin urmare, utilizarea Socks sau NAT pentru a lucra cu acele protocoale pentru care există proxy specializate (HTTP, HTTPS, FTP, SMTP, POP3, IMAP) sau arhitectura general acceptată a serverelor intermediare (SMTP, POP3, IMAP, DNS) poate să fie considerată o soluție suboptimă forțată. Forțat - fie din incapacitatea de a utiliza tipul de proxy necesar din motive organizatorice (nu există nicăieri să puneți tipul de proxy necesar, sau tipul de conexiune nu prevede prezența unei singure adrese IP reale, cum este cazul cu Internet prin GPRS sau opțiuni de rețea de domiciliu - în aceste cazuri NAT sau „proxy HTTP forțat” sunt deja de partea furnizorului), sau din cauza conștientizării insuficiente a persoanelor responsabile, incl. administratori. Nu iau în calcul constrângerile financiare, deoarece există multe opțiuni pentru proxy-uri gratuite sau foarte ieftine pentru toate aceste protocoale.

În unele cazuri, utilizarea Socks5 este destul de justificată - de exemplu, pentru ICQ și alți mesageri. Pentru aceste protocoale, proxy-urile speciale pur și simplu nu sunt dezvoltate, tk. sunt aproape invizibile pe fundalul general al utilizării rețelei. În absența unui server de e-mail sau a unui proxy pop3 / smtp în rețeaua LAN, Socks5 va fi, de asemenea, următorul candidat, deși nu toți clienții de e-mail îl acceptă și, în unele, are caracteristici evidente (a se vedea Mozilla ThunderBird).

Când iterați peste opțiunile NAT, va fi „ultima soluție” - în cazul în care nu s-a găsit nimic mai bun sau dacă NAT a fost furnizat inițial de către furnizor - într-un modem de cablu, router, conexiune mobilă (NAT este pus în aceste bucăți de fier , nu un proxy special pentru protocoalele populare, datorită simplității extreme a implementării sale de bază: codul sursă al unui plugin NAT UDPMAP similar în Eproxy are o dimensiune de numai 4Kb). Unele dintre protocoale nu vor funcționa, va fi dificil să gestionați lucrarea. Dar în astfel de cazuri extreme, este mai bine să lucrezi cumva decât să nu lucrezi deloc.

Iată o explicație detaliată a binecunoscutei mele poziții din ultimii 8 ani - „nu va exista NAT niciodată în Eserv” În majoritatea covârșitoare a cazurilor, fie nu aveți nevoie de NAT, fie o aveți deja ca o pedeapsă pentru alegerea unui furnizor. în partajarea conexiunii Windows, funcționează exact ca NAT.

A se vedea, de asemenea, „cârjă” pentru NAT pe site-ul Microsoft: NAT traversal - NAT traversal by adapting applications, NAT / Firewall configuration over UPnP. Dacă auziți expresia NAT traversal pentru prima dată, aceasta se datorează faptului că dezvoltatorii preferă Socks5 în loc de patch cârje, iar această inițiativă nu a primit „suport pentru cod”. Dar articolul este bun pentru pozele sale (spre deosebire de ale mele și de o altă descriere independentă a problemelor NAT.

NAT, ICS este deja încorporat în toate versiunile noi de Windows



Toate versiunile de Windows lansate din 1999 includ NAT. Mai întâi sub numele ICS (Internet Connection Sharing), iar mai târziu sub numele său propriu NAT. Iată dialogul pentru activarea NAT în Windows 2003 (prin intermediul sistemului "Routing and Remote Access" system32rrasmgmt.msc).


În Windows XP, NAT / ICS este activat în proprietățile conexiunii la Internet.


Dacă primiți mesajul "Imposibil de permis partajarea. Eroare: 1722: Serverul RPC nu este disponibil." ("Nu se poate activa accesul partajat. Eroare: 1722: Serverul RPC nu este disponibil."), Atunci cel mai probabil ați oprit sau dezactivat serviciul client DHCP, trebuie să îl porniți înainte de a activa ICS.

NAT prin ochii unui furnizor de Linux

(Addendum 6 iulie 2004 - primul răspuns la articol. La fel ca în articolul de pe FireWall, să dăm cuvântul către administratorul real

Citat Dacă comparăm funcționarea prin NAT cu cea reală, până acum am avut probleme cu NAT doar cu transferul de voce, video și fișiere în programe precum MSN Messenger. Poate că în unele implementări ale NAT "și există, de asemenea, probleme cu ftp activ, conexiune la servere VPN externe etc., dar când lucrați prin NAT în Linux" (cu setările corespunzătoare) nu există probleme cu acest lucru. Avantajul NAT în acest caz este salvarea adreselor IP și firewall-urilor.

Dacă comparăm NAT cu un proxy (ca modalitate de a accesa Internetul, adică redirecționarea cererilor fără a lua în considerare funcțiile de cache, analiză URL etc.), atunci mai multe aplicații și protocoale funcționează prin NAT (toate); pentru NAT nu necesită setări speciale din partea utilizatorului; proxy-urile sunt mai exigente pentru hardware. Proxy-urile nu oferă de obicei funcționalitatea Destination NAT (DNAT), deși în Eserv puteți obține o similaritate parțială a DNAT utilizând maparea tcp / udp. Sfârșitul cotației.

Acest citat arată că cerințele furnizorilor sunt, de asemenea, foarte diferite de administratorii din întreprinderi.

BackLinks

Nu mai este o veste că adresele de rețea IP nu sunt suficiente pentru toate dispozitivele care doresc să fie pe Internet. În prezent, o cale de ieșire din această situație a fost găsită prin dezvoltarea protocolului IPv6, în care lungimea adresei este de 128 biți, în timp ce actualul IPv4 este de numai 32 biți. Dar la începutul anilor 2000, s-a găsit o altă soluție - utilizarea traducerii adreselor de rețea, sau nat pe scurt. Mai departe în articol, nat va fi configurat în router.

Intrarea în meniul setărilor routerului

Luați ca exemplu routerul ZyWALL USG și seria NXC5200 ZyXEL.

În primul rând, accesați setările routerului. Pentru a face acest lucru, în orice browser web, tastați 192.168.1.1 în bara de adrese. (adresa standard a routerului), va apărea o fereastră care vă solicită să introduceți numele de utilizator și parola.

În câmpul „Nume utilizator” introduceți admin, în câmpul „Parolă” introduceți 1234. Faceți clic pe „OK”.

Configurarea nat într-un router

În fereastra de meniu care se deschide, accesați fila „Configurare” (o pictogramă cu două trepte de viteză), apoi „Rețea”, apoi „Rutare”. În fereastra selectată, accesați fila „Politică de rutare”.

Meniul de setări al routerului ZyXEL

Politica de rutare este configurată în acest meniu. În zona „Criterii”, stabilim criteriile pentru eșantionarea traficului - care trafic trebuie difuzat (de fapt configurat nat) și care ar trebui să fie pur și simplu direcționat. Traficul poate fi selectat în funcție de mai multe criterii:

  1. Utilizator (Utilizator);
  2. Prin interfață (intrare);
  3. După adresa IP sursă (Adresa sursă);
  4. După adresa IP a destinatarului (adresa de destinație);
  5. După portul de destinație (Serviciu).

În zona „Next-Hop”, atribuiți un obiect pentru redirecționarea traficului:

Selectarea unui obiect de redirecționare a routerului ZyXEL

Unde „Auto” - traficul va fi redirecționat către interfața globală implicită; Gateway - la adresa specificată în setările gateway-ului; Tunel VPN - tunel privat virtual IPSec; Trunchi - o rută către un „trunchi”, unde un „trunchi” este mai multe interfețe configurate pentru a funcționa împreună sau într-un mod redundant; Interfață - redirecționează către interfața specificată:

Este important să nu uitați să apăsați butonul „OK” ori de câte ori faceți modificări la setările routerului pentru a salva setările și nu doar pentru a închide browserul web.

Configurarea nat pe un computer

După cum știți, un computer personal poate servi ca router. Adesea există o situație în care există o rețea de calculatoare din mai multe computere, dintre care unul are conexiune la Internet. În această situație, nu trebuie să cumpărați deloc routere, ci configurați un computer cu acces la internet ca router și configurați nat deja pe acesta. Să luăm în considerare acest caz mai detaliat.

Asigurați-vă că instalați 2 plăci de rețea pe computerul principal care privește Internetul (să-l numim SERVER) - prima pentru conectarea la rețeaua locală, a doua pentru furnizor. Exemplul va utiliza sistemul de operare Windows Server 2012.

Pentru a configura, în primul rând, rulați „Server Manager” (Start -> Instrumente administrative -> Server Manager). Va apărea fereastra de setări:

De aici ne vom administra serverul. Pentru a continua configurarea, faceți clic pe Adăugare roluri și caracteristici, care va deschide expertul Adăugare roluri. Primul pas - Tipul de instalare:

În fereastra următoare, trebuie să selectăm rolul pe care îl instalăm pe server. Am pus un daw în fața „Accesului de la distanță”.

Va apărea următoarea fereastră, care afișează o listă a componentelor necesare pentru funcționare. Faceți clic pe „Adăugați componente”, această fereastră va dispărea. Faceți clic pe „Următorul”.

În fereastra următoare, expertul oferă adăugarea componentelor serverului. Nu trebuie să schimbați nimic, dați clic pe „Următorul”.

În pagina următoare, expertul ne informează pur și simplu despre activitatea rolului „Acces la distanță”. Faceți clic pe „Următorul”.

Următorul pas este să selectați Servicii de rol. Puneți o bifă în fața „Routing”, faceți clic pe „Next”.

Următoarea fereastră este din nou informațională, nu trebuie să selectați nimic, dar puteți bifa caseta de lângă „Repornire automată pe serverul selectat ...”, drept urmare serverul va fi repornit automat după instalare. Dar o puteți face și manual. Faceți clic pe „Următorul”.

Și ultimul pas este instalarea directă a serverului. După finalizare, apăsați butonul „Închidere”.

Instalarea serverului

Deci, am configurat computerul care este conectat la Internet în modul server. Acum trebuie să configurați nat pe el.

Accesați Start / Administrare / Rutare și acces la distanță. În fereastra care apare, în partea stângă, găsim elementul "SERVER (local)", faceți clic dreapta pe acesta și în meniul derulant, faceți clic pe "Configurare și activați rutare și acces la distanță".

Va apărea Expertul de configurare a serverului de rutare și acces la distanță, în care vom configura nat.

În prima pagină suntem prezentați pe scurt vrăjitorului - faceți clic pe „Următorul”. În pasul următor, trebuie să selectați unul dintre serviciile care vor rula pe acest server. Selectați „Network Address Translation (NAT)”, faceți clic pe „Next”.

Apoi, expertul vă va cere să selectați o conexiune de rețea care să privească Internetul. Lista va conține ambele plăci de rețea (cel puțin, în funcție de câte dintre acestea sunt instalate pe server). O selectăm pe cea la care este conectat cablul de rețea al furnizorului. Faceți clic pe „Următorul”.

În fereastra următoare, expertul va începe să jure că nu poate găsi servicii DHCP sau DNS în rețeaua locală. Sunt oferite două opțiuni pentru a continua - activați serviciile de bază sau instalați serviciile ulterior.

Selectăm primul element, facem clic pe „Următorul”. În pagina următoare vă voi informa în ce domeniu va funcționa nat. Expertul de configurare selectează automat acest interval pe baza configurației conexiunii de rețea conectată la rețeaua locală. Faceți clic pe „Următorul”.

Gama Nat

Gata, expertul de configurare finalizează configurația nat. Faceți clic pe „Următorul” și în fereastra următoare „Terminați”.

Ultimul lucru rămas este să configurați computerele client, adică toate celelalte computere din rețeaua locală. Pentru a face acest lucru, pe computerul clientului (acest lucru va trebui făcut pe fiecare computer din rețea), accesați Start / Control Panel / Network and Sharing Center / modificați setările adaptorului. Mergem la „Conexiuni de rețea”. Faceți clic pe pictogramă cu butonul din dreapta al mouse-ului și selectați „Proprietăți” în meniul derulant. În fereastra care apare, selectați „Internet Protocol Versiunea 4 (TCP / IPv4)”, faceți clic pe „Proprietăți”.

După „Gateway-ul implicit”, scrieți adresa IP a computerului server (care a fost configurat în ultimul pas), în câmpul „Server DNS preferat”, scrieți adresa IP a serverului DNS al furnizorului specificat în informațiile despre conexiunea la Internet pe server-ul. Apăsăm „OK” și din nou „OK”. Totul, computerul client este conectat la Internet.

Principiul de funcționare al unui router (router)

Citind acest articol, cred că toată lumea înțelege ce este un router și de ce este necesar, dar s-a gândit cineva cum funcționează? În acest articol voi încerca să explic principiile de bază ale routerului în cel mai accesibil limbaj. Acest articol va fi util atât pentru administratorii de sistem, cât și pentru utilizatorii obișnuiți.

Funcția principală care funcționează în orice router este NAT

NAT- Traducerea adreselor de rețea este utilizată pentru a înlocui adresele IP. În rețelele locale, se utilizează în principal adrese de tipul 192.168.1.XXX sau similar și acest lucru creează o problemă de rutare în Internetul global, deoarece adresele IP din rețea nu ar trebui duplicate. Soluția la această problemă este NAT - computerele din rețeaua locală se conectează la interfața locală a routerului, primesc adrese IP și un gateway de la acesta (routerul servește drept gateway), iar interfața WAN a routerului se conectează la Internet .

Acum să ne uităm la principiul traducerii NAT:

  • O cerere se face de la orice computer din rețeaua locală, de exemplu, încercați să accesați orice site - computerul trimite această solicitare la adresa gateway-ului, adică routerul nostru;
  • Ruterul, după ce a primit această solicitare, înregistrează computerul dvs. ca inițiator al conexiunii, după care este creată o copie a pachetului dvs. și trimisă la adresa de destinație, dar în numele routerului, cu adresa IP a acestuia și a pachetului dvs. este pur și simplu distrus;
  • Serverul către care a fost trimisă cererea o procesează și trimite un răspuns, în mod firesc la adresa routerului. Și routerul aștepta deja acest lucru, deoarece a creat o înregistrare că un răspuns ar trebui să vină la cererea computerului dvs. și îl trimite către computer. După cum puteți vedea, conform acestei scheme, numai un computer din rețeaua locală poate fi inițiatorul conexiunii, iar răspunsul de la server va ajunge la computer numai dacă routerul îl așteaptă (răspuns la cerere) . Cu alte cuvinte, toate încercările de conectare din exterior se vor opri la router și vor avea succes numai dacă routerul furnizează o resursă pe portul solicitat sau are configurate reguli de redirecționare a porturilor, despre care vom vorbi acum.

Port forwarding

Port forwarding- acesta este în esență același cu NAT, dar în cealaltă direcție și, prin urmare, doar NAT static, adică anumite cereri numai către anumite computere, deoarece în rețeaua globală nu pot cunoaște adresele IP din spatele routerului. De exemplu, ați creat un server FTP sau HTTP pe computerul dvs. și doriți să oferiți acces la aceste resurse, pentru aceasta trebuie să înregistrați această regulă în router, care va indica faptul că toate pachetele primite la portul dorit (21 sau 80 în cazul nostru) va fi trimis la adresa IP a computerului nostru către un anumit port (portul poate fi schimbat).

NAT - DMZ

NAT - DMZ- aceasta este absolut la fel ca Port Forwarding, dar cu diferența că nu trebuie să scrieți o regulă pentru fiecare port, trebuie doar să configurați NAT - DMZ, care va transmite toate cererile primite către routerul WAN către cel dorit calculator. Desigur, nu mai este posibil să schimbați porturile.

Rutare

Pentru a simplifica ideea a ceea ce este, putem spune că este la fel ca NAT, dar numai în ambele direcții. Cu această schemă, routerul trebuie să aibă mai mult de 2 interfețe LAN (nu porturi, ci interfețe), cu spații de adrese diferite, de exemplu, o interfață IP are 192.168.0.1, iar cealaltă are 192.168.1.1. Prin urmare, computerele dintr-o rețea vor primi IP de tip 192.168.0.XXX și pe altă rețea 192.168.0.XXX, iar gateway-urile lor vor fi 192.168.0.1 și respectiv 192.168.1.1. Acesta este modul în care obțineți rutare bidirecțională.

Nu uita să pleci

Numărul de adrese IPv4 publice este insuficient pentru a atribui adrese unice tuturor dispozitivelor conectate la Internet. În majoritatea cazurilor, rețelele sunt implementate folosind adrese IPv4 private în conformitate cu RFC 1918. În Fig. 1 arată gama de adrese incluse în RFC 1918. Cel mai probabil, computerului pe care vizualizați în prezent tutorialul i s-a atribuit o adresă privată.

Aceste adrese private sunt utilizate în cadrul unei organizații sau entități în scopul interoperării dispozitivelor la nivel local. Cu toate acestea, deoarece aceste adrese nu identifică o anumită companie sau organizație, adresele IPv4 private nu pot fi utilizate pentru rutare pe Internet. Pentru a permite unui dispozitiv cu o adresă IPv4 privată să acceseze dispozitive și resurse în afara rețelei locale, adresa privată trebuie mai întâi rezolvată la o adresă publică.

Așa cum se arată în fig. 2, NAT oferă traducere de la privat la adresă publică. Acest lucru permite unui dispozitiv cu o adresă IPv4 privată să acceseze resurse în afara rețelei sale private, inclusiv resurse găsite pe Internet. Combinat cu adrese IPv4 private, NAT și-a demonstrat valoarea în ceea ce privește salvarea adreselor IPv4 publice. O singură adresă IPv4 publică poate fi partajată de sute, chiar mii, de dispozitive, fiecare cu o adresă IPv4 privată unică.

Fără NAT, spațiul de adresă IPv4 ar fi fost epuizat cu mult înainte de anul 2000. În ciuda avantajelor sale, NAT are o serie de limitări care vor fi discutate în detaliu mai târziu în acest capitol. Soluția pentru epuizarea IPv4 și limitările NAT este tranziția finală la IPv6.

Caracteristicile NAT

Traducerea adreselor de rețea NAT este utilizată în diferite scopuri, dar scopul principal al acestui mecanism este păstrarea adreselor IPv4 publice. Face acest lucru permițând rețelelor să utilizeze adrese IPv4 private pentru comunicarea internă și transformându-le în adrese publice numai atunci când este necesar. Un avantaj suplimentar al NAT - confidențialitate sporită și securitate a rețelei - se datorează faptului că ascunde adresele IPv4 interne de la rețelele externe.

Un router NAT poate fi configurat cu una sau mai multe adrese IPv4 publice valide. Aceste adrese publice sunt cunoscute sub numele de pool de adrese NAT. Când un dispozitiv intern trimite trafic în afara rețelei, un router compatibil cu NAT traduce adresa IPv4 internă a dispozitivului către o adresă publică din pool-ul NAT. Aparatelor externe li se pare că tot traficul care intră și iese din rețea utilizează adrese IPv4 publice din grupul de adrese furnizat.

Un router NAT rulează de obicei la marginea unei rețele fără fund. O rețea stub este o rețea care utilizează o singură conexiune la o rețea vecină, o rută de intrare și o rută de ieșire. În exemplul prezentat în figură, R2 este un router de margine. Din punctul de vedere al ISP-ului, routerul R2 creează o rețea fără fund.

Atunci când un dispozitiv dintr-o rețea impasibilă necesită o conexiune la un dispozitiv din afara rețelei sale, pachetul este redirecționat către un router de margine. Ruterul de frontieră efectuează un proces NAT prin traducerea adresei private interne a dispozitivului într-o adresă publică, externă, rutabilă.

Notă... Conexiunea la rețeaua ISP poate utiliza, de asemenea, o adresă privată sau o adresă publică partajată de clienții furnizorului. În cadrul subiectului examinat, o adresă publică este dată ca exemplu.

În terminologia NAT, „rețea internă” se referă la setul de rețele implicate în traducere. Termenul „rețea externă” se referă la toate celelalte rețele.

Atunci când se utilizează NAT, adresele IPv4 reprezintă destinații diferite, în funcție de faptul dacă sunt pe o rețea privată sau publică (Internet) și dacă traficul este de intrare sau de ieșire.

NAT oferă 4 tipuri de adrese:

  • în interiorul adresei locale;
  • în interiorul adresei globale;
  • adresa locală externă;
  • adresa globală externă.

La stabilirea tipului de adresă de utilizat, este important să rețineți că terminologia NAT este aplicată întotdeauna din punctul de vedere al unui dispozitiv cu o adresă rezolvabilă:

  • Adresa internă este adresa dispozitivului tradusă de mecanismul NAT.
  • Adresa externă este adresa dispozitivului de destinație.

NAT folosește, de asemenea, conceptul de localitate sau globalitate în legătură cu adresele:

  • Adresa locală este orice adresă care apare în interiorul rețelei.
  • Adresa globală este orice adresă care apare în exteriorul rețelei.

În figură, adresa locală internă a PC1 este 192.168.10.10. Din punctul de vedere al PC1, serverul web utilizează adresa externă 209.165.201.1. Când pachetele sunt trimise de la PC1 la adresa serverului web global, adresa locală a PC1 se traduce la 209.165.200.226 (în interiorul adresei globale). Adresa dispozitivului extern nu este de obicei tradusă, deoarece această adresă este de obicei deja o adresă IPv4 publică.

Rețineți că PC1 utilizează adrese locale și globale diferite, iar serverul web utilizează aceeași adresă IPv4 publică în ambele cazuri. Din punctul de vedere al serverului web, traficul provenit de la PC1 pare să provină de la 209.165.200.226, adresa globală internă.

Ruterul NAT (R2 din figură) reprezintă punctul de demarcare între rețelele interne și externe și între adresele locale și globale.

Termenii „intern” și „extern” sunt folosiți împreună cu termenii „local” și „global” atunci când se referă la adrese specifice. În figură, R2 este configurat pentru a utiliza NAT. Folosește un grup de adrese publice atribuite gazdelor interne.

  • Adresa locală internă este adresa sursă din rețeaua internă. În Figura PC1, adresa IPv4 este 192.168.10.10. Aceasta este adresa locală internă a PC1.
  • În interiorul adresei globale este adresa sursă din rețeaua externă. În figură, când PC1 trimite trafic către serverul web la 209.165.201.1, R2 traduce adresa locală internă la adresa globală internă. În acest caz, R2 schimbă adresa IPv4 originală din 192.168.10.10 în 209.165.200.226. În terminologia NAT, adresa locală internă 192.168.10.10 este tradusă în adresa globală internă 209.165.200.226.
  • Adresă externă globală este adresa de destinație așa cum se vede din rețeaua externă. Aceasta este o adresă IPv4 rutată global atribuită unei gazde pe Internet. De exemplu, serverul web este accesibil la adresa IPv4 209.165.201.1. În majoritatea cazurilor, adresele externe locale și externe globale sunt aceleași.
  • Adresa locală externă este adresa de destinație din rețeaua internă. În acest exemplu, PC1 trimite trafic către serverul web cu adresa IPv4 209.165.201.1. În cazuri rare, această adresă poate fi diferită de adresa de destinație rutată global.

Figura arată cum este adresat traficul trimis de un computer intern către un server web extern printr-un router compatibil cu NAT. De asemenea, arată modul în care traficul de retur este inițial abordat și mapat.

Notă... Utilizarea unei adrese locale externe depășește sfera acestui tutorial.

Tipuri de traducere a adresei de rețea NAT

Există trei mecanisme pentru traducerea adreselor de rețea:

  • Traducerea statică a adresei de rețea (NAT static) este o corespondență unu-la-unu între adresele locale și globale.
  • Traducere dinamică a adresei de rețea (NAT dinamică) este o mapare a adreselor de la mai multe la multe între adrese locale și globale.
  • Traducere adresă port (PAT) este o mapare de adrese multiple între adrese locale și globale. Această metodă se mai numește suprasarcină (NAT cu suprasarcină).

Traducere adresă de rețea statică (NAT)

Static NAT folosește cartografierea unu-la-unu între adrese locale și globale. Aceste corespondențe sunt stabilite de administratorul de rețea și rămân neschimbate.

În figură, routerul R2 are mapări statice configurate pentru adresele locale interne ale Svr1, PC2 și PC3. Când aceste dispozitive trimit trafic către Internet, adresele lor interne interne sunt traduse la adresele globale interne specificate. Pentru rețelele externe, aceste dispozitive utilizează adrese IPv4 publice.

Metoda statică de traducere a adresei de rețea este utilă în special pentru serverele sau dispozitivele web care trebuie să aibă o adresă permanentă care este accesibilă de pe Internet - de exemplu, un server web al companiei. Static NAT este, de asemenea, potrivit pentru dispozitivele care trebuie să fie accesibile personalului autorizat care lucrează în afara biroului, dar rămân închis accesului public pe internet. De exemplu, un administrator de rețea de la PC4 poate SSH la adresa globală internă Svr1 (209.165.200.226). R2 traduce această adresă globală internă într-o adresă locală internă și conectează sesiunea de administrator la Svr1.

NAT static necesită un număr suficient de adrese publice disponibile pentru numărul total de sesiuni de utilizator simultane.

Traducere dinamică a adreselor NAT

Traducerea dinamică a adreselor de rețea (Dynamic NAT) folosește un grup de adrese publice care sunt atribuite în funcție de primul venit, primul servit. Când dispozitivul interior solicită acces la rețeaua externă, NAT dinamic atribuie o adresă publică IPv4 disponibilă din pool.

În figură, PC3 accesează Internetul utilizând prima adresă disponibilă în pool-ul NAT dinamic. Alte adrese sunt încă disponibile pentru utilizare. Similar cu NAT-ul static, NAT-ul dinamic necesită un număr suficient de adrese publice pentru a suporta numărul total de sesiuni de utilizator simultane.

Traducere adresă port (PAT)

Numit și suprasarcină NAT, mapează mai multe adrese IPv4 private la una sau mai multe adrese IPv4 publice. Aceasta este metoda utilizată de majoritatea routerelor de acasă. ISP-ul atribuie o singură adresă routerului, dar mai mulți membri ai familiei pot accesa Internetul în același timp. Încărcare NAT este cea mai comună metodă de traducere a adreselor de rețea.

Cu această metodă, mai multe adrese pot fi mapate la una sau mai multe adrese, deoarece fiecare adresă privată este, de asemenea, urmărită de un număr de port. Dacă un dispozitiv pornește o sesiune TCP / IP, acesta creează o valoare de port TCP sau UDP pentru sursă pentru a identifica în mod unic sesiunea. Când un router NAT primește un pachet de la un client, acesta folosește numărul de port sursă pentru a identifica în mod unic o anumită traducere NAT.

PAT se asigură că dispozitivele utilizează un număr de port TCP diferit pentru fiecare sesiune cu un server pe Internet. Când un răspuns este returnat de la server, numărul portului sursă, care devine numărul portului de destinație la postback, determină către ce dispozitiv routerul va redirecționa pachetele corespunzătoare. Procesul PAT verifică, de asemenea, că pachetele primite au fost într-adevăr solicitate, sporind astfel securitatea sesiunii.

Utilizați butoanele Redare și Pauză din figură pentru a controla animația.

Animația ilustrează procesul de traducere a adreselor de port (PAT). Pentru a distinge între traduceri, mecanismul PAT adaugă numere de port sursă unice la adresa globală internă.

Deoarece R2 procesează fiecare pachet, folosește numărul de port (1331 și 1555 în acest exemplu) pentru a identifica dispozitivul de la care a venit pachetul. Adresa sursă (SA) este adresa locală din interior atașată cu numărul de port TCP / IP atribuit. Adresa de destinație (DA) este adresa locală externă cu numărul portului de serviciu atașat. În acest exemplu, portul de serviciu este 80: HTTP.

Pentru adresa sursă, R2 traduce adresa locală internă la adresa globală internă cu numărul portului atașat. Adresa de destinație nu se modifică, dar acum devine adresa IP globală externă. Când serverul web răspunde, calea este parcursă din nou, numai în ordine inversă.

În exemplul anterior, numerele de port ale clientului, 1331 și 1555, nu au fost modificate pe routerul compatibil cu NAT. Acest scenariu nu este foarte plauzibil, deoarece este foarte probabil ca aceste numere de porturi să fie deja utilizate pentru alte sesiuni active.

PAT încearcă să păstreze portul sursă original. În cazul în care portul sursă original este deja utilizat, PAT atribuie primul număr de port disponibil, începând de la începutul grupului de porturi corespunzător - 0-511, 512-1023 sau 1024-65535. Dacă nu mai sunt porturi disponibile și există mai multe adrese externe în grupul de adrese, PAT trece la următoarea adresă, încercând să aloce portul sursă original. Acest proces continuă până când se epuizează atât porturile disponibile, cât și adresele IP externe.

Pentru a vă familiariza cu principiul funcționării PAT, faceți clic pe butonul „Redare” din figură.

În animație, nodurile aleg același număr de port, 1444. Acest lucru este valabil pentru o adresă internă, deoarece nodurilor li se atribuie adrese IP private unice. Dar pe un router activat NAT, numerele de port trebuie schimbate. În caz contrar, pachetele de la două noduri diferite ar ieși din R2 cu aceeași adresă sursă. În acest exemplu, în timpul traducerii PAT, celei de-a doua adrese de nod i se atribuie următorul port disponibil (1445).

Comparație între NAT și PAT

Diferențele dintre NAT și PAT prezentate mai jos vă vor ajuta să înțelegeți specificul fiecăreia dintre aceste metode de traducere a adresei de rețea.

Așa cum se arată în figură, NAT traduce adresele IPv4 pe o bază 1: 1 pentru adresele IPv4 private și adresele IPv4 publice. În același timp, PAT schimbă atât adresa, cât și numărul portului.

NAT redirecționează pachetele primite către destinația lor internă utilizând adresa sursă IPv4 primită furnizată de o gazdă din rețeaua publică. Atunci când utilizați PAT, de obicei sunt implicate doar una sau un număr mic de adrese IPv4 expuse public. Pachetele primite din rețeaua publică sunt direcționate către destinații din rețeaua privată utilizând tabelul routerului NAT. Acest tabel ține evidența perechilor de porturi publice și private, care se numește urmărirea conexiunii.

Pachete fără segmentul stratului 4

Ce se întâmplă cu pachetele IPv4 care transportă date care nu sunt un segment TCP sau UDP? Aceste pachete nu conțin un număr de port Layer 4. PAT convertește majoritatea protocoalelor majore transportate prin IPv4 care nu utilizează TCP sau UDP într-un protocol de strat de transport. Cel mai comun dintre aceste protocoale este ICMPv4. Procesul de conversie PAT tratează diferit fiecare dintre aceste protocoale. De exemplu, mesajele de solicitare ICMPv4, solicitările de ecou și răspunsurile la ecou conțin un ID de interogare. ICMPv4 folosește un ID de interogare pentru a identifica o cerere de ecou cu un răspuns de ecou potrivit. ID-ul cererii este incrementat cu fiecare cerere de ecou trimisă. PAT folosește ID-ul cererii în locul numărului de port al stratului 4.

Notă... Alte mesaje ICMPv4 nu utilizează ID-ul interogării. Aceste mesaje și alte protocoale care nu utilizează numerele de port TCP și UDP pot diferi între ele și nu sunt acoperite în acest tutorial.

Configurare NAT

Configurarea NAT statică

Traducerea statică a adreselor de rețea NAT este o mapare unu-la-unu între adrese interioare și externe. NAT static permite dispozitivelor externe să inițieze conexiuni la dispozitive interne utilizând o adresă publică atribuită static. De exemplu, un server web intern poate fi mapat la o adresă globală internă care este definită ca fiind accesibilă din rețelele externe.

În fig. 1 arată o rețea internă care conține un server web cu o adresă IPv4 privată. NAT static este configurat pe R2 pentru a permite dispozitivelor din rețeaua externă (Internet) să acceseze serverul web. Un client din rețeaua externă accesează serverul web utilizând o adresă IPv4 publică. NAT static transformă o adresă IPv4 publică într-o adresă IPv4 privată.

Configurarea NAT statică implică două sarcini principale.

Pasul 1. Prima sarcină este de a crea o mapare între adresele interne-locale și interioare-globale. De exemplu, în Fig. 1, adresa locală internă 192.168.10.254 și adresa globală internă 209.165.201.5 sunt configurate ca o traducere statică NAT.

Pasul 2. După configurarea mapării, interfețele implicate în traducere sunt configurate ca interne sau externe pentru NAT. În acest exemplu, interfața R2 Serial 0/0/0 este interfața internă și Serial 0/1/0 este interfața externă.

Pachetele care sosesc pe interfața internă a routerului R2 (Serial 0/0/0) de la adresa IPv4 locală internă configurată (192.168.10.254) sunt traduse și apoi redirecționate către rețeaua externă. Pachetele care sosesc pe interfața exterioară a R2 (Serial 0/1/0) adresate adresei IPv4 globale configurate în interior (209.165.201.5) sunt traduse în adresa locală internă (192.168.10.254) și apoi redirecționate către rețeaua internă.

În fig. Figura 2 prezintă comenzile necesare configurării NAT statice.

În fig. Figura 3 prezintă comenzile necesare pentru a crea o mapare NAT statică pentru serverul web pe R2 în topologia de referință. Ca parte a configurației prezentate, R2 convertește adresa 192.168.10.254 în adresa IPv4 publică 209.165.201.5 în pachete trimise de serverul web. Clientul de Internet direcționează cererile web către adresa publică IPv4 209.165.201.5. R2 redirecționează acest trafic către serverul web la 192.168.10.254.

Utilizați Verificatorul de sintaxă (a se vedea Figura 4) pentru a configura o intrare suplimentară de traducere statică NAT pe R2.

Această figură arată procesul de traducere statică NAT între un client și un server web utilizând configurația anterioară. Conversiile statice sunt utilizate în mod obișnuit atunci când clienții din rețeaua externă (Internet) trebuie să acceseze servere din rețeaua internă.

1. Clientul trebuie să se conecteze la serverul web. Clientul trimite pachetul către serverul web utilizând destinația publică IPv4 209.165.201.5. Aceasta este adresa globală internă a serverului web.

2. Primul pachet pe care R2 îl primește de la un client pe interfața sa externă NAT determină R2 să își verifice tabelul NAT. Adresa IPv4 de destinație se află în tabelul NAT și routerul se traduce corespunzător.

3. R2 înlocuiește adresa globală internă 209.165.201.5 cu adresa locală internă 192.168.10.254. R2 apoi redirecționează pachetul către serverul web.

4. Serverul web primește pachetul și răspunde clientului utilizând adresa locală internă 192.168.10.254.

5a. R2 primește un pachet de la serverul web pe interfața sa internă NAT cu o adresă sursă corespunzătoare adresei locale interne a serverului web, 192.168.10.254.

5b. R2 verifică tabelul NAT pentru a vedea dacă există o traducere pentru adresa locală din interior. Această adresă apare în tabelul NAT. R2 convertește adresa sursă înapoi la adresa globală internă 209.165.201.5 și transmite pachetul către client prin interfața Serial 0/1/0.

6. Clientul primește pachetul și continuă dialogul. Routerul NAT efectuează pașii 2-5b pentru fiecare pachet (pasul 6 nu este prezentat în figură).

Verificare NAT statică

Pentru a verifica dacă NAT funcționează, utilizați comanda afișează traduceri ip nat... Această comandă afișează traduceri NAT active. Spre deosebire de traducerile dinamice, traducerile statice sunt întotdeauna prezente în tabelul NAT. În fig. 1 arată ieșirea acestei comenzi pentru exemplul de configurare anterior. Deoarece exemplul este o configurație statică, traducerea este întotdeauna prezentă în tabelul NAT, indiferent de comunicațiile active. Dacă comanda este introdusă în timpul unei sesiuni active, ieșirea va conține și adresa dispozitivului extern, așa cum se arată în Fig. 1.

O altă comandă utilă este arată statisticile ip nat... Așa cum se arată în fig. 2, echipa arată statisticile ip nat

Pentru a vă asigura că traducerea NAT funcționează corect, este recomandat să ștergeți statisticile tuturor traducerilor anterioare utilizând comanda înainte de testare statistici clare ip nat.

Înainte de a interacționa cu serverul web, comanda arată statisticile ip nat nu ar trebui să arate niciun meci. După ce clientul a stabilit o sesiune cu serverul web, rezultatul comenzii arată statisticile ip nat va arăta o creștere a numărului de meciuri la 5. Aceasta confirmă faptul că a fost efectuată o traducere statică NAT pe R2.

Configurarea NAT dinamică

În timp ce NAT static oferă mapare persistentă între adresa locală din interior și adresa globală din interior, NAT dinamic acceptă maparea automată a adreselor locale din interior la adresele globale din interior. Aceste adrese globale din interior sunt de obicei adrese IPv4 publice. Dynamic NAT folosește un grup sau un grup de adrese IPv4 publice pentru traducere.

NAT-ul dinamic, ca și NAT-ul static, necesită configurarea interfețelor interioare și exterioare implicate în traducerea NAT. Cu toate acestea, dacă NAT static creează o mapare persistentă la o singură adresă, atunci se utilizează un pool de adrese pentru NAT dinamică.

Notă... Traducerea între adresele IPv4 publice și private este cea mai obișnuită utilizare a NAT. Cu toate acestea, traducerile NAT pot apărea între orice pereche de adrese.

În topologia de referință prezentată în figură, rețeaua internă utilizează adrese din spațiul de adrese private definit în RFC 1918. Există două rețele LAN conectate la routerul R1 - 192.168.10.0/24 și 192.168.11.0/24. Edge Router R2 este configurat pentru traducerea NAT dinamică utilizând un grup de adrese IPv4 publice de la 209.165.200.226 la 209.165.200.240.

Grupul de adrese IPv4 publice (grupul de adrese globale interne) este disponibil pentru orice dispozitiv din rețeaua internă, pe baza principiului „primul venit, primul servit”. Dynamic NAT traduce o adresă internă într-o adresă externă. Pentru acest tip de traducere, trebuie să existe suficiente adrese în pool pentru a acoperi toate dispozitivele interne care au nevoie simultan de acces la rețeaua externă. Dacă sunt utilizate toate adresele pool-ului, dispozitivul trebuie să aștepte o adresă disponibilă pentru a accesa rețeaua externă.

În fig. afișează pașii și comenzile utilizate pentru a configura NAT dinamic.

Pasul 1. Folosind comanda piscina ip nat setați grupul de adrese care vor fi utilizate pentru traducere. Acest grup de adrese este de obicei un grup de adrese publice. Aceste adrese sunt determinate prin specificarea adreselor IP inițiale și finale ale pool-ului. Cuvânt cheie netmask sau lungimea prefixului indică ce biți de adresă sunt în legătură cu rețeaua și care sunt cu gama de adrese de gazdă.

Pasul 2. Configurați un ACL standard pentru a defini (permite) numai acele adrese care trebuie traduse. Un ACL cu prea multe comenzi permisive poate duce la rezultate imprevizibile. Amintiți-vă că la sfârșitul fiecărei ACL este linia nega toate.

Pasul 3. Legați ACL de piscină. Comanda ip nat în lista de sursenumăr-listă-accesgrup de numerenumele bazinului folosit pentru a lega o listă de un pool. Această configurație este utilizată de router pentru a determina ce dispozitive ( listă) obține care adrese ( bazin).

Pasul 4. Identificați interfețele care se află în interiorul NAT, adică orice interfață conectată la rețeaua internă.

Pasul 5. Identificați interfețele externe NAT, adică orice interfață conectată la o rețea externă.

În fig. 2 prezintă un exemplu de topologie și configurație asociată. Această configurație permite conversia tuturor gazdelor din rețeaua 192.168.0.0/16 care conține rețelele locale 192.168.10.0 și 192.168.11.0 atunci când gazdele generează trafic care intră în S0 / 0/0 și iese din S0 / 1/0. Adresele acestor noduri sunt mapate la o adresă disponibilă din pool în intervalul 209.165.200.226 până la 209.165.200.240.

În fig. 3 prezintă topologia utilizată pentru a configura verificatorul de sintaxă. Utilizați verificatorul de sintaxă din Fig. 4 pentru a configura traducerea dinamică NAT pe R2.

Analiză dinamică NAT

Figurile de mai jos ilustrează procesul de traducere dinamică NAT între doi clienți și un server web utilizând configurația anterioară.

În fig. 1 arată fluxul de trafic din interior spre exterior.

1. Gazdele cu adrese IPv4 sursă (192.168.10.10 (PC1) și 192.168.11.10 (PC2)) trimit pachete solicitând o conexiune la server la o adresă IPv4 publică (209.165.200.254).

2. Routerul R2 primește primul pachet de la gazda 192.168.10.10. Deoarece acest pachet a fost primit pe o interfață configurată ca o interfață NAT în interior, R2 verifică configurația NAT pentru a determina dacă ar trebui să traducă acest pachet. ACL permite acest pachet, astfel încât R2 îl convertește. R2 își verifică tabelul NAT. Deoarece nu există intrări de traducere pentru această adresă IP, R2 decide că adresa sursă 192.168.10.10 necesită traducere dinamică. R2 alege o adresă globală disponibilă din grupul de adrese dinamice și creează o intrare de traducere - 209.165.200.226. Adresa sursă IPv4 originală (192.168.10.10) este adresa locală internă, iar adresa utilizată pentru traducere este adresa globală internă (209.165.200.226) din tabelul NAT.

R2 repetă procedura pentru al doilea nod, 192.168.11.10, alegând următoarea adresă globală disponibilă din grupul de adrese dinamice și creând o a doua intrare de traducere, 209.165.200.227.

3. R2 înlocuiește adresa sursă locală internă a PC1 (192.168.10.10) cu cea utilizată pentru traducere cu adresa globală internă (209.165.200.226) și transmite pachetul. Aceiași pași sunt efectuați pentru pachetul trimis de PC2, folosind adresa corespunzătoare PC2 (209.165.200.227) pentru traducere.

Fig 1

În fig. 2 arată fluxul de trafic din exterior spre interior.

4. Serverul primește pachetul de la PC1 și răspunde cu adresa IPv4 de destinație 209.165.200.226. La primirea celui de-al doilea pachet, serverul răspunde la PC2 utilizând adresa IPv4 de destinație 209.165.200.227.

5a. Când R2 primește un pachet cu adresa IPv4 de destinație 209.165.200.226, Router R2 se uită în tabelul NAT. R2 folosește maparea din tabel pentru a rezolva adresa înapoi la adresa locală din interior (192.168.10.10) și redirecționează pachetul către PC1.

5b. Când R2 primește un pachet cu adresa IPv4 de destinație 209.165.200.227, routerul R2 caută tabelul NAT. R2 folosește maparea din tabel pentru a rezolva adresa înapoi la adresa locală din interior (192.168.11.10) și redirecționează pachetul către PC2.

6. PC1 cu adresa 192.168.10.10 și PC2 cu adresa 192.168.11.10 primesc pachete și continuă dialogul. Routerul NAT efectuează pașii 2-5b pentru fiecare pachet (pasul 6 nu este prezentat în figuri).

Fig 2

Verificare dinamică NAT

Rezultatele echipei afișează traduceri ip nat prezentat în Fig. 1 conțin informații despre cele două sarcini NAT anterioare. Comanda afișează toate traducerile de adrese statice configurate și toate traducerile dinamice generate ca urmare a procesării traficului.

Adăugarea unui cuvânt cheie detaliat afișează informații suplimentare despre fiecare transformare, inclusiv timpul de când a fost creată și utilizată intrarea.

În mod implicit, intrările de conversie expiră după 24 de ore, cu excepția cazului în care setarea temporizatorului a fost modificată folosind comanda expirarea traducerii ip nattimeout-secundeîn modul de configurare globală.

Pentru a șterge intrările dinamice înainte ca acestea să expire, utilizați comanda modului de configurare globală traducere clară ip nat... Se recomandă ștergerea intrărilor dinamice atunci când vă verificați configurația NAT. După cum se arată în tabel, această comandă poate fi utilizată cu cuvinte cheie și variabile pentru a defini înregistrările de șters. Intrările specifice pot fi șterse pentru a evita blocarea sesiunilor active. Pentru a elimina toate transformările din tabel, utilizați comanda de configurare globală clar traducere ip nat *.

Notă... Doar transformările dinamice sunt eliminate din tabel. Conversiile statice nu pot fi eliminate din tabelul de conversie.

După cum se arată, comanda arată statisticile ip nat afișează informații despre numărul total de traduceri active, parametrii de configurare NAT, numărul de adrese din pool și numărul de adrese alocate.

Alternativ, puteți utiliza comanda show running-configși găsiți comenzile NAT, ACL, interfață sau pool cu ​​valorile dorite. Studiați cu atenție rezultatele și corectați eventualele erori găsite.

Configurarea traducerii adreselor de port (PAT)

Traducerea adreselor de port PAT (numită și NAT cu suprasarcină) păstrează adresele în pool-ul global intern, permițând unui router să utilizeze o adresă globală internă pentru mai multe adrese locale interne. Cu alte cuvinte, o singură adresă IPv4 publică poate fi utilizată pentru sute sau chiar mii de adrese private IPv4 interne. Când acest tip de traducere este configurat, routerul stochează suficiente informații de protocol de nivel superior, cum ar fi numerele de port TCP sau UDP, pentru a inversa adresa globală internă la adresa locală corectă din interior. Când legați mai multe adrese locale interne la o singură adresă globală internă, numerele de port TCP sau UDP sunt utilizate pentru a face distincția între adresele locale.

Notă... Numărul total de adrese interne care pot fi traduse într-o singură adresă externă poate ajunge teoretic la 65.536 pe adresă IP. Dar numărul de adrese interne cărora li se poate atribui o singură adresă IP este de aproximativ 4000.

Există două moduri de a configura PAT, în funcție de modul în care ISP-ul dvs. alocă adrese IPv4 publice. În primul caz, ISP alocă mai multe adrese IPv4 publice organizației, iar în al doilea caz, o singură adresă IPv4 publică este alocată organizației pentru a se conecta la rețeaua ISP.

Configurarea PAT pentru un grup de adrese IP publice

Dacă unui obiect i s-au alocat mai multe adrese IPv4 publice, atunci aceste adrese pot face parte din grupul utilizat de PAT. Acest lucru este similar cu NAT-ul dinamic, cu excepția faptului că nu există suficiente adrese publice pentru a crea corespondențe unu-la-unu între adrese interioare și externe. Un număr mic de adrese este partajat de un număr mare de dispozitive.

În fig. 1 arată pașii pentru configurarea PAT pentru a utiliza un pool de adrese. Principala diferență între această configurație și configurația pentru NAT dinamică one-to-one este utilizarea cuvântului cheie supraîncărcare... Cuvânt cheie supraîncărcare permite lucrul PAT.

Un exemplu de configurație prezentat în Fig. 2, creează o traducere de suprasarcină pentru grupul NAT numit NAT-POOL2. NAT-POOL2 conține adrese de la 209.165.200.226 la 209.165.200.240. Obiectele transformării sunt gazdele din rețeaua 192.168.0.0/16. Interfața S0 / 0/0 este definită ca interfață internă, iar interfața S0 / 1/0 este definită ca interfață externă.

Utilizați verificatorul de sintaxă din Fig. 3 pentru a configura PAT pe R2 folosind un pool de adrese.

Configurarea PAT pentru o adresă IPv4 publică

În fig. 1 arată topologia unei implementări PAT pentru a traduce o singură adresă IPv4 publică. În acest exemplu, toate gazdele din rețeaua 192.168.0.0/16 (ACL corespunzătoare 1) care trimit trafic către Internet prin routerul R2 vor fi mapate la adresa IPv4 209.165.200.225 (adresa IPv4 a interfeței S0 / 1/0 ). Fluxurile de trafic vor fi determinate de numerele de port din tabelul NAT de atunci supraîncărcare.

În fig. Figura 2 prezintă pașii necesari pentru a configura un PAT cu o singură adresă IPv4. Dacă este disponibilă o singură adresă IPv4 publică, configurației de suprasarcină i se atribuie de obicei adresa publică a interfeței externe care se conectează la ISP. Toate adresele interne din pachetele care părăsesc interfața externă sunt traduse într-o singură adresă IPv4.

Pasul 1. Definiți un ACL care permite conversia traficului.

Pasul 2. Personalizați transformarea sursei folosind cuvinte cheie interfațăși supraîncărcare... Cuvânt cheie interfață specifică adresa IP a interfeței de utilizat la traducerea adreselor interne. Cuvânt cheie supraîncărcareîi spune routerului să țină evidența numerelor de port pentru fiecare intrare NAT.

Pasul 3. Specificați interfețele care sunt interne NAT. Aceasta este orice interfață conectată la rețeaua internă.

Pasul 4. Specificați o interfață externă pentru NAT. Aceasta trebuie să fie aceeași interfață care a fost specificată în intrarea de transformare sursă la pasul 2.

Această configurație este similară cu NAT dinamică, cu excepția faptului că cuvântul cheie este utilizat pentru a defini o adresă IPv4 externă în loc de un grup de adrese interfață... Prin urmare, nu este definit nici un pool NAT.

Utilizați verificatorul de sintaxă pentru a configura PAT pe R2 cu o singură adresă.

Analiza PAT

Procesul pentru supraîncărcarea NAT este același atunci când se utilizează un grup de adrese sau când se utilizează o singură adresă. Continuând din exemplul PAT anterior, utilizând o singură adresă IPv4 publică, PC1 necesită o conexiune la serverul web Svr1. În același timp, un alt client, PC2, trebuie să stabilească o sesiune similară cu serverul web Svr2. Atât PC1 cât și PC2 sunt configurate cu adrese IPv4 private, iar PAT este activat pe R2.

Procesul de transfer al pachetelor de la computere la servere

1. În fig. 1 arată computerele PC1 și PC2 care trimit pachete către serverele Svr1 și respectiv Svr2. PC1 folosește adresa IPv4 192.168.10.10 și portul TCP sursă 1444. PC2 folosește adresa IPv4 sursă 192.168.10.11 și coincident folosește aceeași port TCP sursă 1444.

2. Pachetul de la PC1 ajunge mai întâi la routerul R2. Folosind PAT, R2 schimbă adresa IPv4 sursă la 209.165.200.225 (în interiorul adresei globale). Nu există alte dispozitive în tabelul NAT care utilizează portul 1444, deci PAT păstrează același număr de port. Pachetul este apoi redirecționat către serverul Svr1 la 209.165.201.1.

3. Apoi, un pachet vine pe routerul R2 de pe PC2. Setarea PAT asigură că toate traducerile utilizează aceeași adresă IPv4 globală internă, 209.165.200.225. Similar procesului de traducere pentru PC1, PAT schimbă adresa sursă IPv4 a PC2 la adresa globală internă 209.165.200.225. Cu toate acestea, acest pachet PC2 utilizează numărul portului sursă deja conținut în intrarea PAT curentă care convertește PC1. PAT crește numărul portului sursă până când valoarea sa este unică pentru tabelul dat. În acest caz, intrării portului sursă din tabelul NAT și pachetului de pe PC2 i se atribuie numărul 1445.

Deși PC1 și PC2 utilizează aceeași adresă tradusă, adresa globală internă este 209.165.200.225 și același număr de port sursă este 1444, numărul de port modificat pentru PC2 (1445) face ca fiecare intrare din tabelul NAT să fie unică. Acest lucru devine evident atunci când serverele trimit înapoi pachete către clienți.

Procesul de transfer al pachetelor de la servere la computere

4. După cum se arată în fig. 2, într-un schimb tipic client-server, serverele Svr1 și Svr2 răspund la solicitările primite de la computerele PC1 și respectiv PC2. Serverele utilizează portul sursă al pachetului primit pentru traficul de retur ca port de destinație și adresa sursă ca adresă de destinație. Serverele se comportă ca și când ar comunica cu un singur nod 209.165.200.225, dar nu este cazul.

5. După primirea pachetelor, routerul R2 găsește o intrare unică în tabelul NAT utilizând adresa de destinație și portul de destinație al fiecărui pachet. Dacă se primește un pachet de la Svr1, adresa de destinație IPv4 209.165.200.225 corespunde mai multor intrări, dar numai una dintre ele conține portul de destinație 1444. Utilizând această intrare de tabel, routerul R2 schimbă adresa IPv4 de destinație a pachetului la 192.168.10.10. Schimbarea portului de destinație nu este necesară în acest caz. Pachetul este apoi redirecționat către PC1.

6. După primirea pachetului de pe serverul Svr2, R2 efectuează aceeași conversie. Routerul găsește din nou adresa de destinație IPv4 209.165.200.225 cu mai multe intrări. Cu toate acestea, utilizând portul de destinație 1445, R2 poate identifica în mod unic intrarea de mapare. Adresa IPv4 de destinație este schimbată în 192.168.10.11. În acest caz, portul de destinație trebuie de asemenea schimbat la valoarea inițială de 1444 stocată în tabelul NAT. Pachetul este apoi redirecționat către PC2.

Verificare PAT

R2 este configurat pentru a furniza PAT clienților din rețeaua 192.168.0.0/16. Când gazdele interne ies prin R2 către Internet, adresele lor sunt rezolvate la o adresă IPv4 din pool-ul PAT cu un număr de port sursă unic.

Verificarea PAT utilizează aceleași comenzi ca și pentru verificarea NAT statică și dinamică, așa cum se arată în Fig. 1. Echipa afișează traduceri ip nat produce transformări pentru trafic de la două site-uri diferite la servere web diferite. Rețineți că două gazde interne diferite au aceeași adresă IPv4 209.165.200.226 (adresă globală internă). Numerele porturilor sursă sunt utilizate în tabelul NAT pentru a face distincția între cele două tranzacții.

Așa cum se arată în fig. 2, echipa arată statisticile ip nat vă permite să verificați dacă NAT-POOL2 are aceeași adresă alocată pentru ambele traduceri. Ieșirea comenzii conține informații despre numărul și tipul traducerilor active, setările NAT, numărul de adrese din pool și numărul de adrese alocate.

NAT, sau Network Address Translation, este o modalitate de reatribuire a unui spațiu de adresă la altul prin schimbarea informațiilor despre adresa de rețea din Protocolul de internet sau IP. Anteturile de pachete se schimbă în timp ce sunt în tranzit prin dispozitive de rutare. Această metodă a fost inițial utilizată pentru a redirecționa mai ușor traficul pe rețelele IP fără a fi nevoie să numerotați fiecare gazdă. A devenit un instrument important și popular pentru alocarea și întreținerea spațiului global de adrese în fața unei penurii acute de adrese IPv4.

Ce este NAT?

Utilizarea traducerii adreselor de rețea este de a mapa fiecare adresă de la un spațiu de adrese la o adresă care se află într-un spațiu de adrese diferit. Acest lucru poate fi necesar în cazul în care furnizorul de servicii s-a schimbat și utilizatorul nu are posibilitatea de a anunța public noua rută către rețea. În fața epuizării globale a spațiului de adrese, tehnologia NAT a fost din ce în ce mai utilizată de la sfârșitul anilor '90. De obicei, această tehnologie este utilizată împreună cu criptarea IP. Criptarea IP este o metodă de transfer a mai multor adrese IP într-un singur spațiu. Acest mecanism este implementat într-un dispozitiv de rutare care utilizează tabele de traducere stabile pentru a mapa adresele ascunse la o singură adresă IP. De asemenea, redirecționează toate pachetele IP de ieșire de pe ieșire. Astfel, aceste pachete sunt afișate ca părăsind dispozitivul de rutare. Răspunsurile de backlink sunt mapate la adresa IP originală utilizând reguli stocate în tabelele de traducere. La rândul lor, tabelele de traducere sunt șterse după un timp scurt dacă traficul nu își actualizează starea. Acesta este mecanismul de bază NAT. Ce inseamna asta? Această tehnologie face posibilă organizarea comunicării prin intermediul unui router numai atunci când conexiunea are loc într-o rețea criptată, deoarece aceasta creează tabele de traducere. În interiorul unei astfel de rețele, un browser web poate vizualiza un site în afara acesteia, dar fiind instalat în afara acesteia, nu poate deschide o resursă care este găzduită pe ea. Majoritatea dispozitivelor NAT de astăzi permit administratorului de rețea să configureze intrările tabelului de traducere pentru utilizare permanentă. Această caracteristică este denumită în special deseori port forwarding sau NAT static. Permite traficului de ieșire către rețeaua „exterioară” să ajungă la gazde desemnate din rețeaua criptată. Datorită popularității metodei utilizate pentru păstrarea spațiului de adrese IPv4, termenul NAT a devenit aproape sinonim cu criptarea. Deoarece traducerea adresei de rețea modifică informațiile de adresă ale pachetelor IP, aceasta poate avea consecințe grave asupra calității conexiunii. Deci necesită o atenție deosebită la toate detaliile implementării. Modalitățile de utilizare a NAT diferă unele de altele în ceea ce privește comportamentul lor specific în diferite situații legate de impactul asupra traficului de rețea.

NAT de bază

Cel mai simplu tip de NAT permite traducerea unu-la-unu a adreselor IP. Principalul tip al acestei transmisii este RFC-2663. În acest caz, se modifică doar adresele IP, precum și suma de verificare a antetelor IP. Tipurile de traducere de bază pot fi utilizate pentru a conecta două rețele IP care au adresare incompatibilă.

Majoritatea aromelor NAT sunt capabile să mapeze mai multe gazde private la o singură adresă IP desemnată public. O rețea LAN într-o configurație tipică utilizează una dintre adresele IP „private” atribuite pentru subrețea. În această rețea, routerul are o adresă privată în spațiu. De asemenea, routerul se conectează la Internet utilizând o „adresă publică” atribuită de ISP. Deoarece traficul trece de pe internetul local, adresa sursă din fiecare pachet este tradusă din privat în public din mers. De asemenea, routerul ține evidența datelor de bază despre fiecare conexiune activă. În special, acest lucru se aplică informațiilor precum adresa și portul de destinație. Când răspunsul îi este returnat, el folosește datele de conectare care sunt salvate în timpul fazei de ieșire. Acest lucru este necesar pentru a determina adresa privată a rețelei interne către care ar trebui să fie direcționat răspunsul. Principalul avantaj al acestei funcționalități este că este o soluție practică la problema epuizării spațiului de adrese IPv4. Chiar și rețelele mari pot fi conectate la Internet folosind o singură adresă IP. Toate pachetele de date din rețelele IP au două adrese IP - adresa sursă și adresa de destinație. Pachetele care călătoresc de la o rețea privată la o rețea publică vor avea o adresă sursă de pachete care se schimbă în timpul tranziției de la o rețea publică la o rețea privată. Sunt posibile și configurații mai complexe.

Caracteristicile configurației NAT

Configurarea NAT poate fi specifică. Ar putea fi necesare modificări suplimentare pentru a evita dificultățile de traducere a pachetelor returnate. Majoritatea traficului de internet va trece prin UDP și TCP. Numerele lor sunt schimbate astfel încât adresele IP și numerele de port să fie potrivite atunci când datele sunt trimise înapoi. Protocoalele care nu se bazează pe UDP sau TCP necesită metode de traducere diferite. De obicei, ICMP sau Protocolul de control al mesajelor pe Internet, corelează informațiile transmise cu conexiunea existentă. Aceasta înseamnă că acestea trebuie afișate utilizând aceeași adresă IP și același număr care a fost setat inițial. Ce ar trebui luat în considerare? Configurarea NAT pe router nu oferă conectivitate end-to-end. Din acest motiv, astfel de routere nu pot participa la unele protocoale de internet. Este posibil ca serviciile care necesită inițierea conexiunilor TCP de la rețeaua externă sau utilizatorii non-protocol pur și simplu să nu fie disponibile. Dacă routerul NAT nu depune eforturi mari pentru a suporta astfel de protocoale, atunci pachetele primite nu pot ajunge niciodată la destinație. Unele protocoale pot fi găzduite în aceeași transmisie între gazdele participante, uneori folosind un gateway de straturi de aplicație. Cu toate acestea, conexiunea nu va fi stabilită atunci când ambele sisteme sunt separate de Internet utilizând NAT. De asemenea, utilizarea NAT complică protocoalele de tunelare precum IPsec, deoarece modifică valorile din anteturi care interacționează cu verificările de integritate ale solicitărilor.

NAT: o problemă existentă

Principiul de bază al internetului este conectivitatea end-to-end. A existat de la dezvoltarea sa. Starea actuală a rețelei demonstrează doar că NAT este o încălcare a acestui principiu. Într-un mediu profesional, există preocupări serioase cu privire la utilizarea pe scară largă a traducerii adreselor de rețea în IPv6. Astfel, astăzi se pune întrebarea despre cum poate fi eliminată această problemă. Deoarece tabelele stării de traducere din routerele NAT nu sunt inerente permanente, dispozitivele din rețeaua internă pierd conectivitatea IP într-o perioadă de timp foarte scurtă. Nu trebuie să uităm de această circumstanță atunci când vorbim despre ceea ce este NAT într-un router. Acest lucru reduce semnificativ timpul de funcționare al dispozitivelor compacte care funcționează cu baterii reîncărcabile și baterii.

Scalabilitate

De asemenea, NAT monitorizează doar porturile care pot fi epuizate rapid de aplicațiile interne care utilizează mai multe conexiuni simultane. Acestea pot fi solicitări HTTP pentru pagini cu un număr mare de obiecte încorporate. Puteți atenua această problemă urmărind adresa IP în destinații în plus față de port. Un port local poate fi astfel partajat de un număr mare de gazde la distanță.

NAT: unele complicații

Deoarece toate adresele interne sunt deghizate ca o adresă publică, este imposibil ca gazdele externe să inițieze o conexiune la o anumită gazdă internă fără a configura o configurație specială pe firewall. Această configurație ar trebui să redirecționeze conexiunile către un anumit port. Telefonia IP, videoconferința și aplicații similare trebuie să utilizeze tehnici de traversare NAT pentru a funcționa corect. Portul de traducere Rapt și adresa de returnare permit unei gazde a cărei adresă IP se schimbă din când în când să rămână disponibilă ca server utilizând adresa IP fixă ​​a rețelei de domiciliu. Acest lucru ar trebui, în principiu, să permită configurarea serverului să păstreze conexiunea. Deși această soluție nu este ideală, poate fi un alt instrument util în arsenalul unui administrator de rețea atunci când rezolvă probleme legate de configurarea unui router NAT.

Traducere PAT sau adresă de port

Traducerea adreselor de port este o implementare Cisco Rapt care mapează mai multe adrese IP private la una publică. Astfel, mai multe adrese pot fi mapate ca adresă, deoarece fiecare este urmărită folosind un număr de port. PAT folosește numere de port sursă IP internaționale unice pentru a distinge direcția transferului de date. Aceste numere sunt numere întregi de 16 biți. Numărul total de adrese interne care pot fi traduse într-o adresă externă poate ajunge teoretic la 65536. În realitate, numărul de porturi cărora li se poate atribui o singură adresă IP este de aproximativ 4000. PAT, de regulă, încearcă să păstreze originalul portul „originalului” ... Dacă este deja utilizat, Traducerea adreselor de port atribuie primul număr de port disponibil, începând de la începutul grupului corespunzător. Când nu există porturi disponibile și există mai multe adrese IP externe, PAT trece la următorul pentru a aloca portul sursă. Acest proces va continua până la epuizarea datelor disponibile. Cisco Service afișează adresa și portul. Acesta combină o adresă de port de traducere și date pentru tunelarea pachetelor IPv4 pe o rețea IPv6 internă. De fapt, este o versiune alternativă a Carrier Grade NAT și DS-Lite, care acceptă traducerea IP a porturilor și adreselor. Acest lucru evită problemele asociate cu stabilirea și menținerea unei conexiuni. De asemenea, oferă un mecanism de tranziție pentru implementarea IPv6.

Metode de traducere

Există mai multe modalități principale de a implementa traducerea unei adrese de rețea și a unui port. Anumite protocoale de aplicație necesită determinarea adresei NAT externe utilizate la celălalt capăt al conexiunii. De asemenea, este adesea necesar să se studieze și să se clasifice tipul de transmisie. De obicei, acest lucru se face deoarece este de dorit între doi clienți din spatele NAT-urilor separate pentru a crea un canal de comunicare directă. În acest scop, a fost dezvoltat un protocol special RFC 3489, care oferă o traversare UPD simplă prin NATS. Astăzi este deja considerat învechit, deoarece în aceste zile aceste metode sunt considerate insuficiente pentru o evaluare corectă a funcționării dispozitivelor. În 2008, RFC 5389 a fost dezvoltat și noi metode au fost standardizate. Această specificație se numește Session Traversal astăzi. Este un utilitar dedicat pentru NAT.

Stabilirea unei comunicări bidirecționale

Fiecare pachet UDP și TCP conține adresa IP sursă și numărul său de port, precum și coordonatele portului de destinație. Numărul portului este foarte important pentru obținerea de servicii publice, cum ar fi funcționalitatea serverului de poștă electronică. De exemplu, portul 25 se conectează la serverul de poștă SMTP și portul 80 se conectează la software-ul serverului web. Adresa IP a serverului public este, de asemenea, esențială. Acești parametri trebuie cunoscuți în mod fiabil pentru acele noduri care intenționează să stabilească o conexiune. Adresele IP private sunt relevante numai în rețelele locale.