Giriş

Bu yazımızda evde/işte ADSL yonlendiricilerimizde gorduğumuz NAT (Network Adress Translation - Ağ Adres Cevrimi) ozelliğinin ne olduğunu, nasıl calıştığını, ne tur NAT ceşitleri olduğunu goreceğiz. Tabi NAT sadece ADSL yonlendiricilerde vardır diyemeyiz. Sırf NAT yapan cihazlar olduğu gibi buyuk yonlendiriciler hatta Windows'ta kullandığımız Internet Bağlantı Paylaşımı (Internet Connection Sharing - ICS) gibi yazılımlar da NAT yapabilir. Yazıda IP adreslerinden sıklıkla bahsedeceğiz ama IP adresinin ozelliklerine girmeyeceğiz. Bunu TCP/IP başlığı altında başka bir makalemizde anlatmak daha doğru olacaktır. Tabi bunu bilmemek NAT'ın ne olduğunu anlamamıza engel olmayacaktır.

Nedir bu NAT sorusuna gelmeden once NAT'ın nasıl calıştığını anlamakta fayda var. Zaten ondan sonra ne olduğunu anlayacağız. İnternette TCP/IP iletişim kuralları topluluğunu kullanarak haberleşiriz. Topluluk diyorum cunku icinde bircok iletişim kuralını barındırır (TCP, UDP, ICMP, IP vs). Bu kuralların da nereye gideceklerini bilmeleri icin bir adrese ihtiyacları olacaktır. Buna da IP adresi diyoruz. IP adresi diyince burada NAT'ı ilgilendiren bolume geliyoruz.

NAT


İnternette kullandığımız IP adreslerini internet servis sağlayıcılar ICANN adlı firmadan satın alırlar. Tabi dunyada 6 milyara yakın insan olduğunu ve her gecen gun insanların ve internete girenlerin sayısını arttığını duşunursek IP adresleri yetmeyecektir. 90'lı yıllarda bunu gorenler zaten şuan IP surum 6'yı geliştirmekle uğraşıyorlar. IPv6 trilyonlara varan IP adresi kullanmamıza olanak sağlayacak. Bu biraz uzun surecek cunku tum internet altyapısının değişmesi gerekecek. Biz hali hazırda IP surum 4 kullanıyoruz. IPv4 ile 4,294,967,296 IP adresiniz olabilir. Ama IP adreslerinin sınıflara (class) ayrılmış olması, bazı adreslerin coklu gonderim (Multicasting) icin, bazılarının da test amaclı kullanılmasından dolayı bu sayı 3,2 milyara kadara duşmektedir. Surum 5 ise deneysel amaclarla hazırlanmış fakat kullanılmamıştır. IPv4'un sayısının muhtemel yetersizliğini engellemek icinde kurumlar, ev kullanıcıları vs icin NAT, servis sağlayıcılar ve yonlendirmede kullananlar icinde CIDR gibi teknolojiler geliştirilmiştir (CIDR yonlendirmede kullanılan bir teknolojidir - Classless Inter Domain Routing - Sınıfsız Alanlararası Yonlendirme). Peki, nasıl calışıyor ve bu NAT bize nasıl bir kolaylık getirdi?

İnternette gideceğimiz yeri bulmak icin IP adresleri kullanırız. Ama her IP adresini internet ortamında kullanamıyoruz. Bazı ozel IP adresleri vardır. Bu adresler, daha doğrusu IP adres aralıkları kendi yerel ağlarımızda kullanmamız icin ayrılmıştır. Bunlar Address Allocation for Private Internets (ozel internetler icin adres payı) diye tanımlanır, kısaca Private Adresses (ozel adresler) diyoruz. İnternette kullandıklarımıza da Public (Halka Acık) Addresses diyoruz (başka deyişlerde mevcuttur. Mesela Real - Gercek- IP, Registered-Kayıtlı - IP gibi).

Ozel IP adresleri:
10.0.0.0 ile 10.255.255.255
172.16.0.0. ile 172.31.255.255
192.168.0.0 ile 192.168.255.255 arasındadır.

Bunlar dışında da başka amaclar icin ozel adresler vardır. Ama bizi ilgilendirmiyor. Hicbir şekilde internette 10.4.34.98 veya 192.168.40.50 gibi adresler goremezsiniz. NAT bu adreslerin internete cıkmasına olanak sağlayan teknolojidir. Peki, nasıl yapıyor bu işi?

Kafamızda NAT mantığı oluşması acısından evde kullandığımız ADSL yonlendiricilerimizi ele alalım. Oncelikle oyuncularımıza rollerini vermekte yarar var. Servis sağlayıcımıza (Turk Telekom) ait belli IP aralıkları var. Bunları ADSL kullanıcılarına sabit (statik) veya değişken (dinamik) olarak dağıtmakta. Buraya Dış taraf (Outside) diyoruz. Birde biz varız. Bizde kendi ADSL yonlendiricimize, bilgisayarımıza veya ağ uzerinden haberleşen başka bir cihazımıza ozel IP veririz. Buraya da ic taraf (Inside) diyoruz. Kendi verdiğimiz adresler iceride kendileri ile haberleşirler. Ama iş internete cıkmaya gelince burada NAT devreye giriyor. NAT ne yapıyor? ADSL yonlendiricimizin 3 tane arayuzu (interface) var. Bunlar PPPoE veya PPPoA (internet), Ethernet (yerel) ve geridongu (Loopback) arayuzleri. Her 3 arayuzune de IP adresleri atanır. Internet tarafına siz bağlantı kurduğunuzda servis sağlayıcı tarafından, yerel tarafa ise biz IP atarız. Geridongu (Loopback) varsayılan olarak 127.0.0.1 alır (burası ile pek işimiz yok). ADSL yonlendiricimiz bize ilk geldiğinde onun ethernet arayuzune bağlanmak icin 10.0.0.2 veya 192.168.1.1 gibi adresleri kullanırız. Bunu sonradan değiştirip başka bir ozel IP vermek bizim elimizde. Ornek olarak aşağıda bir ADSL modemin arayuzlerini gorebilirsiniz.

[IMG]http://http//img98.**************/img98/9885/resim11kp.jpg[/IMG]

Siz bilgisayarınızdan bir istek gonderdiğinizde bu istek ADSL yonlendiricinizin Ethernet (eth0) arayuzune gelir ve NAT bunu cevirip diğer arayuze yonlendirir ve o bağlantı icin NAT tablosunda bir kayıt tutulur. Yerel ağ tarafında isterse yuz bilgisayar olsun internete cıktıklarında bir tane IP adresi ile kullanacaklardır (genelde ADSL yonlendiriciler boyle calıştığı icin bu orneği veriyorum, ceşitlerini biraz sonra goreceğiz). O adreste tabi ki servis sağlayıcının size verdiği adrestir. İşte burada NAT insanlara bir IP adresi kullanarak yuzlerce bilgisayarı internet ortamında haberleşmesini sağlıyor. Boylece IP adresi sıkıntısı bir nebze de olsa onlenmiş oluyor. Eğer NAT olmasaydı ne olurdu? Şirketimizde 100 tane bilgisayar var diyelim. Her birini internete cıkarmak icin 100 tane IP ye ihtiyacımız olacaktı. Ozel adresleri ve NAT ı kullanarak bunun onune gecilmiş ve IP yetersizliği onlenmiş oldu. Tabi elbet bir gun yetmeyecek ama IPv6 ile bu sorun ortadan kalkacaktır.

NAT kısaca ozel IP'lerin internetteki IP'lerle haberleşmesini sağlıyor. Tabi NAT'ın guvenlik tarafı da var. İceriden bir istek olmadıkca veya siz izin vermedikten sonra dışarıdan hic kimse iceriye erişemez. Yukarıda verdiğimiz ornekleri kafamızda biraz NAT mantığı otursun diye verdim. Farklı NAT yapılandırmaları mevcut. Yazımızın devamında bunlara da değineceğiz. Ayrıca gelişmiş yonlendiricilerde bircok arayuz vardır. Bunlar DSL teknolojisi yanında ISDN, Frame Relay, Ethernet, Metro Ethernet vs gibi teknolojilerdir. O yuzden bunlardan bir kacının bulunduğu bir yonlendiricide farklı arayuzler arasında da NAT yapma şansımız olur.

[IMG]http://img78.**************/img78/3714/resim23dv.jpg[/IMG]
Cisco firmasının devlerinden biri. Pek bizim evdeki ADSL yonlendiricilerimize (router) benzemese de kendisi cılgın bir yonlendiricidir.

NAT'ın faydalarını ve avantajlarını kısaca sıralamak gerekirse;
Az sayıda IP kullanarak bircok istemciyi internete cıkarabilirsiniz. Hem parasal olarak kazanc sağlar hem de IP adresi kıtlığını yavaşlatmış olur. Yerel ağımızı istediğimiz gibi tasarlamanıza da olanak sağlar. Yeni istemciler ekleyebilir. Adreslerini değiştirebiliriz veya yeni yerel ağlar ekleyebiliriz. Tek değiştirmeniz gereken NAT ayarlarıdır. Guvenlik sağlar. Yerel ağınızla internet arasında bir nevi ateş duvarı gibi durur. Dışarıdan gelenler siz izin vermediğiniz surece iceriye erişemezler.
Tabi bunların yanında ufak dezavantajları da var. Bazı uygulamalar NAT kullanırken zorlukla yaşayabiliyor (FTP gibi). IPSEC kullanıyorsak yine sorunlar yaşayabiliriz. H.323 kullandığınızda sorunlar yaşayabilirisiniz vs...

Şimdi biraz ayrıntıya girelim. NAT denen bu teknolojinin birden fazla ceşidi vardır. Burada bazı NAT terimlerini bilmek gerekir. Yerel ağımız icin İc Taraf (Inside), Internet veya yonlendiricinin diğer tarafındaki farklı bir ağ icin de Dış Taraf (Outside) diyeceğiz.


Sabit NAT (Static NAT)

Bu NAT tipinde NAT ayarımızı her yerel IP adresimizi ayrı ayrı gercek IP adreslerine eşleyerek yapıyoruz. Yani mesela 192.168.1.20 numaralı yerel IP'mizi internete bakan arayuzumuzdeki 85.99.230.15 numaralı IP ile NAT yapmasını istiyoruz. 10.0.0.31'i de başka bir IP adresi ile... Bu şekilde herkese ayrı ayrı IP adresi vermiş oluyoruz. Bunu ic taraftan dış tarafa, dış taraftan ic tarafa cevirim olacak şekilde ayarlamamız mumkun.

[IMG]http://img398.**************/img398/5397/resim30sn.jpg[/IMG]

Yukarıda sabit (static) NAT orneğini gorebilirsiniz. Yonlendiricinin dış tarafa bakan 3 tane seri arayuzu var. İceride ise 1 tane ethernet arayuzu var. Sabit NAT ic taraftan gelen istekleri tablodaki kayıtlara gore eşler ve internete cıkarır.
__________________