Bilindiği üzere firewall cihazları hem aktif aktif, hem de aktif pasif modlarda HA özelliği sunabiliyor.
Ben, hem load balance (yük dengeleme) hem de failover’ın (yük devretme) aynı anda kullanılabildiği active-active HA modunu kullanmaktan yanayım.
Bunun dışında bir de active-passive mod bulunmakta. Bu mod load balance sunmaz ama master cihazın failover anında, tüm trafiğin slave cihaz üzerinden akmasını sağlar.
Daha önce kurmuş olduğum aktif-aktif HA’i bir şekilde bir firmware güncellemesi sırasında, riske girmemek için (çünkü tüm layer3 routing bu iki cihaz üzerinden geçiyordu) bozmak zorunda kalıp, cihazlardan birini boşa çıkarmıştım. Amacım çok eskide kalan bu firmware’ı son versiyona geçirdiğimde, herhangi bir problem var mı yok mu diye beklemek, sonrasında eğer herhangi bir problem yoksa, trafiğin tamamını bu cihaza çekip, diğerini boşa çıkarmak ve sonrasında, boşa çıkan cihazın da firmware güncelemesini yapıp HA yi yeniden inşaa etmektedi.
Güncellemeyi geçtiğimde fortigate 1000c için son versiyon 5.6.0’dı. Bu versiyonda, policy tabına girildinde, muazzam bir yavaşlık oluyor, tüm policyleri görebilmem için en az 3 dk beklemem gerekiyordu. Bu sıkıntı ile karşılaştığımda HA’i devre dışı bırakıp güncelleme yapmanın ne kadar mantıklı bir yol olduğunu anladım. Zira bu şekilde yapmasam, iki cihazım da aynı anda ilgili versiyona geçecek ve policy tabındaki bu sıkıntıyı, bir sonraki yeni versiyon olan 5.6.1’in çıkmasını 1 ay kadar bekleyerek yaşayacaktım.
Neyse ki, 5.6.1 çıktı bu sorun düzeltildi. Her iki cihazımı da ilgili versiyona geçirdim ve HA ‘i yeniden inşaa işlemine başladım. Şu an burada, başka bir yazının konusu olan HA konfigürasyonunu nasıl yaptığımdan bahsetmeyeceğim. Lakin gördüğüm şuydu, her iki cihazımın tüm running configleri birbirleri ile aynı olmasına rağmen, load balance yapıyor ama failover durumda, slave olan cihaz devreye girmiyordu. Loglara baktığımda bir senkronizayon problemi olduğunu anlamıştım. Ama nasıl oluyor da senkron olamıyorlardı.
Problemin asıl kaynağı şu idi, bir cluster üzerinde bulunan tüm cihazlar üzerindeki config dosyası için, bir hash işlemi gerçekleştiriyor ve işlemin sonucu olarak bir checksum değeri üretiyor; üretilen bu değerin de tüm cihazlar için aynı olması gerekiyordu, eğer aynı ise “senkronizasyon ok” çıktısı üretilip, failover durumda slave cihaz devreye girebiliyordu.
Bu değeri nasıl yeniden hesaplatırım diye düşünürken fortigate knowledge base’de bir makale gözüme çarptı. Orada senkronizasyonun elle tetiklenerek, nasıl yeniden checksum hesaplatılabileceği yazıyordu.
İçinde bulunduğum versiyon için yazılan bir makale olmasa da, hiç vakit kaybetmeden aşağıdaki komutu her iki cihazımda çalıştırdım ve bingo.
diagnose sys ha checksum recalculate
Yeni checksum değeri, her iki cihazda da aynıydı ve elle tetiklediğim bir failover senaryosunda, slave olan cihazın üzerinden tüm trafiğin aktığını görebiliyordum.
Bu tip durumlarda üreticinin kb deposu gerçekten hayat kurtarıcı olabiliyor. İlk sıkıntınızda buralara bakmanızı tavsiye ederim.
Diğer markalardaki HA problemleri için de bir makale yazmayı düşünür müsünüz?
Siz hangi marka model cihazda sıkıntı yaşadınız?