NAT
Last updated
NAT (Network Address Translation)
PAT(Port Address Translation)
Pat; Cisco'da da Overloading olarak ifade ediliyor.
Bir networkte bulunan bilgisayarların kendi networkü dışında farklı bir networke veya internete çıkarken farklı bir ip adresi kullanabilmesi için geliştirilmiş bir internet protokolüdür.
Nat'ın uygulanmış olduğu bir router ya da router özellikte bir network cihazı modem gibi cihazlar NAT tablosu adı verilen tablo yardımı ile ip dönüştürme işlemi yapıyor. İç networkten dış networke gitmek için bir kullanıcı tarafından gönderilen paket router'a geldiğinde router bu paketin ipsini NAT tablosuna uygun olarak ip dönüşümüne tabii tutuyor yani Private ip adresini Public ip adresine dönüştürüyor ve bu şekilde dış networke gönderiyor. Routerın dönüştürerek değiştirdiği bu ip artık kullanıcının internette bilinen ip adresi oluyor.
İnside Local : İç Yerel Adres Outside Local: Dış Yerel Adres İnside Global: İç Global Adres Outside Global : Dış Global Adres
İç networkümüzde kullanmış olduğumuz bilgisayarın ipsi inside local adres oluyor
Server dışarı networkte yani internette. Dış networkte olan bir server yani global bir network olarak değerlendiriyoruz. Bu nedenle outside global oluyor.
İnside global ise local areada bulunan private ip adresine sahip 192.168.1.100 bilgisayarımızı NATladığımızda dışarı çıktığında global networkte yani outside de kullanmış olduğu ip inside global oluyor. Yani internet ortamında kullanmış olduğu public ip adres
İnternette dolaştığı ip adresine inside global ip adresi deniliyor.
Outside Local ise internette bulunan yani outside da bulunan server'ın ipsinin local areadan görünümüne deniliyor.
Yani biz server'ın 3.3.3.3 olan ipsini local areada nasıl görüyorsak o bizim outside localimiz oluyor.Router üzerinde herhangi bir dönüşme olmuyor. Outside local ile outside globalde biz aynı ip adresini görüyoruz.
Static NAT ile private bir ip adresini public bir ip adresine dönüştürüyoruz yani yerel alanda kullanılan özel bir ip adresini, dışarıda örneğin internette kullanılabilecek şekilde genel ip'ye birebir dönüştürüyoruz. Burada oluşturulan NAT tablosu birebir eşleştirilerek dolduruluyor. Yani sistem yöneticisi tarafından dönüştürülecek olan private ip'ler teker teker public ip'lere eşleştiriliyor.
Bu yöntem local alandaki bir cihazımızın dış dünyadan erişilmesini istediğimizde yani internette erilmesini istediğimizde kullandığımız bir yöntem.Örneğin iç networkümüzde kullandığımız bir web server'ımız var. Bu web serverın internete açılmasını internette erilmesini istiyorsak bu yöntemi kullanabiliriz. Web server'ımızın ipsi 192.168.1.1 bu ipyi 87.10.10.10 ipsine dönüştürüyoruz. Dışarıdan geldiğinde sadece 87.10.10.10 ipsi üzerinden web serverına erişiliyor.
Burada web server haricinde dışarıdan hiçbir cihaza erişilemiyor.
Yani static natta birebir dönüştürme yapılıyor.
Dinamik NAT'ta public adres grubu alınıyor. Yani biz internet servis sağlayıcımızdan bir grup ip alıyoruz. Bu almış olduğumuz ip adresleri dinamik olarak private ip adreslerine dönüştürülüyor.
Yani buradaki işlem dinamik olarak yapılıyor. Eşleştirme dinamik yapılıyor.Sistem yöneticisi tarafından public (genel) ip havuzu belirleniyor. Daha sonra private ip , public ipden birisi ile eşleşip dış networke çıkıyor. Örnek olarak 192.168.1.1 ip adresi 87.10.10.10 ile eşleşerek çıkıyor. 192.168.1.2 ip adresi 87.10.10.11 ip adresi ile eşleşerek çıkıyor.
Dinamik NAT günümüzde çok da kullanılan bir yöntem değil. Daha çok farklı şirketlerin beraber kullanmasında yani farklı şirketlerin aynı networkü kullanmasında kullanılabiliyor ama günümüzde çok fazla kullanılmıyor.
PAT, public (genel) ip adresinden sadece bir adet ip adresi bulunuyor ve yerel alanda bulunan tüm ip'ler bu tek bir ip üzerinden internete ya da dış networke çıkabiliyor. Bunun en iyi örneği evimizdeki ADSL modemler. Modemler internet servis sağlayıcısından bir adet ip alıyor ve tüm cihazlar bu tek ip üzerinden internete çıkıyorlar.
Pat'da farklı olan şey, yerel alandaki private ip adresine sahip cihazın public ip adresi ile eşleşirken bir tane port numarası atanıyor. Ip bu port numarası ile eşleştirilerek internete çıkıyor. Yani giderkende gelirken de o port numarasına göre gidip geliyor.
Tek bir public ip adresi üzerinden, yerel alanda bulunan birden fazla ip adresi ile dış networke çıkıldığı için overloading yani aşırı yükleme olarak da ifade ediliyor.
PAT'ı Overloading NAT olarak ifade edilebiliyor. PAT'da NAT'ın bir çeşidi.
Outside networkü internet olarak düşünürsek. R1 routerımızı evimizdeki, şirketimizdeki modem olarak düşünebiliriz. R2 routerı ise servis sağlayıcıdaki bir router olarak değerlendirebiliriz. ISP bize 87.10.10.10 ip adresini tahsis ediyor gibi düşünebilirsiniz.
R1 den R2 ye static bir route yazdık ve interface iplerini verdik.
İç networkte kullamış olduğumuz bir ip ile internet ortamına erişemiyoruz.
internettede herhangi bir ip ile iç networke gidemiyoruz. 3.3.3.3 ipli server'a ping attığımızda erişemedik.
Gidebildiğimiz yer R1 routerın interfaceleri. 87.10.10.1 ve PC'nin gatewayi
R2 routerı 192.168.1.0 networkünü bilmediği için bize cevap vermedi. Çünkü R2 de herhangi bir yönlendirme protokolü yok.R2 bizim 192.168.1.0 networkünün nerde olduğunu bilmiyor onun için zaten biz 192.168.1.10 ipsini dönüştürerek gönderiyoruz.
Serverımız ise 87.10.10.1 e kadar erişebilir.
R1 üzerinde gig0/1 interfacesi inside ve gig0/0 interfacesi ise outside intefacemiz.
Biraz önce PC'mizden Sunucuya erişim sağlayamamıştık tekrar bir daha deneyelim.,
R2 routerı bizim 192.168.1.10 PCmizi 87.10.10.10 olarak görüyor.
Serverımıza girdik. PC'mize ping attık. Ama Serverımız 192.168.1.10 diye bir ip adresi bilmiyor.
Server bizim dönüştürdüğümüz ip adresini biliyor.
Attığımız bu ping önce R1'e geliyor burada translate oluyor daha sonra PC'ye gidiyor PC cevap veriyor.
Static NATI biz genelde local areadaki bir cihazımızın dış dünyadan erişilmesini istediğimizde yani internetten erişilmesini istediğimizde kullanıyorduk. Örneğin iç networkümüzde kullandığımız bir WEB serverı internete açmak istediğimizde yani internetten erişilmesini istediğimizde bu yöntemi kullanıyoruz. Local areamızıa bir tane web server ekleyelim ve dış dünyadan nasıl göründüğüne bakalım.
87.10.10.10 ipsini biz PC için kullanmıştık .11 ip adresini ise biz Server için NATlayacağız.
Aynı zamanda bu Web Server'ı DNS olarak yapılandırılalım. İnternette bu server 192.168.1.20 ile gözükmeyecek. 87.10.10.11 ipsi ile gözükecek.
Dışarıdan web servera erişelim. İsimden adres çözümlemesi yapacağımız için DNS adres olarak 87.10.10.11 girdik.
Dinamik nat konfigurasyonunda public ip adreslerinden servis sağlayıcıdan bir grup alınıyor. Bu grup ile bir havuz oluşturuluyor. Bu ipler kullanılarak dinamik olarak bu ipler private iplere dönüştürülüyor. Burada dikkat edilmesi gereken şey eşleştirmenin dinamik olarak yapılması Statik NAT'da teker teker eşleştiriyorduk ama dinamik NAT'da bu eşleştirme dinamik olarak yapılıyor.
Topolojide Routerların interfacelerine ip adresleri verildi ve R1 den R2ye bir statik route yazıldı.
R1'i localimizdeki modem R2 ise ISP routerı gibi düşünebillirsiniz.
İç networkümüzde çıkacak olan tüm networkümüz için bir access-list yazıyoruz. Yani dış dünyadan almış olduğumuz bu public iplere translate etmek için bir ACL yazalım.
Permit dedik ve tüm networkümüze izin vereceğimiz için network adresini ve wildcard adresi yazdık.
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
192.168.1.0 networkün hepsi dışarıya çıkacak. Kendi ihtiyacımıza göre bunu sınırlayabiliriz.
İkinci olarak da public iplerden bir havuz oluşturacağız. ve pool ismi verelim.
Bu access list de belirtilen ipler dışarıya çıkabiliyor. Havuz pool'unu kullanarak ip nat konfigurasyonu yapıyor olacak.
Şuan biz şunu yapmış olduk iç networkümüzde bulununan bütün bilgisayarların bu ipleri kullanarak dışarıya çıkmasını konfigure etmiş olduk.
PC1 den Sunucuya ping attık ve Router üzerinde translation şu şekilde gözüküyor.
LAN'da kullanmış olduğumu tüm ip'ler, fiziksel tek bir global ip üzerinden dış networke çıkıyorlar. Herbir ipye eşleştirirken bir port ataması yapılıyor bu port atamasına göre, bu ipler dış dünyaya çıkıyor ve dönüşte o port atamasına göre geri cihazlara ulaşabiliyor.
R1den R2ye statik route tanımlı sadece.
PAT 'da aynı şekilde interfacelerin altına inside ve outside'ları yazıyoruz.
LAN içerinde tüm bilgisayarlarımızın tek bir ip'den dışarı çıkmasını istiyoruz aynı dinamik NAT da olduğu gibi access list tanımlaması yapıyorum.
PAT'da tek bir fiziksel ip üzerinden çıkıyor. Bu sefer herhangi bir ip yazmıyoruz. İnterface'yi yazacağız. Tüm ip'ler tek bir interface üzerinden çıktığı için overloading yapıyorlar.
PAT 'in Cisco'daki ismi Overload NAT olarak isimlendiriliyor. sh ip nat translation yazdığımızda herhangi bir translation yok. PAT da aynı dinamik NAT gibi dinamik olarak bu yönlendirmeyi yapıyor. Statik NAT'daki gibi değil. Her seferinde dinamik olarak alıyor boşalınca boşaltıyor.
Sunucumuzu web server ve dns server olarak yapılandırdık. PC0 ve PC1'in dns serverına sunucunun 3.3.3.3 ip adresini verdik. Şuan erişimimiz yok. PAT yaptıktan sonra erişebileceğiz.
Biraz önce erişemiyorduk artık erişebiliyoruz. Hem PC0dan hem de PC1 den erişim sağlayamaya çalıştık Translation çıktısı aşağıdaki gibi.