NAT Yapılandırması
Merhaba;
NAT ‘ın ( Network Address Translator ) farklı varyasyonları (çeşitlendirme) vardır. Show ve Debug komutları yardımıyla NAT ile ilgili sorunlarını giderebiliyoruz. Bu konumuzda bunların nasıl yapıldığını anlatacağım. Aşağıda NAT yapılandırma ve NAT ile ilgili EXEC komutlarını veriyorum.
NAT Yapılandırma Komutları:
ip nat {inside | outside} | Arabirim yapılandırma komutudur. (interface configuration mode) |
ip nat inside source {list {erişim-listesi-numarası | erişim-listesi-adı} | route-map ad} {interface tipi numarası | pool havuz-adı} [overland] | Genel yapılandırma komutudur.(Global configuration mode) |
ip nat inside destination list {erişim-listesi-numarası | erişim-listesi-adı}pool havuz-adı | Genel yapılandırma komutudur.(Global configuration mode) |
ip nat outside source {list {erişim-listesi-numarası | erişim-listesi-adı} | route-map adı} pool havuz-adı [add-route] | Genel yapılandırma komutudur.(Global configuration mode) |
ip nat pool havuz-adı başlangıç-ip-adresi bitiş-ip-adresi {netmask alt-ağ-maskesi | prefix-length örnek-uzunluğu} [type rotary] | Genel yapılandırma komutudur.(Global configuration mode) |
ip nat inside source {list {erişim-listesi-numarası | erişim-listesi-adı} |route-map adı}{interface tipi numarası | pool havuz-adı}[overload] | Genel yapılandırma komutudur.(Global configuration mode) |
NAT EXEC Komutları:
Show ip nat statistics | NAT tablo girdileri ve sayaç bilgisi listelenir. Ek olarak temel yapılandırma bilgisi ‘de görüntülenir. |
Show ip nat translations [verbose] | NAT tablosu gösterilir. |
Clear ip nat translation {* | [inside genel-ip yerel-ip] [outside yerel-ip genel-ip]} | NAT tablosu üzerinde dinamik girdilerin tamamı veya bir kısmını silmek için kullanılır. |
Clear ip nat translation protokol inside genel-ip genel-port yerel-ip yerel-port [outside yerel-ip genel-ip] | NAT tablosu üzerinde dinamik girdilerin bir kısmını silmek için kullanılır. |
Debug ip nat | IP adres içeriği NAT ile değiştirilen her paketinin içeriği ile ilgili tanımları yapan log mesajlarını üretir. |
Statik NAT Yapılandırması:
Diğer NAT çeşitleri ile karşılaştırdığımızda statik NAT işletim açısından en kolay yapılandırma özelliğine sahip olan NAT çeşididir.Statik NAT ‘ın ana şeması; her yerel IP adresi ile her genel IP adresinin statik eşleştirilmesi yapılır ve router ‘in hangi interface ‘in inside hangisinin outside olduğuna bakıyoruz.
Yukarıdaki topoloji ‘de gördüğümüz gibi C sınıfı 200.1.1.0 ağı Tayfun şirketine tahsis edilmiştir. Tayfun şirketinin bu kayıtlı ağı 255.255.255.0 Subnet ile beraber seri yaplandırılmıştır ve böylece Tayfun ile internet ile bağlantı kurmuştur. Örnek 1 ‘de 200.1.1.1 ve 200.1.1.2 ile ilgili tanımlanmış iki adet static NAT yapılandırması gösteriyorum.
Statik NAT üzerinde eşleştirmeyi ip nat inside source static komutu ile yapıyoruz. Yukarıda ki resim ‘de dikkat ettiyseniz 10.1.1.1 ile 10.1.1.2 IP adresli bilgisayarların internete çıkışı istendiği için, 2 adet ip nat inside komutuna ihtiyaç duyuluyor.
Statik NAT girdilerini oluşturduktan sonra, router ‘ın hangi interface(arabirim) kullanacağını belirtmemiz gerekiyor. ip nat inside ve ip nat outside interface yapılandırma komutları ile doğru biçimde belirtilmelerini sağlıyoruz.
show ip nat translations komutu ile 2 adet statik nat yapılandırması listeliyoruz. show ip nat statistics komutu ile anlık NAT tablosu girdileri ile ilgili bilgi alıyoruz.
Dinamik NAT Yapılandırması:
Dinamik NAT yapılandırması ile Statik NAT yapılandırması birbirinden çok farklı yapılandırmaya sahiptir. Her nekadar benzer yönler içersede..Statik’de oldugu gibi Dinamik NAT yapılandırmasında da interface konumunu belirlememiz gerekiyor.(iç – dış) Yanlız Dinamik NAT yapılandırmasında; statik eşleştirmeye gereksinim yoktur.
Aşağıda ki ağ topolojisinde 10.1.1.1 ve 10.1.1.2 IP adresli iç ağ bilgisayarlarının adres değiştirmelerine ihtiyaç vardır. Statik NAT yapılandırmasında anlattığım; inside global adresleri bu örnekte ‘de kullanıcaz. Ancak önceki örnekten farklı olarak inside global adresleri dinamik olarak atanabilcekleri bir IP adresi içerinde yer alıcaklar.
Aşağıda ki yapılandırmada bazı show komutlarını gösteriyorum;
Dinamik NAT yapılandırmasında dışa çıkışta kullanılacak inside global IPadreslerinden oluşan bir havuz tanımlanmaktadır. Ayrıca burada access list ‘de tanımlanmaktadır. ip nat pool komutu ile birlikte gelen parametrelerde, inside global IP adres havuzunun ilk ve son IP adresi kullanılmaktadır. Mesela; 10 adet IP adresine ihtiyaç olsaydı, ip nat pool komutunda ilk IP 200.1.1.1 ve son IP olarak 200.1.1.10 kullanabilirdik. Bu komut ile ekstra olarak subnet ‘de kullanılabilmektedir. Ancak bunun çok bir etkisi yoktur. Sonuçta IP adreslerini ilk ve son olarak girdiğimiz için subnet ‘e çok gerek yoktur.
Statik NAT ‘da olduğu gibi, Dinamik NAT ‘da da ip nat inside source komutunu kullanıyoruz. Ancak Statik NAT ‘a hiç benzemeyen bir kullanımı vardır. Dinamik NAT için komutun yanında inside global IP adreslerini barındıran NAT IP adres havuzunun adınıda belirtiyoruz. Ben burada örnek olarak Tayfun ismini verdim. ip nat inside source list 1 pool Tayfun komutu ile ACL 1 ‘in tanımladığı IP adresleriyle eşleşen bilgisayarların Tayfun isimli havuzdan dinamik olarak IP ataması yapabilmelerine olanak sağlar. Burada ACL diye bahsettiğim Access Control Lists ‘dir.
Örnek 2 ‘de bazı show komutlarını gösterdim. İlk olarak show ip nat translations ve show ip nat statistics komutları hiçbirşey göstermemektedir veya minimum yapılandırma bilgisini göstermektedir. Çünkü 10.1.1.1 ile 10.1.1.2 birbirlerine paket göndermemişlerdir. Paket göndermedikleri içinde NAT devreye girmemiştir. Buyüzden ‘de herhangibi paket için IP adres değişimi uygulanmamıştır.
10.1.1.1 ‘den 170.1.1.1 ‘e Telnet yapıldıktan sonra, verilere bakıldığında Dinamik NAT girdisinin oluştuğu gözükmektedir. NAT tablosuna bakıldığında, tek bir girdi yer almaktadır o da 10.1.1.1 ‘in 200.1.1.1 ‘e çevrildiğini göstermektedir. NAT tablosunun girdileri, belli bir süre kullanılmadığında time out olur ve tablodan silinirler. Ancak yukarıda verdiğim örnek ‘de NAT tablosunun dinamik girdileri clear ip nat translation komutu ile zorla silinmişlerdir.
NAT girdileri tamamen temizlendikten sonra, 10.1.1.2 IP adresinden 170.1.1.1 ‘e telnet yaptık. show ip nat translations komutunu işlettiğimizde 10.1.1.2 ile 200.1.1.1 IP arasında eşleşme yapıldığı gözükmektedir. Çünkü 200.1.1.1 IP adresi, NAT tablosunda yer almadığı için (silinmişti) ilk gelen NAT çevrim isteği için atanabilmektedir. Örnek 2 ‘nin ensonunda debug ip nat komutunun çıktısı gözükmektedir. Bu komut yardımıyla, router ‘a gelen ve NAT IP adres çevrimine uğrayan her paket için, çevrim yapıldığını belirtilen içerikle bir log mesajı üretimi sağlanmaktadır ve üretilen mesajlar çıktıya yansıtılmaktadır. Örnekte 10.1.1.2 ‘den 170.1.1.1 ‘e yapılan telnet ‘i belirten satırın ardından gelen iki satırda bu çıktıları görüyoruz. Dikkat ettiyseniz; 10.1.1.2’nin 200.1.1.1 ‘e dönüşümünü gösteren NAT IP adres çevrimi ile ilgili çıktı görülmektedir ancak adresin herhangi bir çevrime tabi tutulduğunu gösteren bir girdi yer almamaktadır.
PAT Yapılandırması:
NAT aşırı yüklemesi yani overloading , tek bir IP adresinin birden fazla inside local IP adresi ile eşleştirilebilmesini sağlamaktadır. Aslında özel IP adresini port numarası ile birlikte tek bir inside global IP adresi ve bunun eşi olmayan tekil port numarasına çevirmekle, NAT bir çok özel ağ bilgisayarını tek bir genel kayıtlı IP adresiyle çıkarabilme yeteneğine sahiptir.
Topoloji 2 ‘de ise; ISS Tayfun şirketine 200.1.1.0 ‘ın bir alt ağını tahsis etmektedir. Yani Tayfun şirketine kullanabilceği sadece iki tane IP adresi vermektedir.200.1.1.249 ve 200.1.1.250 bu iki IP adresini Tayfun , ISS ile arasında ki seri bağlantının iki ucuna kullanacağı için, gerçekte Tayfun şirketinin kullanabileceği tek bir kayıtlı IP adresi bulunmamaktadır.
Örnek 2’de NAT overload yapılandırması görülmektedir. NAT, sadece bir tane inside global kullanmaktadır (200.1.1.249). Ozaman NAT IP havuzuna gerek yoktur:) Topoloji 2 ‘de 10.1.1.1 IP adresli bilgisayar iki tane Telnet bağlantısı açmakta ve 10.1.1.2 IP adresli bilgisayar ise tek bir Telnet bağlantısı kurmaktadır.
ip nat inside source list 1 interface serial 0/0 overload komutu birçok parametre içermektedir. Ama makale sonunda kafanızda Dinamik NAT konusu biraz daha şekillenecektir, oyuzden bu parametreleri anlamak daha kolay olacaktır. List 1 parametresi dinamik NAT yapılandırmasında kullandığımız gibi ACL 1 olarak karşımıza çıkmaktadır bunun yanında özel ağ üzerinde hangi bilgisayarlara NAT yapılacağı belirtir. ACL 1 sayesinde eşleştirdiğimiz bilgisayarlara NAT çevrimi izni vermekteyiz ev eşleşmeyen IP ‘ler ise NAT ‘a sokulmamaktadır.interface serial 0/0 parametresi, NAT ‘ın elindeki tek inside global IP adresinin, router ‘ın seri 0/0 arabirimine atanmış olduğunu belirtmektedir. Overload parametresi ise aşırı yüklenme modunun etkinleştirilmesini sağlıyor.Eğer bu son parametreyi kullanmazsak tek IP adresli dinamik NAT yapılır. show ip nat translations komutunun çıktılarından da görebileceğiniz gibi, NAT tablosuna üç dinamik adres değişimi eklenmiştir. Bu komutun kullanımından önce 10.1.1.1 IP adresi bilgisayar iki adet telnet ile 170.1.1.1 sunucusuna bağlanıyor. 10.1.1.2 IP adresli bilgisayar ise tek bir telnet bağlantısı kurmuştur.
Bir başka makalede görüşmek üzere..