Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Bu nasıl NASIL yazarı? - IP Masquerade & NAT

Konu, 'Bilgi Güvenliği' kısmında ee++ tarafından paylaşıldı.

  1. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Selamlar,

    Geçenlerde Linux IP Masquerade HOWTO belgesine bakıyordum. Henuz tamamen incelemedim ama bir başlık gözüme çarptı aralarda: How does IP Masquerade differ from Proxy or NAT services?.

    Arkadaş demiş ki: "Network Address Translation is the name for a box that would have a pool of valid IP addresses on the Internet interface which it can use.", ayrıca "Requires a subnet from your ISP (expensive)".

    Allah Allah dedim.. Ya bu adam NAT'ın ne oldugunu bilmiyor ya da ben.. NAT ile hizmet vermek için tek bir IP adresi yeterlidir. Bu adamın dediğine kalsak zaten NAT ne işe yarar ki?.. Adam standart bir ISS'i tarif etmiş, TTNET'in elinde de bir alt ağ vardır ve ondaki adresleri kullanıcılara atar boş kaldıkça...

    NAT'ta ise tek IP uzerinden tüm istemcileri internete tasirsiniz. Bunu saglayan da Port numaralarinin cesitlilik icin kullamidir. NAT kutusundan internete cikan her istemci, o kutunun bir Port'undan cikar, boylece adres farkliligi ve fazlaligi gereksinimi cozulmus olur.

    Yanılıyor muyum?..
     
  2. norda_krepusko

    norda_krepusko Üye

    Kayıt:
    5 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    bt
    Şehir:
    @home
    haydaa... bi saniye, bu ne alakadir, isp den bi subnet niye aliyim ben,

    Network Address Translation is the name for a box that would have a pool of valid IP addresses on the Internet interface which it can use

    bi yanlislik var ama, ee++ in tarifi tamamen dogru, bi internet interface inde pool halinde bi tomar ip varsa, ve her baglanan bi ip adresi aliyosa, bu makine dhcp dir. ve bunun nat ile bi alakasi da yoktur,

    zaten ustadin belirttigi gibi Network Adress Translation servisi saglayan makineler, cok basitce, icerden gonderilen paketin headerini degistirir, akabinde, disariya gonderir, gelincede iceri gonderir, bu sayede icerdeki makinelerin ayni ip adresine sahip mis gibi gozukmelerini saglar. -fazla basitce oldu ama temelde bu kadar-

    NAT ile Masq. arasinda - benim bildigim - temelde hic bi fark da yoktur. Ayni islevi yerine getirirler en azindan.

    sanirim, dokumanda, ya farkli bi sii anlatilmis, veya baska bi sii soylenmeye calisilmis. du bende bi okuyim geliim :)
     
  3. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Benim hoşlanmadığım, bunun LDP altında yayınlanması.. Önüne gelen yazınca böyle oluyor işte.. Sonra birisi okuyacak, yanlış öğrenecek gidecek..

    Şimdi ben bu belgenin geri kalanını niye okuyayım ki.. Ne kadar doğru ki..

    Bu arada NAT'ı teorik olarak pek bir severim. Ben diyordum, şöyle şöyle bir sistem olsa, Port olayını da kattık mı tamam diye, meğer adamlar yapmış... :)
     
    Son düzenleme yönetici tarafından yapıldı: 20 Ekim 2002
  4. Beholder

    Beholder Üye

    Kayıt:
    17 Ekim 2002
    Mesajlar:
    76
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayarcı
    Şehir:
    Balıkesir
    Bende sasirdim. Benimde bildigim kadariyla NAT icin tek gereken public bir IP'dir onu ISP'den alirsiniz networke yayarsiniz. Ama subnet olayi ne alaka?

    Ilginc bir olay gercekten.
     
  5. redial

    redial Misafir

    Acaba, isp'nizin ip havuzundan aldigimiz tek bir ip yi tum alt agimiza paylastirabilecegimizden mi bahsetmeye calisiyor...?

    Du bende gidip bi bakayim...
     
  6. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Yok yok, direk batirmis.. Daha neler var bakalim..

    Neyse, onemli degil. Biz kesin bildiklerimizi paylasalim burada. Buyru...
     
  7. redial

    redial Misafir

    Evet,
    Belgede bir takim belirsizlikler var...

    Ama NAT in teorisi cok basit..
    İceriden gelen paketleri al, basliklarini yeniden duzenle, ve bunlari ilgili yere yolla, cevap gelince de , veritabanina bak, gelen cevap kiminse ona yolla...


    krepusko kadar becerebilcekmiyim bilmiyorum ama:

    yerel agimiz NAT MAKINASI (192.168.0.1 / 100.100.100.1)
    ---------------- ------------------------------------------ ----------------------
    192.168.0.4 >192.168.0.4 -> 216.239.51.100 - 80 - 1204 INTERNET
    192.168.0.5 ----> <192.168.0.5 -> 216.239.51.100 - 23 - 1205
    192.168.0.6 >192.168.0.6 -> 216.239.51.100 - 25 - 1207
    >192.168.0.5 -> 66.218.71.83 - 80 - 1208





    Evet, basit olarak, 192.168.0.4 den cikan paketi alan nat makinemiz, basliga bakiyor, bunun, 216.239.51.100 uzerindeki 80 noolu porta giden bir istek oldugunu goruyor, paket in kaynak ip kismini kendi gercek ip si olan 100.100.100.1 ile degistirerek hedef makinaya yolluyor, ve veritabanina bu islemi kaydediyor

    80 nolu portuna istek gelen 216.239.51.100 makinasi hemen harekete geciyor, paketi isledikten sonra, 100.100.100.1 makinasinin ilgili portuna geri yolluyor...

    100.100.100.1 bakinasi, hemen, paketin portuna ve kaynagina bakarak, o paketin 192.168.0.1 e biraz once yolladigi paketin cevabi oldugunu goruyor ve, ilgili makinaya yolluyor...


    Basit sekliyle nat budur...

    Bundan gerisi yalandir...

    Oneml, Nat, TCP baglantilarda calisir. UDP isin icine girince ortalik karisir...

    Girelim mi?
     
  8. redial

    redial Misafir

    //yukaridakinin aynisi, silemedim ;)
     
    Son düzenleme yönetici tarafından yapıldı: 21 Ekim 2002
  9. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Selamlar,

    Aslinda NAT'in bir kac cesidi var ama en mantiklisi olan NAPT yaygin olarak kullanilan. NAPT'nin acilimi Network Address Port Translation.

    NAT zaten basit bir mantik, ama sorun daha cok disaridan gelen paketlerin iceride hangi makinaya aktarilacaginin belirlenmesinde olmus. Bunun icinde iste, NAT makinasi her bir cikis icin rastgele bir Port tayin ediyor, yani baslik bilgilerini degistiriyor. Boylece hangi makinanin kendisinin hangi Portundan ciktigini bilecek ve disaridan gelen istemler de o porta olacagi icin dogru makinaya yonlendirme yapilabilecek. En ideal cozum bu.

    Ayrica, Masquerade, NAPT'nin Linux uzerindeki uygulamasidir.

    Ayrica, NAT, UDP ile de calisir. Istisnai durumalar olabilir.

    Daha acabiliriz tabi, yazi da yazariz, neyse..
     
  10. redial

    redial Misafir

    Evet, Transparency isin icine giridiginde, UDP ile sorunlar yasaniyordu. Bende bunu yahu bu nat patch for quake de ndeyin nesi dierek konuya dalinca ogrenmistim...
     
  11. Huzeyfe

    Huzeyfe Üye

    Kayıt:
    18 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    SEcurity Administrator
    Şehir:
    Kocaeli
    peki benim bir sistemim var ana agi sabit ip arkadakiler herhangi bir ip ye sahip makineler ben disarda normal baglantiyla nete baglanmis bir insandan bir dosya alabilirmiyim?(mesela msn den bana biri dosya gonderirse ?),bir kac kere denedim alamadim acaba baska bir sorun mu var yoksa nat'dan kaynaklanan bir sorun mu?
    ps:bir yerde okumustum ipV4 lerden ipV6 ya geciste birileri isyan etmis ip adresi yetersizligi yok ,NAT var diye,birileri de NAT end-to-end iletisim icin uygun degil demis...dogru mu?
     
    Son düzenleme yönetici tarafından yapıldı: 21 Ekim 2002
  12. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Selam,

    NAT ile dışa açılmak için öncelikle içteki makinenin dışa bir istemde bulunması gerekir ki NAT makinasinda ilgili tabloda kendine bir giriş yaratsın.

    Dolayısı ile her zaman için ilk hamle iç makinadan gelir. Ama bu sorun değildir. Yani dediğinin NAT'tan kaynaklandığını sanmıyorum.
     
  13. redial

    redial Misafir

    @Raps
    Dedigin olayin, nat ile bir ilgisi yok, gunumuz firewall lari, bu tip `direct connection` vakalarini gurur gormez `not allowed, not alloved` seklinde ciyaklamaya baslarlar...

    ? iyi ama bir cozum olmali ?
     
  14. norda_krepusko

    norda_krepusko Üye

    Kayıt:
    5 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    bt
    Şehir:
    @home
    eger demek istediginiz,

    x : 21 -> 212.54.4.2 :21 _192.168.16.254 : 21 -> 192.168.16.1 :21

    gibi bi baglanti ise, yani x makinesinden gelen istegi arkadaki, ..16.1:8080 e aktarmak ise, evet, bunu nat ile yapabiliyosunuz, ve hatta cok fazla kasmanizada gerek kalmiyo,

    en basitce, w2k da, internet connection sharing olayina giriyosunuz, burda, sharing i enable edip, settings e basiyosunuz, hemen akabinde, services tabindan, gerekli service i isaretleyip makinenin ip adresini yaziyosunuz, ve tamam diyosunuz,

    boylece, arkadaki makineye yonlendirme oluyo, ki bu sey nat uzerinde calisiyo.

    tabii, bildigim daha medeni cozumlerde var, ama yerimiz dar, ve biraz saga sola bakiip toparlamam lazim,

    ters proxy yapip, 80 icin, server farm da kurulabilir mesela, veya, firewall larin buyuk bi kismi (mesela calisirsa ISA ) bu tarz seyler icin destek verir.

    eger, gercekten lazim falan derseniz, bi ara dokuman toparlayip, ortak bi belge hazirlayalim, vpn olayini anlatalim. (tabii ben mantikli saatlerde eve gelmeyi becerebilirsem )
    :rolleyes:
     
  15. redial

    redial Misafir

    Ustadim, sanirim ee++ ustadimiz, isin uygulama tarafindan cok, NAT mantigi uzerinde duruyordu...

    Simdi VPN girmesek, daha bir hayirli olmaz mi toplulugumuz icin?
     
  16. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Evet, genelde oldugu uzre yine mantigi, teorisi ile ilgileniyordum. Ama, Masquerade'nin, NAT'in Linux uzerindeki uygulamasi oldugunu da belirttik yani.. :)

    Kolay gelsin.
     
  17. RaiST

    RaiST Daimi Üye

    Kayıt:
    24 Temmuz 2002
    Mesajlar:
    1,932
    Beğenilen Mesajlar:
    0
    Meslek:
    linuxrocker
    Şehir:
    krynn
    basit türkçe ile ip-masq :)

    not: ee++'nin en basta belirttigi duruma katılıyorum.. yazarın bu subneti nerden cıkardıgını cok merak ediyorum.. elinizde bir public ip, yeterli sistem kaynağı olduğu sürece birçok bilgisayarınız tek ipden çıkış yapar.

    türkiyede birçok devlet üniversitesi bu sistemi kullanmaktadır...

    NAT ayrıca güvenlik uygulamalarında işe yarar bir sistemdir aynı zamanda
     
  18. Huzeyfe

    Huzeyfe Üye

    Kayıt:
    18 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    SEcurity Administrator
    Şehir:
    Kocaeli
    peki Linux altında max kac makineye masq.. uygulanabilir?
    bir yerden okuduma ~4000 makine diyordu ama mantigini anlayamadım :(

    peer-to-peer iletisim icin rfc 3235 de

    Peer to peer applications are problematic in a NAT world. Client-
    server applications are more generally workable. Peer-to-peer
    applications rely on each peer being reachable as a server (i.e.,
    bound to a listening port, and able to accept connections) for the
    other to connect to. With NAPT, there are likely many machines
    behind one address. With other types of NAT such as Basic NAT with
    Static Address Assignment (providing one-to-one mappings), there is a
    greater chance of making such applications work.


    diyor.?
     
    Son düzenleme yönetici tarafından yapıldı: 22 Ekim 2002
  19. ee++

    ee++ Daimi Üye

    Kayıt:
    25 Temmuz 2002
    Mesajlar:
    1,122
    Beğenilen Mesajlar:
    0
    Şehir:
    Ankara
    Selam,

    En fazla port sayisi kadar makinaya 2^16 makinaya yani hizmet verilebilir. Hadi biz buna 6000 diyelim ki NAT makinasina da is yapacak biraz port kalsin. Yukarıda bunu aciklamistim, orayı tekrar okursan neden port sayisi kadar oldugunu anlarsin.

    Kolay gelsin.
     
  20. Huzeyfe

    Huzeyfe Üye

    Kayıt:
    18 Ekim 2002
    Mesajlar:
    95
    Beğenilen Mesajlar:
    0
    Meslek:
    SEcurity Administrator
    Şehir:
    Kocaeli
    ben farkli dusunuyorum,yani senin dedigine gore bilgisayardaki port sayisi kadar bilgisayara dagitim yapabiliriz(2^16=~60000),benim bildigimde Linux altında 61000 den sonraki portal kullanılıyor bu is icin buda yaklasık 4000 makineye denk geliyor
    kaynak Gorkem Cetin ,ama hala neden oldugunu ogrenemedim,soracagim
    selamlar...
     
    Son düzenleme yönetici tarafından yapıldı: 22 Ekim 2002