Skip to content
Site Tools
Narrow screen resolution Wide screen resolution Auto adjust screen size Increase font size Decrease font size Default font size default color blue color green color
Konumun : Anasayfa arrow Çözümler arrow Microsoft Çözümleri arrow ISA 2004/2006 Çözümleri arrow ISA 2004 / 2006 için Çift ISP ile Otomatik Failover ve Failback Nasıl Yapılır?
Haberler
  • Previous
  • Next
/
 
ISA 2004 / 2006 için Çift ISP ile Otomatik Failover ve Failback Nasıl Yapılır? Yazdır

Yazan: Arda Seyyarsabit, Tarih: 24-12-2007 15:44

Okunma Sayısı : 480    

Beğenilme : Yok

ImageGü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.
'**************************************************************

'
'Kontrol sunucusu www.google.com.tr
strMachines = "www.google.com.tr"
aMachines = split(strMachines, ";")

'Scripti surekli calistir
do
For Each machine in aMachines
    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._
        ExecQuery("select * from Win32_PingStatus where address = '"_
            & machine & "'")

    For Each objStatus in objPing                

                 'Eger kontrol sunucusu pinglenebiliyor ise default gateway
                 'birinci hattin gatewayi olsun.

        If IsNull(objStatus.StatusCode) or objStatus.StatusCode=0 Then
            Dim oShell
                        Set oShell = WScript.CreateObject ("WSCript.shell")
                        oShell.run "cmd /c c:\scriptler\birincihat.Bat",0
                        Set oShell = Nothing       
            End If

                 'Eger kontrol sunucusu pinglenemiyor ise default gateway
                 'ikinci hattin gatewayi olsun.

        If IsNull(objStatus.StatusCode) or objStatus.StatusCode<>0 Then
           Dim oShell2
                        Set oShell2 = WScript.CreateObject ("WSCript.shell")
                        oShell2.run "cmd /c c:\scriptler\ikincihat.Bat",0
                        Set oShell2 = Nothing        
           End If   

     Next

Next

'10 saniye bekle
Wscript.Sleep 10000

'basa don
loop 

 

 

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.

Not : Bu makale Windows & .NET Magazine dergisi Kasım 2006 sayısında yayımlanmıştır. Taranmış hali için aşağıdaki linke tıklayınız.

http://www.seyyarsabit.com/index.php?option=com_content&task=view&id=4&Itemid=2

 

 

   
Bu yazıyı sitenizde alıntılayın
Favori Makalelerime Ekle
Arkadaşıma Gönder

Okuyucu yorumları  RSS feed Yorum
 

Ortalama Üye Değerlendirmesi

   (1 Oylama)

 

Yorum Sayısı: 3 / 3

Teşekkürler

Yazan:: Burak ALTINDIL () Tarih: 25-12-2007 06:27

Teşekkürler

Yazan:: Burak ALTINDIL Tarih: 25-12-2007 06:27

Çok iyi olmuş hocam.Eline sağlık

 

» Yorumu cevapla...

Teşekkürler

Yazan:: Hayrullah Kolukisaoglu () Tarih: 24-12-2007 20:22

Teşekkürler

Yazan:: Hayrullah Kolukisaoglu Tarih: 24-12-2007 20:22

Arda Bey, elinize sağlık, çok faydalı bir makaleyi bizimle paylaşmışsınız..

 

» Yorumu cevapla...

Teşekkürler

Yazan:: Besir Kayar () Tarih: 24-12-2007 15:50

Teşekkürler

Yazan:: Besir Kayar Tarih: 24-12-2007 15:50

Arda aramıza hoşgeldin.böyle güzel ve aranan bir makaleyi bizimle paylaştığın için tekrardan teşekkürler.

 

» Yorumu cevapla...

Yorum Sayısı: 3 / 3



Yorumunuzu ekleyin
Sadece kayitli kullanicilar bir Makaleyi yorumlayabilir. Lütfen ücretsiz üye olun veya giriş yapın.


mXcomment 1.0.5 © 2007-2008 - visualclinic.fr
License Creative Commons - Some rights reserved
Microsoft Çözümleri - Microsoft ISA Çözümleri
 
Yazar Adı: Arda Seyyarsabit
Mail Adresi: Bu mail adresi spam botlara karşı korumalıdır, görebilmek için Javascript açık olmalıdır
Unvanı: Paylaşımcı Yazar
Online Destek:Hayır
Arda Seyyarsabit

Yazarımızın toplam 8 makalesi bulunmaktadır.

Diğer makalelerini görmek için tıklayınız.

< Önceki   Sonraki >
 

Live Help

Siteye Giris






Kayıp Parola?
Hesabınız yok mu? Kayıt Ol

Oylama

Siteden En Cok Faydalandığınız Alan Hangisi ?
 

Site Istatistikleri

Üyeler: 1193
Haberler: 257
Web Bağlantıları: 7
Ziyaretçiler: 476816

Kim Bagli

Şuanda 2 misafir ve 1 üye bağlı
  • pitohuix

Desteklenen Okuyucular