Načelo delovanja NAT-a

Podatkovna omrežja se zdijo na prvi pogled pogosto popolnoma drugačna od klasičnih telekomunikacijskih omrežij. Dejstvo pa je, da mehanizem deluje na podobnih načelih. Oglejmo si jih podrobneje, preden si spet zadamo praktične naloge.

V prvem delu smo spoznali IP-protokol (in njemu sorodne protokole) in kam ga umestimo glede na model OSI. Spoznali smo osnovna načela naslavljanja, javne in zasebne IP-naslove ter kaj sta TCP in UDP. Ugotovili smo, da načelo IP-naslavljanja/označevanja ni tako zelo drugačno, kot smo ga vajeni. Vsi v omrežju ne potrebujejo podatkov o vseh, ker lahko naslovnika dosežemo po podobni poti kot pri običajni pošti – država, mesto, ulica, hiša, naslovnik. Takšno usmerjanje lahko načeloma nadomestimo tudi s kodami, a čeprav so kode lahko podobne, ni nujno, da sta uporabnika v neposredni bližini. To velja tudi za »podobne« IP-naslove, ki niso v skupnem naslovnem prostoru.

OD ARPANETA DO INTERNETA

Začetki zasnove TCP/IP segajo v konec šestdesetih let preteklega stoletja. Leta 1968 je agencija ARPA (Advanced Research Projects Agency) začela raziskave na področju omrežnih tehnologij za potrebe obrambnega ministrstva ZDA, ki so temeljile na paketni komutaciji. Prvotni namen je bil zagotovitev možnosti komunikacije med različnimi uporabniki znotraj tega omrežja. Kot praktičen rezultat teh raziskav pa je bilo vzpostavljeno omrežje ARPANET, ki je pozneje preraslo v internet − pri razvoju katerega je imel TCP/IP pomembno vlogo. V začetku osemdesetih (1983) je postal TCP/IP standardni protokol znotraj omrežja ARPANET. Sama zgodovina TCP/IP-ja je manj pomembna kot čas, v katerem se je razvil. Tedaj osebnega računalnika, kot ga poznamo danes, še ni bilo. Srce zaprtih omrežij so bili računalniki, do njih pa je dostopalo določeno število uporabnikov prek terminalov, ki so delovali v načinu strežnik−odjemalec (server−client). Aplikacije so v večini primerov »tekle« v strežnikih, razmeroma omejen pa je bil tudi nabor uporabniških storitev. Zmogljivosti strojne opreme so bile za današnje čase skromne, podobno velja za povezave znotraj omrežij oziroma med omrežji. V luči takratnih dogodkov oziroma takratnih zahtev lahko razumemo zakaj je bila smer razvoja TCP/IP-ja oziroma interneta takšna, kot je bila. Poglejmo si le nekaj primerov. Ker je bilo omrežje ARPANET v primerjavi z današnjim internetom razmeroma majhno, je jasno, da je koncept IP-naslavljanja večkratno presegal potrebe. Zaradi zaprtosti omrežja ARPANET posebni varnostni mehanizmi znotraj TCP/IP-ja niso bili predvideni. Zaradi razmeroma omejenega nabora storitev znotraj TCP/IP-ja niso bili predvideni niti mehanizmi za zagotavljanje kakovosti storitev (QoS). Bolj kot slabosti (prej dediščina preteklosti) pa je pomembno dejstvo, da s pomočjo dodatnih mehanizmov in določenih prijemov te slabosti odpravimo oziroma zmanjšamo na sprejemljivo raven. Posledica tega je, da TCP/IP danes praktično prevladuje na področju podatkovnih omrežij, čeprav mu v preteklosti vsi niso bili najbolj naklonjeni (tudi sam Microsoft).

Nastavitve IP-naslovov

IP-NASLAVLJANJE TAKO IN DRUGAČE

V pretekli številki smo opisali, kdaj sta dva uporabnika v istem omrežju. Pri razredu C (maska 255.255.255.0) se uporabniški IP-naslovi razlikujejo v zadnjih številkah (npr. 192.168.1.1–92.168.1.254). Spoznali smo, da sta prvi in zadnji naslov rezervirana (v našem primeru vrednost 0) za naslov omrežja oziroma broadcast omrežja (v našem primeru vrednost 255). Za uporabnike, ki jih želimo povezati, lahko zato izberemo poljubno vrednost, pogoj pa je, da se vrednosti unikatno dodeljujejo.

Na primer:
računalnik A: 192.168.1.2 /24 (/24 = maska 255.255.255.0)
računalnik B: 192.168.1.16 /24
računalnik C: 192.168.1.193 /24

Za povezavo uporabnikov znotraj omrežja, ki uporablja IP-naslavljanje, zadošča podatek o IP-naslovu uporabnika in maski. Te naslove lahko v računalnik vpišemo ročno pri omrežnih nastavitvah. V Windows 2000 (podobno tudi v različicah XP, WinME/9x) storimo to v omrežnih nastavitvah Nadzorne plošče. Želeni vmesnik dvakrat kliknemo in izberemo lastnosti. Če imamo ustrezne uporabniške pravice, se nam izpišejo nameščene storitve, odjemalci in protokoli. Izberemo TCP/IP (če ga ni, ga namestimo) in vnesemo vrednosti IP-naslova ter maske. Zaenkrat vrednosti privzetega prehoda oziroma DNS-naslova nista pomembni. Vrednosti lahko preverimo tudi iz ukazne vrstice z ukazom ipconfig /all (v Linuxu storimo to z ukazom ifconfig).

IP-naslove pa lahko uporabnikom dodelimo tudi drugače. V zadnjih letih je med omrežnimi skrbniki priljubljena možnost samodejnega dodeljevanja naslovov prek DHCP-strežnika (Dynamic Host Configration Protocol). Načelo delovanja je preprosto. Uporabnik s pomočjo DHCP-odjemalca prek omrežja (broadcast paket) pošlje DHCP-zahtevo (DHCP request) DHCP-strežniku − zahtevo za dodelitev IP-naslova. Ta ga dodeli iz nabora IP-naslovov na podlagi vnaprej določenih kriterijev. Na posameznem segmentu naj bi bil le en DHCP- strežnik, saj lahko pri napačni uporabi pride do konflikta. Zavedati se je treba, da DHCP- strežnik naslovov ne dodeljuje trajno (zahteva za dodelitev se ustvari ob vsakem zagonu računalnika). Privzeta vrednost za »rezervacijo« je tri dni, pogosto pa skrbniki določajo daljše vrednosti. V tem času se isti IP-naslov ponovno dodeli določenemu uporabniku, po preteku časa rezervacije pa se vrne v nabor prostih naslovov in se lahko dodeli tudi drugim uporabnikom. Opozoriti pa velja, da uporabniki v primeru nedostopnosti DHCP-strežnika ne bodo mogli komunicirati med seboj, čeprav je med njimi vzpostavljena fizična povezava in bi lahko pri statičnem naslavljanju brez težav uporabljali določen del omrežja. Prek DHCP-strežnika lahko uporabnikom dodeljujemo tudi druge vrednosti (npr. privzeti prehod, DNS, naslov FTP-strežnika za nadgradnjo programske opreme naprave ...). Če želimo, da našemu računalniku naslov dodeli DHCP-strežnik, izberemo pri nastavitvah TCP/IP samodejno dodeljevanje IP-naslova. DHCP-strežniki so del večine Linuxovih distribucij in strežniških različic okolja Windows. Namestimo pa ga lahko tudi kot samostojen izdelek, kot je na primer brezplačni Tftpd32 (http://perso.wanadoo.fr/philippe.jounin/ tftpd32.html).

Primer preusmerjanja vrat na interne IP-naslove

KAJ JE PRIVZETI PREHOD?

Med omrežnimi nastavitvami smo srečali tudi privzeti prehod (default gateway). Na naslov privzetega prehoda (če drugače ne določimo!) pošiljamo ves »promet«, ki ni namenjen omrežju, v katerem je uporabnik. V našem primeru so to vsi naslovi, ki niso v omrežju 192.168.1.0 oziroma so različni od 192.168.1.1-192.168.1.255. V vlogi privzetega prehoda so običajno usmerjevalniki (router) oziroma njim podobne naprave. Več o njih nekoliko kasneje, zaenkrat pa naj bo usmerjevalnik naprava z več (vsaj dvema) vmesniki, ki povezujejo različna omrežja. V manjšem podjetju ali za domačo rabo je en vmesnik priključen v krajevno omrežje, drugi vmesnik pa v opremo ponudnika internetnega dostopa − npr. ADSL/CATV- modem, oprema WLAN ... Jasno je, da se morata IP-naslov usmerjevalnikovega vmesnika (priključenega v krajevno omrežje) ter vrednost, vpisana v naslov privzetega prihoda, ujemati. V nasprotnem primeru smo ustvarili črno luknjo, v katero pošiljamo promet brez upanja na uspeh.

Da je IP-naslov privzetega prehoda dejansko privzeti »izhod« iz omrežja, lahko potrdimo tudi z ukazom route print, kjer sta ob naslovu privzetega prehoda vrednosti za naslov in masko 0.0.0.0. Določeno smer pa lahko preprosto izvzamemo in pošiljamo na drug naslov. To storimo z ukazom route add − npr. route add 192.168.3.0 mask 255.255.255.0 192.168.1.254 –, s katerim pošiljamo ves promet za omrežje 192.168.3.0 namesto na naslov privzetega prehoda na naslov 192.168.1.254. Smer izbrišemo z ukazom route delete 192.168.3.0. Drug dokaz, da promet izven »domačega omrežja« resnično pošiljamo prek privzetega prehoda, je izpis ukaza tracert, kjer je prva točka prehoda IP-naslov privzetega prehoda domačega omrežja (npr. tracert www.siol.net).

NASVETI IN ZANIMIVOSTI

Usmerjevalni protokoli
V večjih omrežjih imamo večje število usmerjevalnikov. Zaradi kompleksnosti se podatki o smereh ne vpisujejo ročno, temveč se izmenjujejo med njimi prek posebnih, usmerjevalnih protokolov, kot so RIP (Routing Information Protocol ), IGRP (Interior Gateway Routing Protocol, OSPF (Open Shortest Path First) ...

IP-naslovi za opremo na različnih lokacijah
IP-naslove lahko v naprave vpisujemo ročno ali pa jih dodelimo prek DHCP-strežnika. Tovrstno dodeljevanje je zanimivo predvsem za opremo, ki jo uporabljamo na različnih lokacijah. Na določenem segmentu omrežja mora biti le en DHCP-strežnik, saj lahko sicer pride do težav.

Mislite, da ste nevidni?
Marsikdo se sploh ne zaveda, da je izsledljivost uporabnika oziroma njegovega početja pravzaprav bolj stvar volje in zakonodaje kot tehnični problem – izjema so seveda »mački«, ki zlorabijo dostop koga drugega. Na strežniku lahko vidimo, kdo je do njega dostopal, ponudniki dostopa vodijo evidence, komu in kdaj je bil določen IP-naslov dodeljen ...

»Stari« IPv4 in novi IPv6
Kljub nekaterim optimističnim napovedim v preteklosti danes marsikje še vedno uporabljamo IP različice 4 (Ipv4). IPv6 (www.ipv6.org/) poleg odprave omejenosti obstoječega naslovnega prostora prinaša tudi druge izboljšave.

NASLOV DNS-STREŽNIKOV

Zadnja »osnovna« TCP/IP-nastavitev je naslov DNS (Domain Name Service) strežnikov. Naloga DNS-strežnikov je prevajanje domenskih imen v IP-naslove. Učinek pridobitve informacije s strani DNS-strežnika je podoben kot dostop do vnosa v datoteki hosts. DNS-strežnik pretvori informacijo iz npr. naslova http://www.najdi.si v IP-naslov 195.250.198.67. Če ta IP-naslov vnesemo v polje spletnega brskalnika, dosežemo enak učinek, kot če bi napisali http://www.najdi.si. Priznati pa morate, da si je neprimerno lažje zapomniti »http- naslove« kot pa njihove IP-naslove. Večina manjših omrežij DNS-strežnika nima in uporablja DNS-strežnik ponudnika dostopa do interneta (npr. Voljatel, Siol, Arnes …).

STALNI IN SPREMENLJIVI IP-NASLOVI

Uporabniki v svojih omrežjih najpogosteje uporabljajo naslove iz naslovnega prostora, ki je namenjen zasebni uporabi. Kljub vsemu pa imajo pogosto (ne vedno!) s strani ponudnika dostopa dodeljen tudi vsaj en javni IP-naslov. Ta naslov se lahko dodeli kot stalen (statični) ali pa se spreminja (dinamični IP-naslov). Pri klicnih povezavah (analogni modemi, ISDN) se IP-naslov običajno dodeljuje dinamično – naključno iz operaterjevega nabora, pri širokopasovnih povezavah pa lahko uporabnik pogosto izbira med stalnim ali spreminjajočim se IP-naslovom. Stalen IP-naslov je zanimiv predvsem za uporabnike, ki želijo postaviti določen strežnik, čeprav je mogoče zagotoviti dostop do njih tudi s prek specializiranih strežnikov, ki omogočajo osveževanje DNS-zbirk s trenutnim IP-naslovom (npr. storitev DynDNS; www.dyndns.org/). Ne glede na način, kako je IP-naslov pridobljen, je to IP-naslov »WAN-povezave«.

PREVAJANJE OMREŽNEGA NASLOVA − NAT

Lahko rečemo, da v prej opisanem primeru vidi ponudnik dostopa (ISP) naše omrežje kot enega uporabnika z javnim naslovom. Podobno pa vidi krajevno omrežje privzeti prehod kot ponorno točko za ves promet, ki se ne zaključuje znotraj tega omrežja. Načelo skrivanja krajevnega omrežja za enim IP-naslovom imenujemo NAT (Network Address Translation), oziroma funkcionalnost PAT (IP Port Translation). Funkcionalnost NAT je dodana okolju Windows z možnostjo skupne rabe internetne povezave (ICS − Internet Connection Sharing) . Uporaba NAT-a ni zanimiva le zaradi prihranka javnih IP-naslovov, ampak tudi s stališča varnosti, saj omejuje dostop do računalnikov v domačem omrežju. V tehničnem smislu pa izvaja NAT »vohljanje« tako dohodnega kot odhodnega prometa.

VLOGA USMERJEVALNIKA

Usmerjevalnik je s svojimi vmesniki v vlogi povezovalnega člena med omrežji. Gre torej za bolj ali manj inteligentno napravo, ki ima vmesnike, v katere so »priključena« različna omrežja. To je tudi razlog, zakaj lahko osebni računalnik z več omrežnimi karticami spremenimo v usmerjevalnik z različnimi funkcionalnostmi. Usmerjevalnik pa ne omogoča le povezovanja, temveč lahko v njegovih parametrih določamo tudi različna pravila. Uporabnik lahko opredeli različne sezname, s katerimi lahko določene vrste tako dohodnega kot tudi odhodnega prometa omeji. Primer uporabe tovrstnih pravil bi lahko bil, da določenim uporabnikom ne dovolimo dostopa do interneta.

FUNKCIJE VRAT

Ko smo v pretekli številki govorili o TCP/IP-ju, smo ugotovili, da ves promet ni enak. Ko uporabnik vzpostavi določeno povezavo s strežnikom (npr. http, dostop do elektronske pošte, SSH ...), se informaciji o izvornem in ponornem IP-naslovu doda tudi informacije o vratih (port). Pojem vrat bo laiku verjetno najlažje razumeti kot »identifikacijsko oznako« aplikacije, na katero se nanaša. Pomen vrat lahko razumemo na naslednjem primeru. Na določenem IP-naslovu je strežnik z različnimi storitvami (servisi). Vsi so dostopni prek istega IP-naslova, vsak od njih pa »posluša« na določenih vratih − na primer SSH-strežnik na vratih 22, spletni strežnik na vratih 80, strežnik za elektronsko pošto na 110 ... Ker dobivamo iz istega IP-naslova pakete za različne aplikacije, informacija o izvornem IP-naslovu ne zadošča. Funkcionalnost vrat pa lahko koristno uporabimo tudi zato, da lahko prek enega javnega IP-naslova zagotovimo dostop do več uporabnikov v zasebnem omrežju: vrata 80 preusmerimo na IP-naslov 192.168.1.4, vrata 81 na istem javnem IP-naslovu preusmerimo na zasebni IP-naslov 192.168.15 ...

Kot lahko vidimo, grob pogled v paket, ki je omejen na izvorni ali ponorni IP-naslov, ne zadošča. Podobno kot pri običajnih poštnih paketih, potrebujejo posebni paketi tudi posebno obravnavo. V ta namen obstajajo posebne oznake; tako na primer napis »Steklo« narekuje pozorno rokovanje s tovrstnimi paketi. Podobno velja tudi pri podatkovnem prometu. Govorni paketi so hitro pokvarljivo blago. Če ne prispejo pravočasno, jih lahko zavržemo (kdo želi gnilo sadje?).

PRIORITETNA OBRAVNAVA ALI BLOKADA PROMETA

Z ustreznim označevanjem prometa lahko zagotovimo prioritetno obravnavo prometa s časovno kritično komponento pred drugimi vrstami prometa. Seveda pa je potrebno za uspešno izvedbo zagotoviti prioriteto določene vrste prometa vzdolž celotne poti.
Informacijo o uporabljenih vratih pa lahko uporabimo tudi za blokado določene vrste prometa. Uporabnikom lahko recimo omejimo dostop do strežnika za elektronsko pošto prek odjemalca (kot je MS Outlook), dovolimo pa ogled prek spletnega brskalnika. To storimo z blokado vrat 110 (za POP3). Tovrstne »finejše« nastavitve omejevanja prometa izvajamo na požarnih zidovih (firewall). Največkrat je njihova funkcionalnost dodana usmerjevalnikom, če so zahteve strožje, pa so lahko tudi kot samostojne naprave. Uporabnik lahko namesti v svoj računalnik tudi osebni požarni zid, kakršen je dodan v Windows XP. Požarni zidovi pa niso le pripomoček za zaščito, temveč so lahko pri nepravilne rabi razlog za težave – nepravilno delovanje.

NASLEDNJIČ: IZ TEORIJE V PRAKSO

Spoznali smo nekatere najosnovnejše in najnujnejše pojme. V naslednji številki pa se bomo tudi praktično poigrali. Med seboj bomo povezali več naprav. Nekaterim bomo dodelili naslove ročno, drugim prek strežnika DHCP, prek usmerjevalnika bomo zagotovili dostop omrežja do spletnih strani, iz interneta omogočili dostop do nekaterih strežnikov in še kaj …

Marko Koblar