NAT;
NAT (Network Address Translation) bir network içerisinde kullanilan bir IP adresinin baska bir network içerisinde bilinen baska bir IP adresine çevirilmesidir.
İnternette gideceğimiz yeri bulmak için IP adresleri kullanırız. Ama her IP adresini internet ortamında kullanamıyoruz. Bazı özel IP adresleri vardır. Bu adresler, daha doğrusu IP adres aralıkları kendi yerel ağlarımızda kullanmamız için ayrılmıştır. Bunlar Private Adresses (özel adresler) olarak tanımlanır. İnternette kullandıklarımıza da Public Addresses (Halka Açık Adresler) diyoruz (Mesela Real – Gerçek- IP, Registered-Kayıtlı – IP gibi farklı terimler de kullanılabilir).
Private 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
İnternette hiç bir şekilde private IP adreslerini (10.4.34.98 veya 192.168.40.50 gibi adresler) göremezsiniz. NAT bu adreslerin internete çıkmasına olanak sağlayan bir teknolojidir.
Evinizde bir yerel ağ, bir de internet bağlantısı olduğunu düşünelim.Ağınızdaki adresler 192.168.0.xxx yada 10.0.0.xxx şeklinde olacaktır. Bu ip adres türleri internette geçersizdir, çünkü bu belirttiğimiz ip adresleri “c class” ip adresleridir ve sadece lokal ağ üzerinde kullanılabilir durumdadır, doğrudan Internet’te çalışamazlar.Bu noktada devreye nat girerek bu ip adresleri ile Internet’e erişebilmemize olanak sunar.
- IOS’ta nat yapabilmek için ilk önce Cisco ‘nun kullandığı bazı terimlere aşina olmak zorundayız.
Inside local address: Local ağımızdaki cihaza atanmış private IP adresimiz.
Inside global address: Local ağımızdaki private IP ye sahip cihazı internete eriştirbilmek için NAT işlemi yaptığı public IP adresi.
Outside local address: Bu kavram kafamı karıştırmıştı.Bu adres aslında dış ağdaki bir cihaza ait.
Fakat içerdeymiş gibi görünüyor.Siz bu adrese istek gönderdiğinizde (yapılandırma sonrası) paketiniz dış ağa paslanıyor.Direk çevirirsek daha basit oluyor.Dıştaki bir hostun içerdeki yerel adresi.
Outside global address: Dış Ağda(WAN) erişmek istediğimiz cihazın public IP adresi.
NAT desteği olan bir cisco router üzerinde farklı NAT tanımlamaları yapabiliriz; bunlardan en çok kullanılanları;
- Static NAT : Localdeki bir private IP yi sabit bir public IP ile NAT lama işlemidir.
- Dynamic NAT : Bir private IP havuzu(IP pool) tanımlayarak localdeki private IP lerin bu havuzdan public IP almalarını sağlayarak yapılan NAT işlemidir.
- NAT with overload: Birden fazla private IP adresi nin tek bir public IP nin farklı portlarını kullanarak NAT lanması işlemidir.
Örnek ;
Aşağıdaki topolojide Serdar arkadaşımızın evinde 3 adet PC olduğunu varsayalım.. Son gittiğimde 5 idi fakat 2 si bozulmuş olsun ![]()
Local IP adresleri (Private IP addresses);
PC1: 192.168.1.1/24
PC2: 192.168.1.2/24
PC3: 192.168.1.3/24
GW: 192.168.1.254/24 (router fastethernet interface IP)
/24 – mevcut subneti gösterir ki 255.255.255.0 a karşılık gelir. Bunu da farklı bir başlık altında derleyebiliriz.

Routerımızın fastethernet IP sini ayarlayalım (Local PC ler GW olarak kullanacaklardır)
router#configure terminal
router(config)#interface fastethernet 0
router(config-if)#description LOCAL_GW
router(config-if)#ip address 191.168.1.254 255.255.255.0
Static NAT konfigürasyonuna başlayabiliriz. Telekom(ISP firmamız) tarafından bize yönlendirilen 3 adet sabit IP miz olduğunu varsayıyoruz local(private) IP lerimizi bu public IP lere NAT lıyoruz.
router#configure terminal
router(config)#ip nat inside source static192.168.1.1 193.254.258.30
router(config)#ip nat inside source static192.168.1.2 193.254.258.31
router(config)#ip nat inside source static192.168.1.3 193.254.258.32
routerımızın lokal interface ine ve WAN tarafandaki interface bu NAT tanımlamasını konfigüre ediyoruz. (Birden fazla NAT tanımlaması yapabileceğimizi ele aldığımzıda bu hangi interface in hangi NAt ı kullanacagını belirtmek için bu önemlidir.)
router(config)#interface fastethernet 0
router(config)#ip nat inside
router(config)#interface serial 0
router(config)#ip nat outside
Görüldüğü gibi, Lokal IP’lerimizin dış dünyaya public IP ile çıkmaslarını sağladık. Bunun için ayrıca hangi interface’in inside hangisinin outside olduğunuda belirttik.
router#show ip nat translation
Komutunu çalıştırdığımızda NAt transaltion un çalışıp çalışmadığını, internete hangi IP ile çıktığımızıı görebiliriz.
Pro Inside global Inside local Outside local Outside global
--- 193.254.258.30 192.168.1.1 --- ---
--- 193.254.258.31 192.168.1.2 --- ---
--- 193.254.258.32 192.168.1.3 --- ---
Aynı topolojide Dynamic NAT yapacak olursak; Telekom(ISP) bize belirli bir aralıkta IP adresi atamış olsun ve public IP lerimizin random bir IP ile internete erişmesi sağlanacaktır. 193.254.258.1/24 IP bloğu bize atanmış olsun ve Serdar lokal PC sayısını 100 e arttırmış olsun. Static IP ile tek tek NAT yapmak user-friendly olmadığından bu metodu kullanabiliriz.
MYPOOL isminde bir IP havuzu oluştururuz.
router#configure terminal
router(config)#ip nat pool MYPOOL 193.254.258.1 193.254.258.254 netmask 255.255.255.0
Lokal IP lerimizden hangi PC lerin bu havuzu kullanacağını bir access-list ile belirtiriz.
router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
router(config)#ip nat inside source list 1 pool POOLX overload
son olarak bu işlemi NAT traslation yapacak interface lere bind ederiz.
router(config)#interface ethernet 0
router(config-if)#ip nat inside
router(config-if)#interface serial 0
router(config-if)#ip nat outside
havuzdan atamış olduğumuz IP adresinin kullanıcıya ne kadar bind edileceğini belirlememiz gerekir. Gerçi bu durum havuzdaki IP sayısı Local Pc sayımızdan az oldugunda yapılması gerekir. 722sn=24saat lik bir zaman aşımı(timeout) süresi belirlemiş olduk.
router(config)ip nat translation timeout 7200
Aynı topolojide Overload NAT yapacak olursak; Bu tip NAT işleminde ise NAT router’ı TCP ve UDP port numaralarını translation tablosunda tutar. Bu şekilde IP ve port çiftlerini bir diğer çifte eşleme işlemindeki kayıta “extended table entry” denmektedir.
POOLX isminde bir IP havuzu oluştururuz.
router#configure terminal
router(config)#ip nat pool POOLX 193.254.255.17 193.254.255.30 netmask 255.255.255.240
Lokal IP lerimizden hangi PC lerin bu havuzu kullanacağını bir access-list ile belirtiriz.
router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
router(config)#ip nat inside source list 1 pool POOLX overload
son olarak bu işlemi NAT traslation yapacak interface lere bind ederiz.
router(config)#interface ethernet 0
router(config-if)#ip nat inside
router(config-if)#interface serial 0
router(config-if)#ip nat outside
Nat hakkında iyi bilgi vermişsiniz. Adres sınıfları hakkındada biraz değinmeliydiniz….