->
Günümüzde birçok şirkette ISA serisi güvenlik duvarıkurumsal güvenlik duvarıolarak kullanılmaktadır. Özellikle ISA 2004 ile yenilenmiş olan yönetmesi ve yapılandırmasıkolay arabirimi, güvenlik bilgisi az olan kişilerin bile etkin bir şekilde güvenlik duvarıyönetimini mümkün kılmaktadır.
SA 2004 ve ISA 2006, çok güçlü özelliklere sahip olmasına rağmen built-in olarak çift ISP desteği ve otomatik failover-failback özelliklerine sahip değil. Örneğin ADSL ile internet erişimi yedeklenmek istendiğinde ya 3. parti donanımsal çözümler kullanılmak zorunda kalınmakta ya da problem anında sisteme elle müdahale etmek gerekmektedir.
Bu yazımızda hem ISA 2004’e hemde ISA 2006’ya uygulanabilecek çift ISP ile otomatik failover – failback yapısının kurulumunu inceleyeceğiz.
Kuracağımız sistemin diyagramıve kullanacağımız IP adresleri aşağıda görülebilir.

şekil 1 – İki internet erişiminin güvenlik duvarına bağlantıdiyagramı
Adım 1 : Kontrol sunucusunun seçilmesi ve gerekli ayarların yapılması
Asıl ISP hattının gidip gitmediğini anlayabilmek için öncelikle internet üzerinde ping’lenebilen bir kontrol sunucusu seçmeliyiz. Ping süresinin düşük olmasıtercih nedeni olmalıdır. Bu sunucuya sadece birinci hattan erişileceği düşünülerek, duruma uygun bir sunucu kontrol sunucusu seçilmelidir.Kontrol amacıile kullanılacak bu IP adresinin az değişen yada hiç değişmeyen güvenilir bir adres olmasına dikkat etmeliyiz. En hızlışekilde kontrol sunucusunun IP adresinin öğrenilmesi için bu kaydıve IP adresini %systemroot%\system32\drivers\etc klasöründeki hosts dosyasına eklemeliyiz. Daha sonra bu sunucunun sürekli olarak birinci ISP hattından ping’lenmesi için gerekli olan statik route’u girmeliyiz. Bu örnekte www.google.com.tr sunucusunu kullanacağız. www.google.com.tr sunucusunun ip adresi 66.249.85.99 olarak görülmektedir. Gireceğimiz statik route için gateway olarak ise asıl ISP hattının yani birinci hattın gateway adresini vermeliyiz.
Bu route girilmez ise hatlarımız failover durumuna geçtiğinde yani birinci hat gidip de ikinci hat devreye girdiğinde kontrol sunucusu yine ping’lenebiliyor olur.
Girilecek olan statik route komutu :
Route – p add 66.249.85.99 mask 255.255.255.255 172.16.1.2
Adım 2 : ISP değişimini sağlayacak batch dosyaların hazırlanması
ISP değişimin sağlayacak olan güvenlik duvarının default gateway değişimi işlemi için oluşturacağımız batch dosyalardan faydalanacağız. C sürücüsünde scriptler isimli bir klasör oluşturalım ve aşağıdaki iki batch dosyayıbu klasör altında oluşturalım. Birincihat.bat dosyasısunucumuzun default gateway’ini asıl ISP yaparak internet akışınıbirinci ISP’ye yönlendirecektir. İkincihat.bat dosyasıise sunucumuzun default gateway’ini yedek ISP yaparak internet akışınıikinci ISP’ye yönlendirecektir.
Birincihat.bat dosyasıiçeriği
route add 0.0.0.0 mask 0.0.0.0 172.16.1.2
route delete 0.0.0.0 mask 0.0.0.0 172.31.1.2
exit
İkincihat.bat dosyasıiçeriği
route add 0.0.0.0 mask 0.0.0.0 172.31.1.2
route delete 0.0.0.0 mask 0.0.0.0 172.16.1.2
exit
Adım 3 : Failover - Failback işlemini kontrol edecek vbs scriptinin oluşturulması
Sunucumuzun failover ve failback yapmasınısağlayacak script kabaca şu şekilde çalışır. İlk olarak kontrol sunucusu olarak belirlediğimiz sunucuyu pingler. Eğer sunucu pinglenebiliyor ise asıl ISP hattıçalışıyor demektir. Bu koşulda sunucunun default gateway’ini asıl ISP olacak şekilde ayarlar. Eğer sunucu pinglenemiyor ise asıl ISP hattıdevre dışıkalmış demektir. Bu durumda script sunucunun default gateway’ini yedek ISP olarak değiştirir. Script kontrol sunucusunu sürekli bir döngü ile kontrol eder. Script eğer kontrol sunucusunu yeniden pinglemeye başlar ise sunucunun default gateway’ini tekrar asıl ISP’ye alır. Her bir döngü 10 saniyedir. Yani script 10 saniyede bir gerekli kontrolü yapar. Bu süre isteğe bağlıolarak arttırılabilir ya da azaltılabilir. Bunun için script içerisindeki wscript.sleep komutunun parametresi milisaniye cinsinden istenilen değer yapılabilir. Bu scripti c:\scriptler klasörü altına isa-failover-failback.vbs ismi ile kaydedelim.
| Â ‘************************************************************* ‘isa-failover-failback.vbs ‘Yazar: Arda Seyyarsabit ‘Tarih: 02/Eki/2006 ‘Versiyon: 1.0 ‘ISA2004 yada ISA2006 sunucusunda iki ISP arasında failover ve failback ‘yaparak internet erisiminde devamlilik saglar. ‘************************************************************** ‘ ‘Scripti surekli calistir For Each objStatus in objPing ‘Eger kontrol sunucusu pinglenebiliyor ise default gateway If IsNull(objStatus.StatusCode) or objStatus.StatusCode=0 Then ‘Eger kontrol sunucusu pinglenemiyor ise default gateway If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then Next Next ‘10 saniye bekle ‘basa don |
Adım 4 : isa-failover-failback.vbs scriptinin sürekli çalışmasınısağlamak
Bu scripti bir servis olarak çalıştırdığımız takdirde sunucu yeniden başladığında dahi sistemimiz çalışacak ve problem çıktığında en fazla 10Â saniye sonunda ISP hattıdeğişimini sağlayacaktır. Scriptin servis olarak çalıştırmak için Windows Server 2003 Resource Kit Tools içerisinde bulunan instsrv.exe ve srvany.exe araçlarından faydalanacağız.
Öncelikle Windows Server 2003 Resource Kit Tools’u http://tinyurl.com/6csco adresinden indirerek ISA Server üzerine kuralım. Aşağıdaki komutu çalıştırarak scriptimizi çalıştıracak servisi ekleyelim. Komut çalıştıktan sonra ISA-Failover-Failback isimli bir servis eklenmiş olur.
C:\Program Files\Windows Resource Kits\Tools>instsrv ISA-Failover-Failback “C:\Program Files\Windows Resource Kits\Tools\srvany.exe”
Eklediğimiz bu servisin scriptimizi çalıştırabilmesi için gerekli parametreleri girmeliyiz. Bunun için regedit’i çalıştırarak aşağıdaki registry keyini bulalım.
HKLM\System\CurrentControlSet\Services\ISA-Failover-Failback
Bu keyin altında Parameters isimli yeni bir key oluşturalım. Parameters key’inin altında ise aşağıdaki gibi parametreleri oluşturalım.
Değer Adı: Application
Veri türü : REG_SZ
Dize : c:\windows\system32\cscript.exe
Değer Adı: AppParameters
Veri türü : REG_SZ
Dize : c:\scriptler\isa-failover-failback.vbs
Son durumda registryde servisimizin ayarlarıaşağıdaki gibi görülmelidir. Artık servisimiz eklenmiş ve çalıştırılmaya hazırdır.

şekil 2 – ISA-Failover-Failback servisi ayarlarının Kayıt Defteri görünümü
Adım 5 : Firewall’un başlangıçtaki default gateway’inin ayarlanması
Hazırlamış olduğumuz scriptin sağlıklıçalışabilmesi için ethernet kartlarında statik olarak tanımlanmış default gateway ayarlarıolmamalıdır. Bunun için tüm ethernet arabirimlerinde tanımlıolan gateway ayarlarısilinmelidir. Bilgisayarın yeniden başlamasıdurumunda ilk açıldığında default gateway ayarının düzgün yani birinci ISP olabilmesi için bir route eklenmelidir. Bu route’u bilgisayarın açılışında çalıştırılacak bir batch dosya yardımıile ekleyebiliriz. Öncelikle C sürücüsü scriptler klasörü altında defaultgateway.bat isimli bir dosya oluşturalım.
Defaultgateway.bat dosyasının içeriği
route –p add 0.0.0.0 mask 0.0.0.0 172.16.1.1
exit
Bu dosyanın bilgisayarın her açılışında çalışmasını, Local Computer Policy -> Computer Configuration -> Scripts (Startup/Shutdown) -> Startup yolundan erişilebilecek group policy ayarıaracılığıile sağlayabiliriz.

şekil 3 – Bilgisayarın açılışında çalışacak script için group policy ayarı
Bu 5 adım tamamlandıktan sonra otomatik failover – failback sistemimiz kurulmuş olmaktadır. Servisi başlattığımız taktirde script çalışarak birinci ISP’de bir problem olmasıdurumunda interneti erişimini ikinci ISP’ye yönlendirecek, birinci ISP’nin düzelmesi durumunda ise birinci ISP’ye geri yönlendirecektir.
Powered by MightyAdsense