• 38 odgovora
  • 48.574 pregleda
Network Address Translation (NAT) 10.01.2006. u 13:12 · pre 253 meseci #1
Kako radi Network Address Translation?

Deo IP specifikacija definiše opseg privatnih IP adresa. To su oni opsezi koji su predviđeni za korišćenje za mreže u firmama i za kućne mreže i ne čine adresni prostor na internetu (tj. privatne adrese NE postoje na Internetu*). Za korišćenje privatnih IP adresa nije potrebna registracija kod Internet autoriteta (za razliku od javnih IP adresa). Njihov opseg je poprilično veliki te je (skoro) nemoguće ostati "kratak" sa privatnim IP adresama. Pošto privatne IP adrese ne postoje na Internetu sledi da routeri na Internetu ne rutiraju saobraćaj na ove adrese - što, praktično, znači da je nemoguće da uljez sa Interneta pristupi privatnoj IP adresi u nekoj korporativnoj/kućnoj mreži.

Opsezi privatnih IP adresa:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

Da bi bilo koji kompjuter unutar privatne mreže uopšte komunicirao sa Internetom, mora imati unikatnu, registrovanu (pri Internet autoritetima) javnu IP adresu. Network Address Translation (ili NAT skraćeno) je jednostavan način kombinovanja privatnih IP adresa sa Internetom.

PRIMER:
Recimo da imamo kompjuer "A", sa IP adresom 192.168.0.1 (jedna od privatnih IP adresa koja je slobodna za upotrebu). Zatim, imamo router "R" koji je povezan sa internetom sa IP adresom 87.116.15.14 (totalno nasumice izabrana javna IP adresa od strane mene :) ) i koji je konfigurisan za NAT nad kompjuterom "A". Kompjuter "A" želi da uspostavi web konekciju sa serverom "ES" (www.elitesecurity.org) čija je adresa 217.26.67.165. Što se tiče kompjuter "A", za njega je "R" samo router. "A" ne zna za sposobnost "R" da NAT-uje. "A" samo zna da hoće da pošanje paket "ES"-u. Tada Web Browser od kompjutera "A" prenese network layer-u da napravi konekciju sa 217.26.67.165 na portu 80. Network layer treba da napravi IP paket; njegove ključne komponente su:

- Source address: 192.168.0.1 (kompjuter "A" koji šalje zahtev)
- Destination address: 217.26.67.165 (www.elitesecurity.org)
- Source port: 4444 (Nasumice izabran slobodan source port na "A")
- Destination port: 80 (port za HTTP)

Sada, network layer forwarduje (prosleđuje) paket na svoj default gateway - koji je u stvari router "R". Očekuje da primi reply paket gde će destination port biti 4444 - isti kao i source port sa kog je poslat zahtev.

Router "R" radi sledeće. Pre svega, on zameni "source address" sa svojom IP adresom (87.116.15.14). Dalje, izabere novi slobodan source port (recimo 5555) i te vrednosti ubaci u paket koji treba da se pošalje na "ES". Onda zabeleži sve vrednosti (i stare i nove) u lokalnoj lookup tabeli.

Paket sada izgleda ovako:

- Source address: 87.116.15.14 (sada je ovo adresa "R")
- Destination address: 217.26.67.165 (isto www.elitesecurity.org)
- Source port: 5555 (Nasumice izabran slobodan source port na "R")
- Destination port: 80 (port za HTTP)

Paket je poslat na Internet na prosleđivanje do "ES". Kada "ES" pošalje odgovor, on jednostavno permutuje source i destination vrednosti.
Paket koji šalje "ES" kao odgovor:

- Source address: 217.26.67.165
- Destination address: 87.116.15.14
- Source port: 80
- Destination port: 5555

Ovaj paket je poslat Internetom, i s obzirom da mu je destination address 87.116.15.14, naš router "R" će ga primiti. Sada "R"-u ostaje da taj paket prosledi nazad do "A" (jer sve je počelo od "A" koji je taj zahtev za "ES" i uputio).
Dakle, "R" vidi da ima paket od 217.26.67.165 ("ES"), koji sadrži njegovu adresu (87.116.15.14) sa source portom 80 i destination portom 5555. "R" zna da treba nešto da uradi ako u njegovoj lokalnoj lookup tabeli postoji:

* Unos gde se destination address poklapa sa source address paketa
* Unos u tabeli gde se source port poklapa sa destination portom paketa
* Unos u tabeli gde se destination port poklapa sa source portom paketa

U našem slučaju, "R" vidi da postoji poklapanje i da u tabeli postoji da je originalna source adresa 192.168.0.1 i da je originalni source port 4444. Tada "R" napravi par izmena u paketu:
- Destination address je promenjena iz 87.116.15.14 u 192.168.0.1.
- Destination port je promenjen iz 5555 u 4444.

Paket je sada odaslat u lokalnu mrežu sa parametrima:

- Source address: 217.26.67.165
- Destination address: 192.168.0.1
- Source port: 80
- Destination port: 4444

Kompjuter "A" čeka komunikaciju na portu 4444 (čeka još od samog početka - otkad je poslao zahtev za "ES"). Kada paket stigne, "A" ga prihvati kao deo reply-a od "ES" Web servera i to je to :)

*Ima ljudi koji se ne bi složili sa ovom rečenicom (i u pravu su), ali imajte na umu da je ovo pisano sa najjednostavnijeg mogućeg stanovišta.

Ukoliko postoji neka nelogičnost ili greška u ovom postu, molim vas da me obavestite. Moguće je da sam prevideo nešto.

[Ovu poruku je menjao AleksandarNS dana 19.01.2006. u 21:01 GMT+1]

[Ovu poruku je menjao Milan Andjelkovic dana 04.05.2006. u 21:33 GMT+1]
Potpis
It's a big mistake to allow computer to realise that you are in a hurry.
Re: Network Address Translation (NAT) 26.01.2006. u 03:13 · pre 252 meseci #2
Jako lep uvod u NAT. mene malo zbunjuju oni portovi 4444 i 5555. Mislim, zar router ne identifikuje ostale racunare preko njihove interne IP (ovo je pitanje,a ne primedba) ?

Tj. ako imamo ruter koji je 10.1.1.1 u internoj mrezi i racunare 10.1.1.2, 10.1.1.23 ... vezane na njega. On je njima gateway koji preko DHCP dobija IP od provajdera za spoljnu mrezu tj. internet. Zasto sad menjati port za http prenos ?

Mislim sta ako racunar 2 zeli poslati 23 nesto preko rutera. Ovaj svakako zna ko je ko ?
Potpis
SJEVERNA je Koreja u ponedjeljak proslavila 62. rođendan svog predsjednika Kim JongIla "sunca 21. stoljeća" te zaprijetila još jednom SADu uništavanjem ako napadnu Pjongjang. Službena agencija KCNA je prenijela je čestitku ruskog predsjednika Vladimira Putina.
Re: Network Address Translation (NAT) 26.01.2006. u 07:58 · pre 252 meseci #3
Ruter mora za svaku NATovanu konekciju da koristi unikatan source port (prema svojoj nat tabeli). Zašto?

Pretpostavimo da ruter ne menja source port. Šta ako 10.0.0.2 i 10.0.0.3 hoće da otvore istu web stranu i slučajno se desi da oba pošalju zahtev sa svog (source) porta 1247. Ruter primi paket od 10.0.0.2, promeni source adresu na svoju javnu, recimo 5.2.2.2, ali ostavi isti source port - 1247, i pošalje ga na destination adresu, recimo 15.1.1.1, port 80 (web). Zatim ruter primi paket od 10.0.0.3, opet promeni source IP na svoj javni - 5.2.2.2, ostavi isti source port - 1247, i pošalje ga na 15.1.1.1, port 80.

Web server, 15.1.1.1, prima prvi paket od našeg rutera i odgovara mu - paket sa 15.1.1.1, source port 80, poslat na 5.2.2.2, destination port 1247. Zatim taj web server prima sledeći paket od našeg rutera i odgovara - paket sa 15.1.1.1, source port 80, poslat na 5.2.2.2, destination port 1247.

Primetićeš da ruter nema načina da razlikuje ova dva paketa, u smislu da zna koji paket treba da prosledi kom računaru u privatnoj mreži. Zbog toga se radi menjanje source portova pri natovanju, kako bi svaka konekcija mogla jedinstveno da se identifikuje.
Potpis
ex.mangel
Re: Network Address Translation (NAT) 06.03.2006. u 21:53 · pre 251 meseci #4
Ako imamo dva kompa na ruter nakacena i na jednom startujemo apache, kako onda da se sa interneta vidi koji komp ima apache ? Primetio sam da sa spoljne adrese on ne vidi moj apache medjutim unutar moje mreze sa onog drugog kompa vidi se apache.

Primer, moj ip je 80.2.34.123 i on ne vidi web stranu na 10.1.1.2 dok ako joj pristupam sa kompa koji je na 10.1.1.3 ona se vidi ?
Potpis
SJEVERNA je Koreja u ponedjeljak proslavila 62. rođendan svog predsjednika Kim JongIla "sunca 21. stoljeća" te zaprijetila još jednom SADu uništavanjem ako napadnu Pjongjang. Službena agencija KCNA je prenijela je čestitku ruskog predsjednika Vladimira Putina.
Re: Network Address Translation (NAT) 06.03.2006. u 22:28 · pre 251 meseci #5
Za tako nesto moras da mapiras adresu i port na ruteru, odnosno da uradis "port forwarding".
Potpis
YU2MP
Re: Network Address Translation (NAT) 12.03.2006. u 14:41 · pre 251 meseci #6
okay, na mom ruteru to se zove pravljenje virtual servera. Meni je cudno da sam sam kreirao konekciju za DC++ dok web server opcija vec postoji i nece da radi. Naravno namestena je na port 80.
Potpis
SJEVERNA je Koreja u ponedjeljak proslavila 62. rođendan svog predsjednika Kim JongIla "sunca 21. stoljeća" te zaprijetila još jednom SADu uništavanjem ako napadnu Pjongjang. Službena agencija KCNA je prenijela je čestitku ruskog predsjednika Vladimira Putina.
Re: Network Address Translation (NAT) 29.03.2006. u 17:27 · pre 250 meseci #7
Sve je u redu. Stos je u tome sto vecina rutera domacih ne daje mogucnost da se web server na LANU vidi iz LANA preko zahteva koji nosi adresu rutera ka WAN-u. Morate spolja pristupiti da bi videli web servis, a iz mreze ga mozete videti smao ako ukucati LAN IP kompa na kome je web server !
Potpis
SJEVERNA je Koreja u ponedjeljak proslavila 62. rođendan svog predsjednika Kim JongIla "sunca 21. stoljeća" te zaprijetila još jednom SADu uništavanjem ako napadnu Pjongjang. Službena agencija KCNA je prenijela je čestitku ruskog predsjednika Vladimira Putina.
Re: Network Address Translation (NAT) 09.03.2007. u 13:59 · pre 238 meseci #8
Citat:
AleksandarNS:
Network layer treba da napravi IP paket; njegove ključne komponente su:

- Source address: 192.168.0.1 (kompjuter "A" koji šalje zahtev)
- Destination address: 217.26.67.165 (www.elitesecurity.org)
- Source port: 4444 (Nasumice izabran slobodan source port na "A")
- Destination port: 80 (port za HTTP)

Ovde me jedna stvar interesuje. Gde je tu ukljucen router? Tj. racunar unutar LAN-a ima kao jedan od parametara default gateway koji je interna adresa rutera. Ono sto me interesuje je kako je to oznaceno u paketu (posto ovde nije navedeno). Ako bi ruter samo osluskivao pakete sa dest. address koji je izvan lokalne mreze, onda racunarima ne bi bio potreban parametar za gateway (a kako jeste zakljucujem da ne cela stvar ne radi tako).
U zavisnosti od odgovora sledi naredno pitanje ili prica o cudnom/interesantnom dogadjaju od sinoc
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Network Address Translation (NAT) 09.03.2007. u 15:19 · pre 238 meseci #9
na IP (layer 3) nivou paketa ne postoji nikakva oznaka ko je default gateway.

Kada klijent računar želi da se obrati nekoj IP adresi (217.26.67.165 u ovom primeru), on za source IP stavi svoju adresu, za dest IP stavi 217.26.67.165, i to je uvek tako.

Ono što se dalje dešava je sledeće:
Klijent shvati da destination IP nije u okviru njegovog subneta, i onda konsultuje svoju routing tabelu. Klijent pronađe odgovarajući gateway za datu rutu, u našem slučaju to je default gateway koji radi NAT, tj jedina ruta koju klijent ima u svojoj tabeli (0.0.0.0/0). Neka je adresa tog routera 192.168.0.100. Tada klijent pogleda svoju ARP tabelu i na osnovu IP adrese routera (192.168.0.100) pronađe matching MAC adresu i nju upiše na Layer2 nivou kao destination i onda pošalje frame.

Na osnovu MACa, router zna da je paket za njega, primi ga, skine layer2 sloj, pogleda IP , vidi da destination IP nije njegov i na osnovu toga zna da paket treba dalje da routuje (u našem slučaju i da NATuje).

Nadam se da sam malo pojasnio.

[Ovu poruku je menjao trooper dana 09.03.2007. u 16:34 GMT+1]
Potpis
ex. trooper
Oh goody... it's my Illudium PU-36 Explosive Space Modulator!
Softversko Inženjerstvo
♪♫♪
Re: Network Address Translation (NAT) 09.03.2007. u 16:26 · pre 238 meseci #10
Dva komentara na ovo trooper-ovo objašnjenje, u cilju preciznosti:
Citat:
Klijent shvati da destination IP nije u okviru njegovog subneta, i onda konsultuje svoju routing tabelu.

Računar zapravo uvek konsultuje svoju ruting tabelu. Drugim rečima, on "shvata" da li je destination IP u istom opsegu ili ne, tako što konsultuje ruting tabelu, u kojoj će svakako postojati entry (automatski ubačen nakon setovanja IP adrese) za mrežu kojoj pripada.
Citat:
Tada klijent pogleda svoju ARP tabelu i na osnovu IP adrese routera (192.168.0.100) pronađe matching MAC adresu i nju upiše na Layer2 nivou kao destination i onda pošalje frame.

Samo napomena da smo ovde već izašli iz domena lejer 3 komunikacije. Odnosno upit u arp tabelu se radi na lejeru 2, tek nakon što je lejer 3 pdu (ip paket) već formiran i prosleđen lejeru 2.
Potpis
ex.mangel
Re: Network Address Translation (NAT) 29.05.2007. u 09:21 · pre 236 meseci #11
Citat:
Milan Andjelkovic: Ruter mora za svaku NATovanu konekciju da koristi unikatan source port (prema svojoj nat tabeli). Zašto?

Pretpostavimo da ruter ne menja source port. Šta ako 10.0.0.2 i 10.0.0.3 hoće da otvore istu web stranu i slučajno se desi da oba pošalju zahtev sa svog (source) porta 1247. Ruter primi paket od 10.0.0.2, promeni source adresu na svoju javnu, recimo 5.2.2.2, ali ostavi isti source port - 1247, i pošalje ga na destination adresu, recimo 15.1.1.1, port 80 (web). Zatim ruter primi paket od 10.0.0.3, opet promeni source IP na svoj javni - 5.2.2.2, ostavi isti source port - 1247, i pošalje ga na 15.1.1.1, port 80.

Web server, 15.1.1.1, prima prvi paket od našeg rutera i odgovara mu - paket sa 15.1.1.1, source port 80, poslat na 5.2.2.2, destination port 1247. Zatim taj web server prima sledeći paket od našeg rutera i odgovara - paket sa 15.1.1.1, source port 80, poslat na 5.2.2.2, destination port 1247.

Primetićeš da ruter nema načina da razlikuje ova dva paketa, u smislu da zna koji paket treba da prosledi kom računaru u privatnoj mreži. Zbog toga se radi menjanje source portova pri natovanju, kako bi svaka konekcija mogla jedinstveno da se identifikuje.


zar se ovakvo mapiranje uz pomoc portova zapravo ne zove PAT odnosno port adress translation, odnosno NAT sa overload-om ?

jer koliko znam dvije vertije nata (staticki i dinamicki) ne koriste portove pri konverziji ip adresa ???
Potpis
Blast from the past...
Re: Network Address Translation (NAT) 29.05.2007. u 21:01 · pre 236 meseci #12

Imam jedno pitanje, mada mozda nije za ovu temu, ali nigde nisam nasao odgovor:

Kako pristupiti racunaru u LAN mrezi od spolja, kroz ruter sa NAT-om odn. kako da ispingujem racunar u LAN mrezi kroz ruter. Koji mu je IP od spolja gledano?
Re: Network Address Translation (NAT) 30.05.2007. u 11:11 · pre 236 meseci #13
Moras da uradis port forward na ruteru.
Na primjer:
U LAN na 192.168.1.15 imas www server. Na ruteru uradis forward porta 80 na tu IP adresu. Nakon toga, kad ukucas javnu IP u browser (javnu IP rutera) otvarace ti se www server sa adrese 192.168.1.15 :D
Nadam se da je jasno

Pozdrav
Re: Network Address Translation (NAT) 28.09.2007. u 22:13 · pre 232 meseci #14
pokusao sam da nadjem na elitu , ali nisam uspeo kako u okviru VPN konekcije , koja koliko znam funkcionise kao sto je ovde opisano (u pitanju je provajder 3dnet iz Panceva) da se sheruje internet , prvo u okviru kucne mreze a onda i sa udaljenog racunara (ako su ista work grupa ) , recimo u na 2 racunara koja su zakacena za isti router board

eh da, zaboravio sam da dodaam da tcp/ip mora da stoji na automatsko podesavanje ip adrese koju dobija racunar od dhcp servera routera - takva je vpn konekcija.

[Ovu poruku je menjao mramorcanin dana 29.09.2007. u 00:23 GMT+1]
Potpis
Skype : trujagroup
msn : [email protected]
Re: Network Address Translation (NAT) 18.12.2007. u 10:56 · pre 229 meseci #15
Ne znam koliko sam dobro razumeo, ali ako imas jednu masinu u tom VPN-u koja izlazi na internet, dovoljno je da na RouterBoardu u DHCP serveru umesto maticnog Gateway-a postavis lokalnu adresu te masine.... U tom slucaju ukoliko ip adresa nije u opsegu lokala, sve ce se prosledjivati preko te masine koja ja konektovana na internet....

Ukoliko u mrezi postoji jedan routerBoard koji izlazi na net, onda samo postavis ip adresu tog routerboarda...

Ukoliko je u pitanju racunar (izlaz na net), onda konekciju morash Share-ovati....

P.S. Nadam se da sam shvatio sta si trazio i da sam ti pomogao....

P.S. Naravno u DHCP serveru moras podesiti i DNS koji ti odgovara... Telekomov ili neki drugi, mada mozes postaviti da to bude i adresa kao Gateway....
Potpis
"When u r pushed, killing is easy as breathing...."
Re: Network Address Translation (NAT) 19.11.2009. u 19:21 · pre 206 meseci #16
znaci ovako ja sam iz makedonije koristim internet bezzicni sunwairles na kuci imam ruter ali ne znam ni koi model je ni kako da ulazim u podesavanja na ruterom nista. ako neko zna da mi pomogne nije mi za bog zna sta nego kod meni signal sse menja cesto zivim na lose mjesta pa treba mi podesavanja ruterom za da mogu da ga zakacujem kad mi se smali signal da ga zakacim na druga bazna stanica i tako druga i druga gde je bolji signal.kada ukucam adresa na web browsera 10.xxx.xxx.xx nije bitno ne daje mi nista a ja kao sto znam treba mi izvaditi ushername i password tu da ukucam lozinke i da mi daje podesavanja.ako neko zna da mi pomogne bio bih mu zahfalan.Hfala
Potpis
viktorce
Re: Network Address Translation (NAT) 29.12.2009. u 16:21 · pre 204 meseci #17
viktorce ja koristim wi fi ruter mislim da je isto i sa obicnim ruterom evo na koji nacin ulazim ja:kada sam kupio ruter logujes se na 192.168.1.1 ali ja sam to smenio ako ti je neko podesavao ruter mozes da vidis na kojoj je adresi ruter.ako si vec nakacen na ruteru desnim klikom na ikonicu sa dva komjutera kod sata i status posle ides u tab support tu ti pise ip adresa baci pogled kod default gateway tu pise koja je adresa od rutera posto sam ja menjao kod mene je 150.150.150.150 dok ip adresa u komjuteru treba da ti bude 150.150.150.101 kada upises adresu od rutera u browsveru treba da se logujes pise ti na ruteru koji je pass trebalo da je admin pass admin ali to moze da se smeni...
Re: Network Address Translation (NAT) 29.12.2009. u 16:54 · pre 204 meseci #18
i ja imam jedno pitanje procitao sam lepo ovu temu koristim ruter kako sto sam razumeo i amatan buni isto pitanje kako i mene na primer na mom racunaru je otvoren port 139 koji sluzi za da se koristi tudji stampac u moju mrezu taj port moze da se vidi da je otvoren.ali dali taj port mogu da vidiju ovi sto su spoja kako sto sam shvatio ako hocemo da gledamo neke strane od porta 80 u ruteru se pravi razmena i ruter pristupuje sa porta 4444 i 5555.mene buni ako je kod mene otvoren 139 port dali ce moci neko da vidi da mi je otvoren taj prot.sta ako skenira moju ip adresu pretpostavjam da ce port 139 na ruteru biti zatvoren dali ce se neki drugi port otvoriti?jednostavno interesuje me dali sa ruterom smo bezbedni od hakera?
kako sto sam shvatio za da moze neko ako imam server ili ako hocu da mi pristupiju da mi koristiju stampac mora da rezerviram port sa port forward ili da napravim virtuelan server primetio sam obe opcije u ruteru.
sta ako hoce neko da napadne na nekom racunaru u mojoj mrezi posto od jedne ip ruter pravi 10 adrese a mozda i vise kako moze da pinguje neki komjuter u toj mrezi ako se pinguje glavna adresa ruter je online i pojavice se da je aktivan.ali kako da znam da je na primer kom sa 192.168.1.105 aktivan to moze da proveri samo onaj koji je u tu mrezu dok ovi sto su spoja to nemogu da urade ili mogu?ja mislim da bez port forward nemogu da pinguju nijednog komjutera u mrezu koju stvara ruter jel sam upravu?fakticki kod racunarima u mrezi netreba ni firewall ili gresim?






Re: Network Address Translation (NAT) 11.01.2010. u 10:49 · pre 204 meseci #20
Pravi firewall radi dvosmerno - stiti od upada spolja, i sprecava da nezeljene aplikacije ostvare komunikaciju ka napolje. Klasican NAT i port forwarding pruzaju samo onu prvu polovinu zastite, dok ce bilo koji keylogger trojanac nesmetano slati podatke o tebi napolje ako nemas i dodatni firewall na svom racunaru. A sto se tice onog tvog pitanja za ping - vecina savremenih rutera ima web interfejs koji u sebi izmedju ostalog sadrzi i mini dijagnostiku sa ping alatkom, koju mozes iskoristiti za pingovanje racunara u LAN-u. Kod skoro svih koji imaju web interfejs, imas mogucnost da ukljucis pristup istom i sa strane LAN-a i sa strane WAN-a, sto znaci da ti mozes jednostavnim unosenjem spoljne IP adrese rutera u svoj web browser pristupiti web interfejsu sa spoljne lokacije, i zatim pokrenuti ping i proveriti racunare u LAN-u. Tako ja recimo proveravam racunare u udaljenim prodavnicama (na onim lokacijama gde ruter to omogucava) kada ne mogu da se remotujem ili pristupim njihovom SQL serveru...
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme