Merhabalar. Sizlere bu yazımda, Cisco’nun gözde dinamik routing protokolü olan EIGRP için kimlik doğrulama mekanizmasından ve konfigürasyonundan bahsedeceğim.
EIGRP kimlik doğrulamasında bilinmesi gereken iki temel nokta bulunmakta. Bunlardan ilki, kimlik doğrulamanın, EIGRP komşuluğu kurulmuş olan her link ve otonom sistem (AS) için ayrı ayrı ayarlandığıdır. Yani router üzerinde bir AS için komşuluk oluşturulan interface’lerin her birinde ayrı kimlik doğrulama kuralları belirtilebildiği gibi, bir interface’te de dâhil olunan networkün katıldığı her AS için ayrı ayarlama yapılır. İkinci ve en önemli nokta ise EIGRP kimlik doğrulamasının zamana bağlı bir sistem olduğunun unutulmamasıdır. Bu konunun öneminden yazının ilerleyen kısmında bahsedeceğim.
Şimdi de biraz konfigürasyon aşamalarından bahsedelim. Öncelikle lab ortamımda c3725-advsecurityk9-mz.124-15.T12 imajını kullandığımı belirteyim. Konfigürasyon iki aşamadan oluşmakta. İlk aşamada, kimlik doğrulamada kullanılacak olan “key-chain” yapısını oluşturuyoruz. Key-chain, yani anahtarlık, adından da anlaşılacağı üzere sıralı anahtarlardan oluşan bir yapı. Bu anahtarlar üç temel parametreden oluşmakta: key-string, accept-lifetime ve send-lifetime. İkinci ve üçüncü parametreden de anlayacağınız üzere, kimlik doğrulama sisteminin zamana bağlılığını bu adımda konfigüre ediyoruz. Örnek bir key-chain konfigürasyonu ile devam edelim:
R1(config)#key chain EIGRP-ANAHTARLARI R1(config-keychain)#key 20 R1(config-keychain-key)#key-string KeyStr20! R1(config-keychain-key)#send-lifetime 09:30:00 29 Jan 2014 09:30:00 15 Feb 2014 R1(config-keychain-key)#accept-lifetime 09:30:00 29 Jan 2014 09:30:00 15 Feb 2014 R1(config-keychain)#key 10 R1(config-keychain-key)#key-string KeyStr10! R1(config-keychain-key)#send-lifetime 09:30:00 12 Feb 2014 duration 604800 R1(config-keychain-key)#accept-lifetime 09:30:00 12 Feb 2014 duration 604800 R1(config-keychain)#key 30 R1(config-keychain-key)#key-string KeyStr30! R1(config-keychain-key)#send-lifetime 09:30:00 18 Feb 2014 infinite R1(config-keychain-key)#accept-lifetime 09:30:00 18 Feb 2014 infiniteAnahtarlarımız hazır! Şimdi biraz terminolojiden bahsedelim. Gördüğünüz gibi anahtarlığımız 3 farklı anahtardan oluşmakta. Anahtarlarımızı oluştururken yazdığımız sayılarla tanımlıyoruz. Anahtarlarımız farklı geçerlilik süreleri ve anahtar kelimelerden oluşuyor. 20 numaralı anahtarda belli birer geçerlilik başlangıç ve bitiş zamanını saat ve tarih cinsinden belirttim. Yani ilk anahtarımız 29 Ocak saat 9 buçukta aktive olup 15 Şubat saat 9 buçukta pasif hale gelecek. 10 numaralı anahtarda ise başlangıç tarih ve saatini belirtip geçerlilik süresini “duration” komutuyla saniye cinsinden belirttim. Burada yazdığım 604.800 saniye tam olarak 1 haftaya tekâmül ediyor. Yani 10 numaralı anahtar da 12 Şubat saat 9 buçukta aktifleşip 19 Şubat saat 9 buçukta pasif hale gelecek. Cisco amca 2.147.483.646 saniyelik bir süre belirtmemize izin veriyor. Bir yılın 31.536.000 saniye olduğunu göz önüne alırsak, yanlış hesaplamadıysam bu sayı 68 yıl civarı bir süreye karşılık geliyor, alışılmış abartılı Cisco sayıları işte . 30 numaralı anahtarımızda ise “infinite” parametresiyle 18 Şubat saat 9 buçukta aktifleşen anahtarın sonsuza dek aktif kalmasını sağlıyoruz. Burada bazılarınızın dikkatini çekecek bir nokta var; key 20 ile key 10 arasında 3 gün, key 10 ile key 30 arasında da 1 günlük bir kesişim süresi meydana gelmiş. Bu noktada anahtarlarımıza verdiğimiz numaraların önemi ortaya çıkıyor. Zira “show key chain EIGRP-ANAHTARLARI” komutuyla anahtarlığımıza bakarken anahtarlarımızın numara sırasına göre küçükten büyüğe sıralandığını görürüz. Router anahtar gönderirken de alırken de atanan anahtarlık üzerindeki anahtarları, tıpkı Access Control List’lerin ACE’leri sırasıyla kontrol edip eşleşme araması gibi, sırasıyla kontrol edip ilk eşleşme yakaladığı anahtara göre işlem yapar. Yani kesişim noktalarında numarası küçük olan anahtar kullanılır.
İkinci aşamada da interface üzerinde kimlik doğrulamasını konfigüre edeceğiz. Öncelikle örnek konfigürasyonu yapıp ardından açıklamalara geçelim:
R1(config)#interface fastEthernet 0/0 R1(config-if)#ip authentication mode eigrp 61 md5 R1(config-if)#ip authentication key-chain eigrp 61 EIGRP-ANAHTARLARIİnterface altına girdiğimiz iki komutla işlemi tamamlıyoruz. İlk komutta kimlik doğrulama modunu md5 olarak ayarlıyoruz. Aslında başka da seçeneğimiz yok . Cisco EIGRP authentication için clear text seçeneği sunmuyor, md5 kullanmak zorundasınız. İkinci aşamada da kullanılacak key-chain için atama yapıyoruz. Dikkat ederseniz her iki komutta da AS numaramızı (61) belirtiyoruz.
Şimdi konfigürasyon aşamasında ve sonrasında oluşabilecek muhtemel iki problemden bahsetmek istiyorum. Bunlardan ilki key-chain ve key-string değerlerinin case sensitive olmaları. Yani konfigürasyon yapılırken her iki tarafta da bu değerlerin doğru girilmesi gerekiyor. Bu noktada key-chain adının locally significant olduğunu belirtelim. Yani key-chain oluştururken yazılan değerle interface altına yazılan değerin aynı olması kâfi. Key-string değeri ise cihazlar arasında değişime maruz kalacağından mütevellit ( ) her iki tarafa da düzgünce yazılmalıdır.
İkinci ve en önemlisi ise senkronizasyon problemi. Siz bütün anahtarlıkları ve anahtarları düzgünce ayarlatıp interface’ler altına özenle atasanız bile komşuluk ayağa kalkmayabilir. Her şeyi doğru yapmışsınızdır, yüz kez kontrol edersiniz ve bir hata bulamazsınız. Ta ki her iki cihazda da şu komutu yazana dek : ”show clock”. Evet, her iki tarafta da yıl, ay, gün, saat, dakika hatta saniyesine kadar tüm tarih ayarları senkronize olmalıdır ki anahtar değişimi gerçekleşebilsin. Bu senkronizasyonu el ayarıyla yakalamanız çok zor. En mantıklı çözüm ise tüm cihazlarınızın saat ayarlarını güncel ve senkron tutacak bir NTP (Network Time Protocol) Sunucusu kullanmanız. Bu sunucuyu Cisco IOS çalıştıran herhangi bir cihaza tanıtmamız ise çok kolay bir komutla mümkün:
R1(config)#ntp server 192.168.61.61Böylelikle NTP sunucumuzu IP adresiyle cihaza tanıtmış olduk. Umarım EIGRP kimlik doğrulaması hakkında aklınızda bir fikir oluşturabilmişimdir. Bir sonraki yazımda görüşmek üzere, kendinize iyi bakın.