Thursday, June 28, 2012

Policy Map NAT

Bu yazımızda yine bir NAT konfigürasyonu yapmaya çalışacağız. Ama NAT konfigürasyonunu "route-map" kullanarak yapmaya çalışacağız.

Ağ toplojimiz aşağıdaki gibi olacak:


Buradaki senaryodaki amacımız; ANKARA yönlendiricisine bağlı olan 112.1.1.0/24 ağından TRABZON yönlendiricisine bağlı olan 88.90.76.0/24 ağına giden paketlerin 61.61.61.57 ve 61.61.61.58 adreslerinden birisine dönüşmelerini sağlamak olacaktır.

NAT ayarlarımızı ANKARA yönlendiricisi üzerinde yapacağız.

Öncelikle hangi IP adreslerine NAT dönüşümü yapılacağını bir erişim kontrol listesi (access-list) yazarak belirleyeceğiz:

ANKARA(config)#access-list 161 permit ip 112.1.1.0 0.0.0.255 88.90.76.0 0.0.0.255

Bu erişim kontrol listesi 112.1.1.0/24 ağından 88.90.76.0/24 ağına gidecek paketleri kapsamaktadır.

Bundan sonra bu erişim kontrol listesini kullanacak olan "route-map"i yazacağız:

ANKARA(config)#route-map NAT_WITH_ROUTE_MAP permit 10

ANKARA(config-route-map)#match ip address 161


Yukarıdaki konfigürasyon satırlarında NAT_WITH_ROUTE_MAP adını verdiğimiz "route-map"i 161 numaralı erişim kontrol listesiyle ilişkilendirmiş olduk.

Şimdi de NAT havuzumuzu tanımlayacağız. Yani NAT dönüşümü yapmayı planladığımız IP adreslerinin hangi IP adreslerine dönüşeceklerini belirleyeceğiz:

ANKARA(config)#ip nat pool NAT-HAVUZU_1 61.61.61.57 61.61.61.58


Şimdi de NAT dönüşümü yapılacak IP adreslerini bu havuzla ilişkilendireceğiz:

ANKARA(config#ip nat inside source route-map NAT_WITH_ROUTE_MAP pool NAT_HAVUZU_1


Bu konfigürasyon satırında denilmek istenen şudur: NAT_WITH_ROUTE_MAP "route-map"ine bak ve bu "route-map" ile ilişkilendirilen IP adreslerine NAT_HAVUZU_1 diye isimlendirilen IP adresi havuzundan IP adresi vererek NAT dönüşümünü sağla.

Şimdi tersten giderek ne denmek istendiğini biraz daha açıklamaya çalışalım: NAT_WITH_ROUTE_MAP diye isimlendirdiğimiz "route-map" 161 numaralı erişim kontrol listesiyle ilişkilendirilmiştir. Yani kaynak adresinde 112.1.1.0/24 ağı ve hedef adresine de 88.90.76.0/24 adresi olan IP paketlerine NAT_HAVUZU_1'de tanımlanan 61.61.61.57 ya da 61.61.61.58 IP adreslerinden birisi verilecektir. Yukarıdaki konfigürasyonlarla anlatılmak istenen budur.

Şimdi NAT tanımlarımız hazır fakat bunu yönlendiriciye de anlatmak gerekiyor. Bunun için yönlendiricinin hangi ara yüzüne NAT dönüşümü yapılacağı ve bunların da hangi ara yüzden dönüşerek çıkacaklarını tanımlayacağız.

NAT dönüşümünün yapılacağı ağa bağlı olan arayüze "inside" denir. Burada ANKARA yönlendiricisine bağlı olan FastEthernet0/1 (Fa0/1) ara yüzü "inside" olacaktır. Çünkü bu ara yüze bağlı olan 112.1.1.0/24 ağındaki IP adreslerini değiştirmeyi hedefliyoruz.

ANKARA(config)#interface FastEthernet 0/1
ANKARA(config-if)#ip nat inside


Paketlerin IP dönüşümü (NAT) yapılarak çıkaacğı arayüzü de "outside" olarak tanımlayacağız. Burada ANKARA yönlendiricisine bağlı olan Serial 0/1/0 arayüzü "outside" arayüzü olacaktır.

ANKARA(config)#interface Serial 0/1/0
ANKARA(config-if)#ip nat outside

ANKARA yönlendiricisine bağlı olan 112.1.1.0/24 ağının 88.90.76.0/24 ağına erişebilmesi için gerekli olan statik yönlendirme tanımları aşağıdaki gibi olacaktır:

ANKARA(config#ip route 88.90.76.0 255.255.255.0 61.61.61.62


Paketlerin geri dönebilmeleri için de TRABZON yönlendiricisine aşağıdaki yönlendirme tanımının yapılması gerekecektir:

TRABZON(config#ip route 112.1.1.0 255.255.255.0 61.61.61.61


ANKARA yönlendiricisinin konfigürasyonu aşağıdaki gibi olacaktır:

ANKARA Yönlendiricisi


ip nat pool NAT-HAVUZU_1 61.61.61.57 61.61.61.58
ip nat inside source route-map NAT_WITH_ROUTE_MAP pool NAT_HAVUZU_1
!
interface FastEthernet 0/1
ip address 112.1.1.1 255.255.255.0
ip nat inside
!
interface Serial 0/1/0
ip address 61.61.61.611 255.255.255.248
ip nat outside
!
access-list 161 permit ip 112.1.1.0 0.0.0.255 88.90.76.0 0.0.0.255
!
route-map NAT_WITH_ROUTE_MAP permit 10
       match ip address 161


Bu şekilde "route-map" kullanarak NAT dönüşümü yapmış olduk.