CISCO IOS'ta NAT TANIMLAMASI NASIL YAPILIR ?

16 views
Skip to first unread message

shuttle

unread,
Oct 9, 2006, 2:08:41 AM10/9/06
to cisco-router-config
CISCO IOS'ta NAT TANIMLAMASI NASIL YAPILIR ?
Başlıga aldanıp bu işi bildiğimi sanmayın sadece daha iyi
öğrenmek için yazıyorum:)
IOS'ta nat yapabilmek için ilk önce cisco'nun kullandığı bazı
terimlere aşina olmak zorunda kaldım.
Linux'tan alışık olduğumuz terimlerden farklı bir terminoloji
kullanıyor :( Alışmak öğrenmenin bir kısmı değil midir zaten:)
Inside local address: İç ağdaki bir cihaza atanmış olan IP adresi
Inside global address: İç ağımızı dış ağa
tanıtacak,dışarıda yönlendirilebilir adres.
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: İşte bu basit.Dış ağdaki bir cihazıın IP
adresi.
Şimdi NAT desteği olan bir IOS üzerinde
· Static Translation : Birebir iç bloktaki IP adreslerini dış IP
adreslerine çevirme
· Dynamic Translation: Bir havuz yaratarak dinamik olarak içerdeki
adresleri bu havuzdaki dış IP bloklarıyla eşleme
· Overloading: Bütün makinaları makina sayısına oranla daha az IP
adresiyle dışarıya çıkarma
işlemlerini yapıcaz...
ÖRNEK TOPOLOJİMİZ:

Yukarıdaki topojide ek olarak 144.122.50.1 no'lu cihazımızda s0
interface'inde secondary adress tanımlaması yapılmıştır
router(config-if)#interface serial 0 router(config-if)#ip address
144.122.60.1 255.255.255.0 secondary
STATIC TRANSLATION
router#configure terminalrouter(config)#ip nat inside source static
192.168.1.2 144.122.50.1router(config)#interface ethernet
0router(config-if)#ip nat insiderouter(config-if)#interface serial
0router(config-if)#ip nat outside
Görüldüğü gibi, 192.168.1.2 IP'li cihazın dış dünyaya
144.122.50.1 olarak çıkmasını sağladık.
Bunun için ayrıca hangi interface'in inside hangisinin outside
olduğunuda belirttik.Burada
#show ip nat translations
Komutunu yazdığımızda translation tablosunu şu şekilde görmemiz
lazım.
Pro Inside global Inside local Outside local Outside global
--- 144.122.50.1 192.168.1.2 --- ---
DYNAMIC TRANSLATION:
Bu tip translation'da NAT tablomuzdaki değerlerin bir zaman aşımı
süresi bulunmakta.Translation yapacağımız,
adreslere herhangi bir trafik isteği gelmediği taktirde,bu adresleri
"show ip nat translations" çıktısında
göremeyiz.
Not: Varsayılan zaman aşımı süresi 24 saat.
Şimdi yapılandırmayı yapalım.
router#configure terminalrouter(config)#ip nat pool MYPOOL 144.122.60.1
144.122.60.254 netmask 255.255.255.0router(config)#access-list 1 permit
192.168.1.0 0.0.0.255router(config)#ip nat inside source list 1 pool
MYPOOLrouter(config)#interface ethernet 0router(config-if)#ip nat
insiderouter(config-if)#interface serial 0router(config-if)#ip nat
outside
İlk önce NAT IP havuzumuzu yarattık,sonrasında içeriden
çıkabilecek IP adreslerine izin verdik.
Asıl komutumuzda ise access-list numaramızı ve havuz adımızı
belirtmiş olduk.En son işlemde hangi
interface'lerin iç ve dış olduğunu belirtmek oldu.
Fakat bir sorun var... Buradaki 24 saatlik timeout süresi dinamik
mantık için çok uzun.Onu biraz kısaltalım
router(config)#ip nat translation timeout 7200
Burada belittigimiz 7200 değeri saniye cinsinden:)
OVERLOADING:
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.
İlk önce 254 adreslik bir bloğu 30 adreslik bir dış bloktan
çıkarmayı görücez.
router#configure terminalrouter(config)#ip nat pool MYPOOL 144.122.60.1
144.122.60.30 netmask 255.255.255.0router(config)#access-list 1 permit
192.168.1.0 0.0.0.255router(config)#ip nat inside source list 1 pool
MYPOOL overloadrouter(config)#interface ethernet 0router(config-if)#ip
nat insiderouter(config-if)#interface serial 0router(config-if)#ip nat
outside
Şimdiki yapacağımız ise 254 adreslik bloğu tek adres üzerinden
çıkarmak olacak.
router#config terminalrouter(config)#ip nat inside list 1 interface
serial 0 overloadrouter(config)#access-list 1 permit 192.168.1.0
0.0.0.255router(config)#interface ethernet 0router(config)#ip nat
insiderouter(config)#interface serial 0router(config)#ip nat outside

FARKLI BİR NAT


mesela örnek bir nat config...
Elimizde cisco 800,1000,vs vs vs serisi bi router olsun ve seri bacak
üzerine NAT yapmak istesek napardık?
int ser 0
ip nat outside
ip add xxx.xxx.xxx.xxx 255.255.255.252
int eth 1
ip nat inside
ip address 10.1.1.1 255.255.255.0
ip nat inside source list 7 interface Serial 0 overload
access-list 7 10.1.1.0 0.0.0.255
Eğer daha karmaşık örneklere yada firewall tipi özellikler eklemek
isteyenler olursa yardımcı olabilirim.

Reply all
Reply to author
Forward
0 new messages