Sunteți pe pagina 1din 13

Protocolul NAT. Reelele NetWare 1 PROTOCOLUL NAT 1.

1 Sensul protocolului NAT n mod normal, pachetele ntr-o reea se deplaseaza de la sursa (cum ar fi computerul nostru) la destinaia (cum ar fi www.securityorg.net) prin mai multe legaturi de reea diferite: de exemplu cam 19 de la locaia n care ne aflm noi. Nici una din aceste legaturi nu i modific pachetul, pur i simplu este trimis mai departe. Dac una din aceste legaturi ar fi fcut NAT, atunci ar modifica sursa sau destinaia pachetului ce intr. Dupa ne imaginm nu aa a fost conceput sistemul s funcioneze, i din aceast cauz NAT este ntodeauna ceva n genul unui infirm. De obicei legtura care a fcut NAT va ine minte cum a modificat pachetul, i cnd un pachet replicat vine din cealalt parte, va realiza modificarea invers a pachetului replicat, aa c totul va funciona. 1.2 Necesitatea utilizrii protocolului NAT ntr-o lume perfect nu am avea nevoie. ntre timp, principale motive sunt: Conexiunile prin modem la internet Cele mai multe ISP-uri i dau doar o singur adresa IP cnd te conectezi la ei. Poi trimite pachete cu orice adres surs pe care o doreti, dar doar pachetele cu aceast adresa IP se vor ntoarce la tine. Dac doresti sa foloseti mai multe sisteme (cum ar fi reteaua de acasa) pentru a le conecta la internet prin aceasta singura legatur vei avea nevoie de NAT. Acesta este de departe cel mai rspandit mod de folosire al NAT-ului din zilele noastre, cunoscut si sub numele de "masquerading" n lumea Linuxului. Servere multiple Uneori doreti s modifici direcia n care s se ndrepte pachetele ce intr n reeaua ta. n mod frecvent aceasta este (ca i mai sus) deoarece ai doar o singur adres IP, dar doreti ca oameni s poat s ajung la computerele din spatele sistemului cu adresa IP "real". Dac rescrii adresa destinaie a pachetelor care intr,

poi realiza acest lucru. Acest tip de NAT a fost numit forwardare (inaintare) de porturi n versiunile anterioare de Linux. O variaie des ntlnit a acestei aplicaii al NAT-ului este load-sharing-ul (ncrcare partajat), unde se mapeaz mai multe sisteme, permind sistemelor s ajung la aceste sisteme. Proxy transparent Uneori doreti s par c fiecare pachet care trece prin sistemul tu Linux este destinat pentru un program rulnd chiar pe sistemul tu. Acest lucru este folosit pentru a realiza proxy-uri transparente: un proxy este un program care se interpune ntre reeaua ta i lumea exterioar, medind comunicarea ntre ele. Se numete transparent deoarece reeaua ta nici nu va realiza c folosete un proxy, doar dac bineneles, proxy-ul nu funcioneaz. Squid-ul poate fi configurat s ruleze n acest mod, i aceasta era numit redirectare sau realizare de proxy transparent n versiunile anterioare de linux. 1.3 Tipurile de NAT Am mprit NAT-ul n dou tipuri: NAT pentru surs (SNAT) i NAT pentru destinaie (DNAT). SNAT este realizat atunci cnd modifici adresa sursa al primului pachet: schimbi sursa de unde pornete conexiunea. SNAT este ntodeauna realizat dupa procesul de rutare al pachetelor, chiar nainte de a pleca pe conexiune pachetul. Masquerading este o form particular de SNAT. DNAT este realizat cnd modifici adresa destinaie al primului pachet: schimbi destinaia unde va fi facut conexiunea. DNAT este ntodeauna realizat nainte de rutarea pachetelor, cnd pachetul tocmai a venit prin interfa. Forwardare de porturi, load-sharing-ul, i proxy-ul transparent sunt toate forme de DNAT. 1.4 Controlul rezultatului efecturii NAT Ai nevoie s scrii reguli NAT pentru a spune kernelului ce conexiuni s schimbe, i cum s le schimbe. Pentru a realiza aceasta folosim comanda iptables, i precizm c dorim a schimba tabela NAT prin specificarea opiunii "-t nat".

Tabela regulilor NAT cuprinde trei liste numite "chain-uri": fiecare regul este examinat n chain pn cnd una se potrivete. Dou chain-uri sunt numite PREROUTING (pentru DNAT, pentru pachetele care tocmai au intrat) i POSTROUTING (pentru SNAT, pentru pachetele care sunt pe cale s ias). Al treilea chain (OUTPUT) va fi ignorat n cele ce urmeaz. Urmatoarea diagram ilustreaz destul de bine cum stau lucrurile:

La fiecare dintre punctele de mai sus, cnd un pachet trece este determinat crei conexiuni i este asociat. Dac este o conexiune nou, este determinat chain-ul corespunzator n tabela NAT pentru a determina ce s facem cu acel pachet. Rspunsul determinat va fi aplicat pentru toate pachetele viitoare aparinnd acelei conexiuni. 1.5 Aspecte delicate n privina selectrii pachetelor dorite pentru modificare Am menionat mai sus ca se poate preciza o adres surs i destinaie. Dac omitem opiunea privitoare la adresa surs, atunci regula se va potrivi pentru orice adres surs. Analog, dac omitem opiunea pentru adresa destinaie, atunci regula se va potrivi pentru orice adres destinaie. Este posibil deasemenea de a indica un protocol specific ( "-p" sau "--protocol"), cum ar fi TCP sau UDP, doar pachetele de acest tip se vor potrivi cu regula. Principalul motiv pentru a preciza unul dintre aceste protocoale permite apoi folosirea de noi opiuni: n special opiunile "--source-port" i "--destination-port" (prescurtate "-sport" i "--dport").

Aceste opiuni permite specificarea c numai pachetele cu anumite porturi destinaie sau porturi surs se vor potrivi cu regulile. Aceste opiuni sunt folositoare, de exemplu, pentru redirectarea cererilor web (porturile TCP 80 sau 8080) i nemodificarea celorlalte pachete. Aceste opiuni trebuie s fie puse dup opiunea "-p" (care are ca alt efect ncrcarea opiunilor extinse pentru acel protocol). Putem folosi pentru porturi numere, sau nume cum sunt scrise n fiierul /etc/services. Toate caracteristicile dup care se poate selecta un pachet sunt detaliate n pagina de manual pentru iptables (man iptables). 1.6 Folosirea NAT pentru modificarea adresei surs Dac se dorete efectuarea SNAT, adic schimbarea adresei surs a conexiunilor cu ceva diferit, acesta este realizat n chain-ul POSTROUTING, chiar nainte de a fi trimis pachetul. Acesta este un detaliu important, deoarece nseamn c orice altceva n sistemul Linux (rutare, filtrare de pachete) va vedea doar pachetul neschimbat. Mai nseamn deasemenea ca opiunea "-o" (interfa de ieire) poate fi folosit. SNAT este specificat folosind opiunea "-j SNAT"; i opiunea "--to-source" specific o adresa IP, un ir de adrese IP, i un port opional sau un ir de porturi (doar n cazul protocoalelor UDP i TCP).

1.7 Masquerading Exist un caz particular de SNAT numit masquerading, ar trebui s fie folosit numai pentru adrese IP asignate dinamic, cum ar fi n cazul celor ce se conecteaz prin dial-up (pentru adrese IP statice, folosete SNAT ca mai sus). Nu este necesar cnd faci masquerading s specifici adresa surs, deoarece va folosi adresa surs a interfeei prin care va iei pachetul. Dar ce este mai importat, dac legatura cu ISP-ul cade, conexiunile (care acum sunt pierdute oricum) sunt uitate, acest lucru nsemnnd mai puine probleme tehnice cnd legatura cu ISP-ul revine cu o nou adresa IP.

Rezolvarea vine prin folosirea acestui unic IP de ieire, dar a diferitelor porturi pentru fiecare conexiune iniiat. Pachetele sunt transmise prin porturi diferite, deci i rspunsurile vor veni pe porturi diferite, putnd fi astfel identificat calculatorul (de ctre serverul NAT) cruia i se adreseaz acele pachete. Masquerading-ul este cea mai ieftin metoda de conectare a unui LAN la Inernet, avnd n vedere c achiziionarea unei adrese IP externe (rutabile) se face din ce n ce mai greu. 1.8 Folosirea NAT pentru modificarea adresei destinaie (DNAT) Aceasta se realizeaz n chain-ul PREROUTING, exact dupa primirea pachetului, aceasta nsemn c orice n sistemul Linux (rutare, filtrare de pachete) va vedea pachetul cu noua adres destinaie. Mai nseamn c opiunea "-i" (interfaa de intrare) poate fi folosit. Se specifica folosirea DNAT cu ajutorul opiunii "-j DNAT", iar opiunea "--todetination" specific o adresa IP, un ir de adrese IP, i un port opional sau un ir de porturi (acest lucru fiind valabil doar pentru protocoalele UPD i TCP).

1.9 Folosirea SNAT i rutarea Dac doreti s realizezi SNAT, vei dori s fii sigur c fiecare main la care ajung pachete care sunt parte a unei conexiuni SNAT, vor trimite pachetele replic napoi la sistemul care realizeaz SNAT-ul. De exemplu, dac mapezi nite pachete ce ies, cu adresa surs 1.2.3.4, atunci ruterul extern trebuie s tie c trebuie s trimit pachetele replic napoi (care vor avea adresa destinaie 1.2.3.4) ctre acest sistem. Acest lucru poate fi realizat n urmtoarele moduri: 1. Dac realizezi SNAT peste adresa propriului sistem (pentru care rutarea i toate celelalte merg deja), nu trebuie s faci nimic.

2. Dac realizezi SNAT peste o adres nefolosit din propriul LAN (de exemplu, mappezi peste 1.2.3.99, o adresa IP nefolosit din reeaua ta 1.2.3.0/24), sistemul ce realizeaza NAT va trebui s raspund la cereri ARP pentru aceea adres c i pentru propria sa adres: cea mai simpl metod de a rezolva acest lucru este s creezi un alias pentru adresa IP, de exemplu:

3. Daca realizezi SNAT peste o adres complet diferit, va trebui s te asiguri c mainile la care vor ajunge pachetele SNAT-attea vor ruta aceast adres napoi ctre sistemul pe care se realizeaz SNAT-ul. Aceasta este realizat deja dac sistemul care realizeaz SNAT-ul este gateway-ul lor default, n caz contrar va trebui s adaugi o rut pe fiecare sistem prin care trec pachetele modificate. 1.10 Folosirea DNAT pentru adrese aflate n aceeai reea. Dac realizezi forwardare de porturi napoi n aceeai reea, trebuie s fii sigur c att pachetele viitoare ct i pachetele ce vin n replic vor trece prin sistemul ce realizeaz DNAT-ul (pentru ca acestea s fie modificate). Codul NAT va bloca (nca din ver. 2.4.0-test6) pachetele ICMP de redirectare care rezult atunci cnd pachetele NAT-ate se ndreapt ctre aceeai interfa spre care au venit, dar serverul care primete acele pachete va ncerca n continuare s raspund direct ctre client (care nu va recunoate pachetele replic). Cazul clasic este cnd un sistem din reeaua intern ncearc s acceseze serverul www "public", care este defapt DNAT-at de la adresa public (1.2.3.4) ctre un sistem din reteaua intern (192.168.1.1), astfel:

O cale este s rulezi un server de DNS intern care s tie adresa IP real (intern) al site-ului public de web, i s nainteze toate celelalte cereri ctre un server DNS extern. Aceasta nseamn c va fi folosit o conexiune direct ctre server-ul de web, far s mai fie nevoie de a trece prin sistemul care realizeaz NAT.

Cealalt cale este s realizezi, pe sistemul care face DNAT, maparea adresei surs spre propria lui adres pentru conexiunile venind din reeaua intern, pclind serverul de web s trimit pachetele replic spre maina ce se ocup cu NAT-area. Pentru acest exemplu vom proceda astfel (presupunem c adresa IP al sistemului care realizeaz NAT este 192.168.1.250):

Deoarece regula din chain-ul PREROUTING este executat prima, pachetele vor fi deja destinate pentru server-ul de web intern: putem preciza care din pachete sunt din reeaua intern dupa adresa IP surs. 1.11 Aplicaii ale NAT Exist cateva pri ale lui NAT care ii vor permite sa reziste si dupa folosirea pe scara larga a lui IP ver 6. O vom prezenta pe cea mai evident i uor de neles: Serverele virtuale O adresa IP specific practic nu numai un calculator, ci si un serviciu pe care il doresc. Daca acest serviciu este implementat de catre mai multe calculatoare, atunci ar fi util ca referirea la acest IP sa insemne de fapt referirea la unul din calculatoarele care implementeaza serviciul. In functie de modul in care serverul NAT rezolva aceste probleme, se rezolva diferite aspecte ale incarcarii pe retea/pe servere. Ruterul NAT poate sa verifice incarcarea fiecarui server care ofera serviciul si sa trimita pachetul catre serverul cel mai putin incarcat. Algoritmii de decizie sunt aici partea critica a aplicatiei. Trebuie facut un compromis intre incarcarea retelei cu interogari de incarcare a fiecarui server si incarcarea inegala a serverelor. Rute multiple pentru o destinatie Este posibil ca legatura intre un LAN si Internet sa nu se faca doar printr-un provider de internet (ISP). In clipa in care se cere o conectare la extrior din LAN, serverul NAT poate verifica incarcarea rutelor de comunicare intre LAN si Intrente, via cei 2 (sau mai multi provideri) pentru a alege calea cea mai putin congestionata (pe linia respectiv sa fie cea mai mica coada de asteptare, de ex).

2 REELELE NETWARE 2.1 NetWare: Sistemul de operare Novell Orice PC funcioneaz pe baza unui program denumit sitem de operare (OSOperating System), care gestioneaz toate resursele sistemului, funcionnd ca interfa ntre programele de aplicaii i componentele fizice hardware. SO este instalat pe discul fix (HDD-Hard Disk Drive) al calculatorului, pe aa numita partiie activ, i este ncrcat la fiecare pornire a sistemului (boot) din memoria ROM de ctre BIOS dup testarea sistemului i identificarea unitilor de disc (HDD, CDROM, floppy), a memoriei RAM (Random Acces Memory) disponibile i a monitorului, pe baza informaiilor coninute n CMOS. Un sistem de operare este conceput ca un program care ruleaz n permanena n calculator, adic posibilitatea execuiei programelor utilitare fr a fi necesar cunoaterea detaliilor privind funcionarea prii hardware sau a nivelelor software inferioare celui de aplicaie. Programul utilizat de un calculator pentru a se conecta la o reea local se numete program-client (client software) iar staia respectiv reprezint un calculator-client (client -PC). Clientul, software sau hardware este cel care adreseaz o cerere ctre o component a sistemului. Raspunsul la cererea clientului este dat de o alt component denumit server, care reprezint un furnizor de servicii. Natura serverului poate fi logic sau fizic. Comunicaia dintre un PC i retea este posibil numai dac sistemul local este compatibil, hardware sau software , cu reeaua. Din acest motiv , clienii i serverele dintr-o reea trebuie s foloseasc acelai sistem de operare de reea (NOS- Network

Operating System), cum sunt NetWare, WindowsNT etc. Exist versiuni diferite de NOS, ca pre i complexitate, pentru client i pentru server. Arhitectura SO poate fi conceput fie n varianta monolitic , ca un sistem nchis, dificil de modificat sau de imbuntit, fie ca sistem deschis , cu numeroase subseturi (microkernel) lucrnd n mod privelegiat (kernel mode), cu alocare necondiionat de memorie i cu alte module care pot lucra n mod de utilizator(user mode), neprivilegiat.

Figura 2.1.1 Arhitectura sistemului de tip client NetWare este un sistem de operare pentru reea (NOS-Network Operating System) creat de firma Novell, care ofer acces de la distan transparenta dosarelor i numeroase alte servicii de reea distribuite, inclusiv partajarea imprimantei i suport pentru diverse aplicaii, cum ar fi transferul de pot electronic i acces la baza de date. NetWare este specificat pe cinci straturi superioare ale modelului de referin OSI i ruleaz pe orice protocol de acces (Layer 2). n plus, NetWare ruleaz practic pe orice fel de sistem computerizat, de la PC-uri la mainframe-uri. NetWare i protocoalele sale de sprijin de multe ori coexist pe acelai canal fizic cu multe alte protocoale populare, inclusiv TCP / IP, DECnet i AppleTalk.

Novell NetWare, introdus la nceputul anilor 1980 pe baza Xerox Network Systems (XNS), se bazeaz pe o arhitectura client-server. Protocoale cele mai populare din suita Novell NetWare sunt: IPX, SPX, PNC (serviciile furnizate de ctre PNC sunt: include fiierul de acces, acces la imprimant, managementul de nume, de contabilitate, de securitate, i fiierul de sincronizare) , NetBIOS (NetBIOS NetWare emulation permite programelor scrise pentru industria NetBIOS de a rula n cadrul sistemului NetWare). Operaiunile Netware

Serverul de fiiere permite utilizatorilor s mprteasc servicii de reea, dispozitive i aplicaii de reea, care sunt descrcate pentru utilizator (client), nainte de execuie. Staia de lucru a utilizatorului ncarc stiva IPX, care conine un conductor auto CNI i protocolul IPX. Stivele ncrcate modific DOS-ul, ntrerupe tabelul de vectori, adug software-ul compatibil Netware n care acioneaz ca un interpret pentru comenzi i a staiei de lucru. 2.4 Schema de structur a Sistemului de Operare NetWare Nucleul SO NetWare se stocheaz n memoria operativ a serverului de sub DOS (programa SERVER:EXE). Aceast program efectueaz urmtoarele funcii:

1 Citete din catalogul DOS fiierul STARTUP.NCF i interpreteaz operatorii codificai n el. Acest fiier textual de obicei conine urmtoarele comenzi: operatorul de ncrcare (load) a modulului NLM; acest modul este citit din catalogul DOS i asigur protecia memoriei operative a serverului de fiiere. operatorul de ncrcare a modului NLM a draiverului hard discului, precum ISADISK.DSK; dup aceasta devine accesibil sitemul de fiiere NetWare. posibil unele comenzi SET, precum determinarea nivelului maximal de introducere a cataloagelor sistemului de fiiere NetWare.

Figura 2.4.1 Schema de structur a Sistemului de Operare NetWare 2 Monteaz volumul SYS a serverului de fiiere i deschide catalogul SYSTEM pe acest volum. 3 Citete din catalogul SYSTEM fiierul de configurare AUTOEXEC.NCF i interpreteaz operatorii codificai de acolo. Acest fiier textual de obicei conine urmtoarele comenzi: unele comenzi SET, precum asigurarea trecerii la timpul de var i de iarn. operatorii care indic numele serverului de fiiere i numrul interior al reelei. operatorul de ncrcare a draiverelor adaptorilor de reea. n continuare se stabilesc sensurile parametrilor SET, acceptate implicit. Schimbnd parametrii SET poate fi optimizat lucrul sistemului de operare. Aceti parametri trebuie schimbai cu ajutorul comenzilor SET, care pot fi conectate n

fiierele de configurare STARTUP:NCF i AUTOEXEC.NCF sau de introdus de la serverul de fiiere. n procesul de funcionare, nucleul realizeaz deasemenea rolul de manager a sarcinilor a sistemului de operare. Fiecare sarcin sau este legat cu un oarecare modul NLM sau reprezint o sarcin interioar a sistemului de operare. Modulul NLM reprezint fiierul de ndeplinire OS NetWare 3.x i 4.x . NetWare susine posibilitatea descrierii diferitor tipuri de obiecte : a utilizatorilor, a serverelor de fiiere, a print serverelor, etc. Fiecare din aceste tipuri de obiecte are lista sa de proprieti. Spre exemplu obiectul utilizator este caracterizat prin urmtoarele: parol, contul de balan, lista grupelor, creia i aparine utilizatorul, etc. Concluzii: Lucrarea de laborator presupune studierea i analiza principiului de lucru a protocolului NAT, funciile acestuia i domeniile utilizrii practice.n cadrul lucrrii de laborator deasemenea am studiat structura i rolul reelelor NetWare n cadrul reelei globale Internet.

Un nou portal informaional!

Dac deii informaie interesant si doreti s te impari cu noi atunci scrie la adresa de e-mail : support@sursa.md

S-ar putea să vă placă și