Erdem YILDIZ

Siber Güvenlik Araştırmacısı
Python Geliştiricisi
Linux Hayranı

Packet Tracer ile NAT yapılandırması

Merhaba arkadaşlar bugün sizlere NAT hakkında açıklama yapıp daha sonra Packet Tracer üzerinde bir uygulama ile kullanımını göstereceğim.Haydi bir giriş yapalım...

İnternet'de dolaşmak isteyen her bir host dünya üzerinde eşsiz bir ip adresine ihtiyacı vardır.Ancak yıllar önce çoğu ip adresi tükendi. Bu soruna çözüm olarak NAT (Network Address Translation - Ağ Adresi Çevirisi) ortaya çıktı.Dünya üzerinde bu yapı kullanılarak global ip sayısı korunmuş oldu.

Eğer NAT'ı tek cümle ile özetlemek gerekirse "NAT internet üzerinde geçerli ip adresi olmayan bir host'a başka bir host ile iletişim kurmasına izin verir." şeklinde olurdu.

Örnek vermek gerekirse local ağda 192.168.1.11 private ip adresi atanmış bir bilgisayar kullandığı bu private adresi internet üzerine yönlendirilmese bile internete erişmektedir.Bunun sebebi router / modem'in bu ip adresini kendi üzerinde atanmış internet üzerinde geçerli bir public ip adresi ile değiştirmesi'dir.

Bu kadar bilgilendirmeden sonra bir kaç uç örnek verip NAT'ı biraz daha yaymak istiyorum.Bir şirketinizin içerisinde 240 tane'de çalışanınızın olduğunu ayrıca şirketiniz internete girmek için bir ISP'den 60 adet public ip adresi aldığını düşünün.Şirketiniz'deki 240 kişi aynı anda internete girmek isterse bunların sadece 60 tanesi bu isteğini yerine getirecektir.Diğer kalan 180 kişi hiçbir şekilde internete ulaşamayacaktır.Bu durumda NAT kullanarak birden fazla host bir public ip adresi kullanarak internete erişebilmektedir.

Yukarıdaki senaryo her ne kadar mantıken doğru olsa bile günümüzde ISP'lerin 60 adet global ip vermesi herzaman mümkün olmayabiliyor.Bunun için'de kullanıcıların ip ve port bilgisini kullanarak bir global ip üzerinden çıkmaları sağlanıyor.

NAT'ın kullandığı terimler.

  • Inside Local IP Address: Kaynak(source) ip adresin NAT işleminden önceki local network'e bulunmuş halidir.
  • Inside Global IP Address: Kaynak(source) ip adresin NAT işleminden sonra local network dışında bulunmuş halidir.
  • Outside Local IP Address: Hedef(destination) ip adresinin NAT işleminden sonra uzak network içersinde bulunmuş halidir.
  • Outside Global IP Address: Hedef(destination) ip adresinin NAT işleminden önce uzak network dışarında bulunmuş halidir.

Yukarıdaki fotoğrafı şöyle anlamaya çalışalım.Bizim bir kullanıcımız var ve bu kullanıcı internet üzerinden gazate okuyor.Kullanıcıyı internete bağlayan ağ kullanıcı için local olarak adlandırılır.Aynı şekilde internete hizmet veren bu gazete kendisi için içinde bulunduğu ağ local olarak adlandırılır.Bu iki local ağı birbirne bağlayan ağ ise global olarak adlandırlır.

NAT kendi içersinde 3'e ayrılır

  • Static NAT: Bir local adresin sadece bir global adresi kullandığı NAT türüdür.Bu türde local ağda çalışan her host için global adres gereklidir.
  • Dinamic NAT: Local ağda birden fazla global ip adreslerin kullanıldğı NAT Pool(havuz) oluşturulur.İnternet'e bağlanmak isteyen host'lar bu NAT havuzundan global ip adresi isteyerek internete çıkarlar.Bu işlen NAT havuzunun elindeki global adresler kadar yapılır.Eğer NAT havuzunda kullanılacak bir global adres yoksa internete çıkmak isteyen diğer host'ların packetleri drop edilerek interente ulaşamazlar.(Her host bir global adres kullanır.)
  • PAT (NAT Overloading): Dinamic bir NAT türü olan bu yapıda farklı port kullanan çoklu local ip adreslerini bir global ip adresine bağlayan yapıdır.Static ve Dinamic NAT'da host'lar global ip adres'leriyle tek tek eşleşirler.Demek istediğim internete çıkmak isteyen ne kadar host varsa o kadar global ip adres olmak zorunda fakat PAT kullanarak binlerce host'u bir tane global ip adresine bağlayabiliriz.

Yukarıdaki topoloji'yi baz alarak bir Static NAT yapılandırması yapacağız fakat bu işlemlerden önce eğer böyle bir topolojiniz NAT işlemlerinden önce kendi içersinde haberleştiğinden emin olunuz.

Static NAT Yapılandırması

                                                #Router0 üzerinden gerçekleştireceğiz

                                                #I.adım  -> Router üzerindeki interface'leri konumuna göre inside yada outside yapmalıyız.
                                                interface gigabitEthernet 0/0
                                                ip nat outside
                                                interface gigabitEthernet 0/1
                                                ip nat inside

                                                #II.adım -> Router üzerinde inside tarafında dışarı çıkan paketlerde inside bacağındaki ip adresini outside bacağındaki ip adresi yapma işlemidir.
                                                ip nat inside source static 192.168.1.2 100.0.0.1

                                            

Dinamic NAT Yapılandırması

                                                #Router0 üzerinden gerçekleştireceğiz

                                               #I.adım  -> Router üzerindeki interface'leri konumuna göre inside yada outside yapmalıyız.
                                                interface gigabitEthernet 0/0
                                                ip nat outside
                                                interface gigabitEthernet 0/1
                                                ip nat inside

                                                #II.adım -> Router üzerinde inside tarafında dışarı çıkan paketlerde inside bacağındaki ip adresini outside bacağına vardığında NAT pool'da belirlenen bir aralıkta ip adresi alma işlemidir.
                                                ip nat pool Try 100.0.0.50 100.0.0.60 netmask 255.0.0.0
                                                ip nat inside source list 10 pool Try
                                                access-list 10 permit 192.168.1.0  0.0.0.255

                                            

PAT (NAT Overloading) Yapılandırması

                                                #Router0 üzerinden gerçekleştireceğiz

                                                #I.adım  -> Router üzerindeki interface'leri konumuna göre inside yada outside yapmalıyız.
                                                interface gigabitEthernet 0/0
                                                ip nat outside
                                                interface gigabitEthernet 0/1
                                                ip nat inside

                                                #II.adım ->Router dışarıya bakan bacağının ip adresi kullanarak hedefe ulaşılacaktır.
                                                ip nat inside source list 10 interface GigabitEthernet0/0 overload
                                                access-list 10 permit 192.168.1.0 0.0.0.255
                                            
Yukarıda paylaşmış olduğum bilgilerde bir problem yada yapılabilecek iyileştirmeler için bana ulaşabilirseniz çok sevinirim.Okuduğunuz için çok teşekkür ederim.Esen kalın :)