Network Address Translation(NAT) Nedir ve Nasıl Çalışır ? / The Hacker

'Creative

Kıdemli Üye
16 Mar 2017
3,246
92
sw4dZc.jpg

Bu konuda Nat Nedir ve Nat'a neden ihtiyaç duyulmuştur ? , Nasıl Çalışır ? , Türleri Nelerdir ? Nat Tipleri Nelerdir ? bahsedeceğim başlıklar sırası ile bunlar.

Nat Nedir ve Nat'a neden ihtiyaç duyulmuştur ?

Network Address Translation türkçesi ile " Ağ Adresi Çeviricisi"İlk olarak Neden böyle bir sisteme ihtiyaç duyuldu buna bakalım. İnternetin ilk çıktığı yıldan bugüne internete bağlanmak isteyen kişi sayısı katlanarak arttı ( 4,54 Milyar son hali ) ilk çıktığı yıllarda herkese verilen benzersiz iç ve dış ağlardaki ip adresleri bugün ki temel sorunu oluşturmakta ipv4 adreslerinin azalması, yakın bir zamanda ipv4 adreslerinin tamamen tükeneceği ve bunu nasıl yavaşlatabiliriz düşüncesi ile böyle bir sistem ortaya çıkmıştır. Cihazların internete çıkmak için bir ip adresine ihtiyaç vardır ve iç ağ ve dış ağınızdaki her farklı cihaza ip adresi atamak yerine bazı özel ip adresleri atayarak bunlara Address Al******** for Private Internets (özel internetler için adres payı) denir sadece sizin yerel ağınızda kullanabileceğiniz özel ağlardır.


Özel (Private) IP adresleri:
10.0.0.0 ile 10.255.255.254
172.16.0.0. ile 172.31.255.254
192.168.0.0 ile 192.168.255.254 arasındadır.


Fakat dış ağa bu ip adresleri ile bağlanamazsınız bunun için bir public ip adresinize ihtiyaç vardır Nat bunun için vardır dış ağa yani internet ortamına çıkarken ip adresinizi yeniden haritalandırır ve
fpRKLD.png


bu sayede internet ortamına bağlanmış olursunuz. Peki bunu nasıl yapar ?

Kısa bir şekilde bahsedeceğim kafanız karışmasın diye.

Dış ağdaki bir bağlantıya vs. istek yolladığınızda bu ilk olarak eth0 ağ ara yüzünüze istek geliyor ardından istek Nat tablosunda kayıt tutuluyor. Ondan sonra Nat tarafından ip atanıyor ve istemcinin internete çıkışı sağlanıyor. Dış ağa bağlandığında ise hedef sunucu tüm ağ trafiğini Nat yönlendiricisine gönderir Nat ise kendi ip adresini (private) göndermeden önce değiştirir (public) ve hedef sunucuya iletir bu şekilde bağlantı sağlanmış olur. Kısaca yaptığı işlem budur. Bir diğer avantajı ise dış ağ ve İç ağın ortasında bir firewall görevi görür izin verilmedikçe kimse içeri giremez veya çıkamaz. Ağ katman 3'te çalışır.


Nat Türleri

Basic Nat :

Sadece İp adresinizi değiştirir ağınız üzerindeki portları haritalandıramaz.


Dynamic NAT :

Dış ağ üzerinde birden fazla ip adresi alınır ve iç ağdaki ip adresleri ile eşleştirilir fakat dış ağdaki boş ip adresleri (o an kullanılmayan) ile eşleştirir. Konfigürasyon işlemleri ile tek bir dış ip adresi ile de dış ağa bağlanılabilir fakat birden fazla ip adresi ile eşleştirilmesi daha iyi olacaktır. Nasıl çalışır denir ise istemci internete çıkmak ister Nat tablosuna bakılır ve hedefi statik ise eşleme yapılır ve hedefe yönlendirilir fakat statik değilse alınan ip havuzundan boşta ip var ise eşleme yapılır ve bağlantı sağlanır.

Dynamic Nat Router Konfigürasyonu

https://www.computernetworkingnotes.com/ccna-study-guide/how-to-configure-dynamic-nat-in-cisco-router.html

İç ağ ve Dış ağ Router Konfigürasyonu


Kod:
version 12.3

ip nat pool test 172.16.131.2 172.16.131.10 netmask 255.255.255.0
 


!--- Refer to 
ip nat pool
 for more details on the command.
.

ip nat inside source list 7 pool test  


!--- Refer to 
ip nat inside source
 for more details on the command.


ip nat inside source static 10.10.10.1 172.16.131.1

 interface e 0

 ip address 10.10.10.254 255.255.255.0

 ip nat inside

 interface s 0

 ip address 172.16.130.2 255.255.255.0

 ip nat outside

ip route 192.168.1.0 255.255.255.0 172.16.130.1

 access-list 7 permit 10.10.10.0 0.0.0.255

Dış ağ router yapılandırması


Kod:
version 12.3
hostname outsideA

!
!
!
interface Serial1/0

ip address 172.16.130.1 255.255.255.0

serial restart-delay 0

clockrate 64000

!

interface FastEthernet2/0

ip address 192.168.1.1 255.255.255.0

speed auto

half-duplex

ip route 172.16.131.0 255.255.255.0 172.16.130.2

İç ağ router yapılandırması


Kod:
version 12.3

!
interface Ethernet1/0
 ip address 10.10.10.1 255.255.255.0
 half-duplex
!
ip route 0.0.0.0 0.0.0.0 10.10.10.254
!
!

Nat Çeviri tablosunun içeriğini görmek için


Kod:
NATrouter#show ip nat translations

Port Address Translation


Kısaca PAT iç ağdaki cihazların bir atanmış sabit public ip adresi üzerinden dış ağa bağlanmasıdır. Fark ise iç ağdaki cihazların public ip üzerindeki birden fazla (1024 ile 65535) port üzerinden internete çıkmasıdır.


FHjM27.jpg


Overlapping


Tgbrfi.png


Bunu farklı bir seneryo ile anlatacağım bu sefer dış ağımız internet olmayacak istemcimiz dış ağdaki bir dns sunucusa bağlanmak isteyecek.

Sizin istemcinizin "a" ip adresi "192.168.0.3" dış ağdaki bir dns servera bağlanmak ister "b" "blog.turkhackteam.org" "192.168.0.8" "a"dan gönderilen istek dış ağdaki "b" tarafından bu istek engellenecektir çünkü adresleme sistemi A'daki ile aynıdır burada Nat devreye girmektedir eğer yapılandırma işlemini yapmışsanız burada "A" istemcisi Nat'a gitmesi gerektiğini bilir Nat'a gidilir ve Nat elindeki kullanılmayan bir ip adresini verir
"10.1.10.10" bu sayede istek yeniden gönderilir ve bir çakışma olmayacağı için kabul edilecektir.



Nat Tipleri


  • Full Cone NAT

  • (Address) Restricted Cone NAT

  • Port-Restricted Cone NAT

  • Symmetric NAT

Full Cone NAT

400px-Full_Cone_NAT.svg.png


Tek bir noktası sürekli açık olan bağlantıdır herhangi dış bir bilgisayardan gelen bağlantıyı yönlendirir. Bağlantıları kabul etmesi için önce ağ yöneticisi tarafından yapılandırılmış olması gerekir.

(Address) Restricted Cone NAT

Bu bağlantı türünde ilk kural istemcinin daha önceden hedef yani sizin sisteminiz ile iletişime geçmiş olması gerekir.

XEMNUl.png


örnekte de görüldüğü üzere 192.248.22.100 istemci önce sizinle iletişime geçiyor ardından Nat üzerinde eşleşmiş olursunuz veri alış verişine başlayabilirsiniz.

Port-Restricted Cone NAT


Restricted Cone NAT ile aynı şekilde çalışır tek fark sadece ip adresi üzerinden önce istek atması yetmez İP:pORT şeklinde port bilgiside gereklidir.

jrvhR5.png


Resimde de görüldüğü üzere istemci ilk başta 10100 ip adresini kullanırken bağlantıya izin veriliyor fakat aynı ip adresine sahip istemci 10200 portuna istek attığında engelleniyor.

Symmetric NAT

İç ağdan gönderilen tüm istekler dış ağa eşsiz İP:pORT şeklinde çıkar. Cevap gönderme yetkisine sahip olmak için önce istemcinin

b4P9lY.png


(resimde de görüldüğü gibi) istemcinin İP:pORT şeklinde mesaj bırakması gerekir. Her farklı bağlantı için rastgele kaynak bağlantı noktası oluşturulur.


Kod:
Görselleştirme:

    {NAT internal side}  |    {NAT external side}  |  {Remote machine}
                         |                         |
1. (INT_ADDR, INT_PORT) => [ (EXT_ADDR, EXT_PORT1) -> (REM_ADDR, REM_PORT1) ]
2. (INT_ADDR, INT_PORT) <= [ (EXT_ADDR, EXT_PORT1) <- (REM_ADDR, REM_PORT1) ]
...
3. (INT_ADDR, INT_PORT) => [ (EXT_ADDR, EXT_PORT2) -> (REM_ADDR, REM_PORT2) ]
4. (INT_ADDR, INT_PORT) <= [ (EXT_ADDR, EXT_PORT2) <- (REM_ADDR, REM_PORT2) ]

Not


Giden bağlantı 1. adımda yapıldığında EXT_PORT1, yeni uzak IP grubu için atanan yeni bir rasgele bağlantı noktası numarası olarak tanımlanır .(REM_ADDR, REM_PORT1)
Daha sonra, aynı yerel adres ve bağlantı noktasından aynı uzak makineye ancak farklı bir bağlantı noktasında 3. adımda başka bir giden bağlantı yapılır. EXT_PORT2yeni uzak IP grubu için atanan yeni bir rastgele bağlantı noktası numarasıdır .(REM_ADDR, REM_PORT2)


Bana göre ipv4 ise ne kadar nat,cgn veya sınıfsız sistemler kullanılsa da tükenmesi kaçınılmazdır ipv6 sisteminee bir an önce geçilmeli.

Konu buraya kadardı okuduğunuz için teşekkürler :)
 

ErlikTHT

Katılımcı Üye
15 Eki 2019
272
1
Güzel bir konu olmuş. bu başlığı açmak için klavyeye uyhuladığınız gücü ileten parmaklarınıza sağlık ;)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.