25 Temmuz 2012 Çarşamba

Cisco Yönlendiricilerde IPSec VPN Konfigürasyonu

Selamlar bu yaızmızda Cisco marka yönlendiricilerde IPSec VPN konfigürasyonunun nasıl yapılacağını anlatmaya çalışacağız.

Konfigürasyonları aşağıdaki topolojiye göre yapacağız:

Amacımız ANKARA yönlendiricisine bağlı olan 172.30.4.0/24 ağından TRABZON yönlendiricisine bağlı olan 192.168.1.0/24 ağına yapılacak erişimlerin şifreli gitmesi. Bunu da Cisco marka yönlendiriciler üzerinde IPSec VPN yaparak sağlamaya çalışacağız.

IPSec VPN konfigürasyonu dört adımda gerçekleştirilir:

1) IKE (Internet Key Exchange) 1. Faz parametrelerinin belirlenmesi
2) IKE (Internet Key Exchange) 2. Faz parametrelerinin belirlenmesi
3) "interesting traffic" tanımının yapılması
4) "crypto map" oluşturulması ve bunun yönlendiricide bir ara yüze uygulanması.

Yukarıdaki adımlar IPSec VPN yapacak olan her iki yönlendiricide aynı şekilde tanımlandığı takdirde IPSec VPN tüneli kurulmuş olur. Şifreli iletişimin gerçekleştirilebilmesi için her iki yönlendiricinin VPN ayarlarının bire bir aynı olması gerekir.

Önce ANKARA yönlendiricisinde IKE 1. Faz için gerekli olan parametreleri girmekle konfigürasyona başlayalım. Bunun için ANKARA yönlendiricisinde bir politika tanımlamakla işe başlıyoruz. Politikamıza 61 numarasını veriyoruz:

ANKARA(config)#crypto isakmp policy 61

Şimdi hangi kimlik doğrulama mekanizmasını kullanacağımızı politikamızın içine yazıyoruz. Bu konfigürasyonda her iki tarafın bileceği statik bir şifre kullanılacak şekilde konfigürasyonumuzu yapıyoruz:

ANKARA(config-isakmp)#authentication pre-share

Sonraki adımda hangi "hash" fonksiyonunu kullanacağımızı politikanın içerisinde yazıyoruz.

ANKARA(config-isakmp)#hash sha

Yukarıdaki örnekte "sha" algoritmasını kullanacağımızı belirttik. Buna alternatif olarak "md5" algoritmasınıda kullanabilirdik.

Bir sonraki adımda kullanacağımız şifreleme algoritmasını seçeceğiz.

ANKARA(config-isakmp)#encryption 3des

Yukarıdaki örnekte "3des" şifreleme algoritmasını tercih ettik. Buradaki alternatiflerimiz "aes" ya da "des" olabilirdi.

IKE 1. Faz'ın son adımı olarak Diffie-Hellman grubunu seçeceğiz ve şifrelerin geçerlilik süresini tanımlayacağız.

ANKARA(config-isakmp)#group 2
ANKARA(config-isakmp)#lifetime 28800  (24 saat)

Buna göre IKE 1. Faz konfigürasyonumuz aşağıdaki gibi oldu:
ANKARA(config)#crypto isakmp policy 61
ANKARA(config-isakmp)#authentication pre-share
ANKARA(config-isakmp)#hash sha
ANKARA(config-isakmp)#encryption 3des
ANKARA(config-isakmp)#group 2
ANKARA(config-isakmp)#lifetime 28800 

Burada yaptığımız işi şöyle özetleyelim: ANKARA yönlendiricisine bir adet VPN politikası tanımı yaptık. Bu politika kullanıldığı zaman geçerli olacak olan kimlik doğrulama ve "hash" alma yöntemlerini, şifreleme algoritmasını ve Diffie-Hellman gruplarını tanımladık. (pre-shared key, SHA, 3DES ve Grup 2)

Kimlik doğrulama mekanizması olarak "preshared key" seçeneğini seçmiştik. Bu da her iki yönlendiriciye ortak bir şifre tanımı yapmamızı gerektiriyor. IKE 1. Faz'ın son adımında konfigürasyona ortak bir şifre gireceğiz.


ANKARA(config)#crypto isakmp key mytooStrongKEy!* address 130.13.140.130

Konfigürasyonun show run çıktısı aşağıdaki gibi olacaktır:
crypto isakmp policy 61
       encr 3des
       authentication pre-share
      group 2

Bu konfigürasyon satırına yazmış olduğumuz adres IPSec VPN yapacağımız yönlendiricinin adresidir.

Böylece IKE 1. Faz'da ISAKMP politikasını tanımlayarak konfigürasyonu tamamlanmış olduk. Şimdi IKE 2. Faz'ın parametrelerini gireceğiz.

IKE 2. Faz'a "IPSec negotiation" fazı da denir. Bu fazda "IPSec transform set"i tanımlayacağız.

ANKARA(config)#crypto ipsec transform-set MY_TRANSFORM_SET esp-aes 128 esp-sha-mac

Burada IPSec için hangi şifreleme ve "hash" algoritmasını kullandığımız tanımladık. Yukarıdaki satırda IPSec için 128-bitlik AES şifreleme algoritmasını ve ESP-SHA-HMAC "hash" algoritmasını kullanacağımızı tanımladık.

IKE 2. Faz verinin nasıl şifreleneceğini ve "hash"inin nasıl alınacağını tanımlar. IKE 1. Faz'daki tanımlar da yönetim trafiğinin nasıl şifreleneceğini ve "hash"inin nasıl alınacağına dairdir.

IKE 2. Faz tanımı bu kadardır.

Şimdi de "interesting traffic" tanımını yapmamız gerekiyor. Bunun için bir erişim kontrol listesi (ACL: access control list) kullanacağız. "interesting traffic" IPSec VPN tünelinin kurulması için gerekli olan trafiktir. Bu senaryoda ANKARA yönlendiricisi için 172.30.1.0/24 ağından 192.168.1.0/24 ağına giden trafik "interesting traffic" olarak tanımlanacaktır. (TRABZON yönlendiricisi için tam tersi olacak.) Yani ANKARA yönlendiricisi 172.30.1.0/24 ağından 192.168.1.0/24 ağına giden bir trafikle karşılaştığı zaman bu trafiği IPSec VPN tüneline sokacaktır.

Şimdi bu tanımı yapalım:

ANKARA(config)#ip access-list INTERESTING_TRAFFIC
ANKARA(config-ext-nacl)#permit ip 172.30.1.0 0.0.0.255 192.168.1.0 0.0.0.255

Bu tanıma göre ANKARA yönlendiricisi 172.30.1.0/24 ağından 192.168.1.0/24 ağına bir trafik yakaladığı takdirde bu trafiği IPSec VPN tüneline sokacaktır.

Bu IPSec VPN politikalarının yönlendiricinin bir ara yüzüne uygulanması gerekmektedir. Fakat bundan önce yönlendiriciye bir "crypto map" tanımı girmemiz gerekiyor. Bu tanımda IPSec VPN yaparken hangi IP adresiyle VPN tüneli kurulacağı, hangi trafiğin tüneli tetikleyeceği ve hangi "transform set"inin kullanılacağı yer alacak.


ANKARA(config)#crypto map ANKARA_to_TRABZON 61 ipsec-isakmp
ANKARA(config-crypto-mapl)#set peer 130.13.140.130 (IPSec VPN yapılacak yönlendiricinin IP adresi)
ANKARA(config-crypto-mapl)#match address INTERETSING_TRAFFIC (VPN tünelini tetikleyecek trafik)
ANKARA(config-crypto-mapl)#transform-set MY_TRANSFORM_SET (VPN tünelinde kullanılacak şifreleme ve "hash" algoritması)

Tüm bu tanımlardan sonra yukarıdaki "crypto map"i ANKARA yönlendiricisinin bir ara yüzüne (tercihen internete çıkan ara yüzüne) uygulamamız gerekiyor.


ANKARA(config)#interface serial 0/1
ANKARA(config-if)#crypto map ANKARA_to_TRABZON

Böylece ANKARA yönlendiricisi üzerindeki IPSec VPN tanımlarını tamamlamış olduk. Tanımlarda yer alan IPSec VPN parametreleri aynı olacak şekilde TRABZON yönlendiricisine de benzer tanımların girilmesi gerekmektedir.

Aşağıda IPSec VPN tünelinin kurulabilmesi için TRABZON yönlendiricisinde olması gereken konfigürasyon satırları yer almaktadır. (Bu yazının konusu olmadığı için bu konfigürasyonda her iki yönlendiriciye yön (routing) tanımlarının nasıl girileceğini göstermedik. Yön tanımları doğru olmadığı takdirde iki yönlendirici arasında herhangi bir tünel kurulması mümkün olmayacaktır.)


TRABZON(config)#crypto isakmp policy 61
TRABZON(config-isakmp)#authentication pre-share
TRABZON(config-isakmp)#hash sha
TRABZON(config-isakmp)#encryption 3des
TRABZON(config-isakmp)#group 2
TRABZON(config-isakmp)#lifetime 28800
TRABZON(config-isakmp)#exit
TRABZON(config)#crypto isakmp key mytooStrongKEy!* address 130.13.140.129
TRABZON(config)#ip access-list INTERESTING_TRAFFIC
TRABZON(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 172.30.1.0 0.0.0.255
TRABZON(config-isakmp)#exit
TRABZON(config)#crypto map TRABZON_to_ANKARA 61 ipsec-isakmp
TRABZON(config-crypto-mapl)#set peer 130.13.140.129
TRABZON(config-crypto-mapl)#match address INTERETSING_TRAFFIC 
TRABZON(config-crypto-mapl)#transform-set MY_TRANSFORM_SET 
TRABZON(config-isakmp)#exit
TRABZON(config)#interface serial 0/1
TRABZON(config-if)#crypto map TRABZON_to_ANKARA

1 yorum:

  1. "blog"un yazıları neden bozduğunu anlayamadım. Düzeltmesi de ayrı bir dert. Bir tarafı düzeltiyorsun. Dİğer taraf bozuluyor.

    YanıtlaSil