Bir alt ağdaki istemcilere IP adresi dağıtan tek bir DHCP sunucusu kapandığında, Lease süresi dolan ve yeni bağlanan istemciler adres alamaz. Split Scope, aynı Scope'u iki DHCP sunucusunda tanımlayıp adres havuzunu aralarında bölerek bu tek noktayı ortadan kaldıran yöntemdir. Sunuculardan biri kapandığında diğeri kendi payındaki adreslerle dağıtıma devam eder.
Bu yazıda DHCP konsolundaki Split-Scope sihirbazıyla bir Scope'u iki sunucu arasında bölüyor, ikinci sunucunun teklif gecikmesini ayarlıyor ve yapıyı test ediyorum. DHCP Server rolünün kurulumunu DHCP Server kurulumu makalemde anlattım.
Windows Server 2012 ile gelen DHCP Failover, IPv4 için Split Scope'un yerine geçen yöntemdir ve Microsoft'un önerdiği yapıdır. Split Scope, Failover'ın desteklemediği DHCPv6 Scope'larında ve eski sunucuların bulunduğu yapılarda anlamlıdır.
Ekran görüntüleri Windows Server 2012 R2'nin DHCP konsoluna aittir. Split Scope, sihirbaz kullanılmadan her sürümde aynı Scope'un iki sunucuda tanımlanıp karşılıklı Exclusion Range eklenmesiyle elle de kurulabilir.
1- Split Scope Nasıl Çalışır?
Split Scope'ta iki sunucuda da aynı adres aralığına sahip aynı Scope tanımlanır. Her sunucuda, diğer sunucunun dağıtacağı kısım Exclusion Range olarak hariç tutulur. Böylece iki sunucu aynı alt ağa hizmet verir ama hiçbir zaman aynı adresi dağıtmaz.
Scope: 192.168.10.0/24 (Split oranı %80 / %20)
Birincil sunucu Dağıtır: %80'lik aralık Hariç tutar: %20'lik aralık
İkinci sunucu Dağıtır: %20'lik aralık Hariç tutar: %80'lik aralık
En yaygın oran 80/20 kuralıdır. Havuzun %80'ini birincil, %20'sini ikinci sunucu dağıtır. İstemci DHCP Discover mesajını yayınladığında iki sunucu da teklif gönderir ve istemci ilk gelen teklifi kabul eder. Birincil sunucunun önce yanıt vermesi için ikinci sunucuda Delay in DHCP Offer ile milisaniye cinsinden bir gecikme tanımlanır.
İki sunucu Lease kayıtlarını birbiriyle paylaşmaz. Birincil sunucu kapandığında istemciler mevcut Lease'lerini yenileyemez, Lease süresi dolunca ikinci sunucudan yeni bir adres alır. İkinci sunucunun payı yalnızca %20 olduğu için birincil sunucu uzun süre kapalı kalırsa bu havuz dolabilir ve yeni istemciler adres alamaz.
Split Scope'un en büyük yönetim yükü, sunucuların ayarlarını eşitlememesidir. Sihirbaz Scope'u ikinci sunucuya bir kez kopyalar. Sonradan yapılan Scope Options, Reservation ve Lease süresi değişiklikleri iki sunucuda ayrı ayrı yapılmalıdır.
|
Özellik |
Split Scope |
DHCP Failover |
|
Adres havuzu |
İki sunucu arasında statik olarak bölünür |
Ortak havuz. Partner Down durumunda MCLT süresi dolduktan sonra kalan sunucu havuzun tamamını kullanabilir, Communication Interrupted durumunda kullanamaz |
|
Lease kayıtları |
Paylaşılmaz |
Sunucular arasında eşitlenir |
|
Scope ayarları |
Her değişiklik iki sunucuda elle yapılır |
Replikasyonla eşitlenir |
|
Desteklenen sürüm ve protokol |
Tüm sürümler, IPv4 ve IPv6 |
Windows Server 2012 ve sonrası, yalnızca IPv4 |
|
Sunucu sayısı |
İki ya da daha fazla |
Bir Scope için iki sunucu |
Sunucular farklı lokasyonlardaysa, her alt ağın havuzunun büyük kısmını o alt ağa yakın sunucu dağıtır. Örneğin şube alt ağının %80'ini şubedeki sunucu, %20'sini merkezdeki sunucu dağıtır. Böylece merkez ile şube arasındaki bağlantı koptuğunda şubedeki istemciler etkilenmez.
2- Ön Kontrol
Başlamadan önce şu maddeleri doğruluyorum:
|
Kontrol |
Beklenen Durum |
|
DHCP Server rolü |
İki sunucuda kurulu ve Active Directory'de yetkilendirilmiş (Authorize) |
|
Scope |
Yalnızca birincil sunucuda (SRV001) oluşturulmuş ve yapılandırılmış |
|
DHCP Relay |
İstemci alt ağında DHCP sunucusu yoksa, yönlendiricideki DHCP Relay (IP Helper) tanımında iki sunucunun adresi de var |
|
Yetki |
Sihirbazı çalıştıran hesap iki sunucuda da DHCP yönetim yetkisine sahip |
SRV001'de Scope oluşturulmuş ve yapılandırılmış durumda. İkinci sunucuda yalnızca DHCP Server rolü kurulu.

3- Split-Scope Sihirbazının Çalıştırılması
1- SRV001'in DHCP konsolunda Scope üzerinde sağ tıklayıp Advanced, ardından Split-Scope... seçeneğini seçiyorum.

2- DHCP Split-Scope Configuration Wizard açılıyor, Next ile devam ediyorum.

3- Additional DHCP Server alanında Scope'un bölüneceği ikinci DHCP sunucusunu seçiyorum. Sihirbaz, Scope'u bu sunucuda aynı ayarlarla oluşturacak.



4- Bölme Oranı (Percentage of Split)
Bu ekranda adres havuzunun yüzde kaçının Host DHCP Server (SRV001), yüzde kaçının Added DHCP Server (ikinci sunucu) tarafından dağıtılacağını kaydırma çubuğuyla belirliyorum. Ekranın alt kısmında, seçilen orana göre her sunucuda oluşturulacak Exclusion Range'ler görünüyor. Oranı belirlerken ikinci sunucunun payının, birincil sunucu kapalıyken o alt ağdaki istemcilere yetip yetmeyeceğini hesaba katıyorum.
Üretimde genellikle 80/20 oranını kullanıyorum. Bu lab ortamında iki sunucunun dağıttığı aralıkları net görmek için oranı %50 olarak ayarlıyorum.

İki sunucudaki dağıtım aralıkları çakışırsa aynı adres iki farklı istemciye verilebilir. Sihirbazın oluşturduğu Exclusion Range'leri elle değiştirirken aralıkların birbirini kapsamadığını kontrol ediyorum.
5- Delay in DHCP Offer
Bu ekranda her sunucunun DHCP Discover mesajına kaç milisaniye gecikmeyle teklif göndereceğini belirliyorum. Değer 0 ile 1000 milisaniye arasında verilir, 0 gecikme olmadığı anlamına gelir. İstemci ilk gelen teklifi kabul ettiği için gecikme yalnızca ikinci sunucuda verilir.
|
Sunucu |
Gecikme |
Sonucu |
|
Host DHCP Server (SRV001) |
0 |
Discover mesajına hemen yanıt verir, istemcilerin çoğu adresini bu sunucudan alır |
|
Added DHCP Server |
0'dan büyük |
Birincil sunucudan sonra yanıt verir, birincil sunucu kapalıyken ya da havuzu dolduğunda adres dağıtır |
İki sunucuda da gecikme 0 olursa istemciler adreslerini hangi sunucu önce yanıt verirse ondan alır ve bölme oranı fiilen işlemez. Gecikmeyi sihirbaz bittikten sonra ikinci sunucuda PowerShell ile de değiştirebiliyorum. {Scope ID} yerine Scope'un ağ adresini yazıyorum.

Set-DhcpServerv4Scope -ScopeId {Scope ID} -Delay {Milisaniye}
6- Sihirbazın Tamamlanması
1- Summary of Split-Scope Configuration ekranında yapılandırmanın özetini kontrol edip Finish ile sihirbazı tamamlıyorum.

2- SRV001'in Address Pool bölümünde 192.168.10.1 ile 192.168.10.10 arası ve 192.168.10.128 ile 192.168.10.254 arası Exclusion Range olarak görünüyor. SRV001 artık yalnızca 192.168.10.11 ile 192.168.10.127 arasını dağıtıyor.

3- İkinci sunucunun Address Pool bölümünde ise SRV001'in dağıttığı aralık Exclusion Range olarak hariç tutulmuş, ikinci sunucu havuzun kalan kısmını dağıtıyor.

Kontrol Noktası
İki sunucunun Address Pool bölümünde dağıtılan aralıklar birbirini kapsamamalı ve ikinci sunucudaki Scope'un durumu Active olmalı.
7- Sihirbaz Sonrası İşlemler
İkinci sunucuda oluşturulan Scope'un Active durumda olduğunu kontrol ediyorum, değilse Scope üzerinde sağ tıklayıp Activate ile etkinleştiriyorum. Ardından Router, DNS Server gibi Scope Options'ın ikinci sunucuya doğru kopyalandığını kontrol ediyorum.
Reservation'ları iki sunucuda da tanımlıyorum. Bir Reservation yalnızca birincil sunucuda varsa, birincil sunucu kapalıyken o istemci rezerve adresini alamaz.
İki sunucu da istemciler adına DNS kaydı yapıyorsa, bir sunucunun oluşturduğu kaydı diğeri güncelleyemeyebilir. Bunu önlemek için iki sunucuda DHCP özelliklerinin Advanced sekmesindeki Credentials ile aynı DNS dynamic update hesabını tanımlıyorum.
Split Scope'ta sunucular ayarlarını eşitlemez. Bundan sonra Scope Options, Reservation ve Lease süresinde yapacağım her değişikliği iki sunucuda ayrı ayrı yapıyorum.
8- Doğrulama ve Test
Bölünmenin doğru yapıldığını iki sunucuda PowerShell ile kontrol ediyorum. Komutları her iki sunucuda çalıştırıyorum.
Get-DhcpServerv4Scope | Select-Object ScopeId, StartRange, EndRange, State, Delay
Get-DhcpServerv4ExclusionRange -ScopeId {Scope ID}
İki sunucuda Scope'un State değeri Active olmalı, Exclusion Range'ler karşılıklı olarak diğer sunucunun aralığını kapsamalı ve Delay değeri yalnızca ikinci sunucuda 0'dan büyük olmalı.
Ardından SRV001'de DHCP servisini durdurup bir istemcide yeni adres istiyorum.
ipconfig /release
ipconfig /renew
ipconfig /all
ipconfig /all çıktısında DHCP Server alanı ikinci sunucunun adresini, IPv4 adresi ise ikinci sunucunun dağıttığı aralıktan bir adresi göstermeli. Testten sonra SRV001'de DHCP servisini yeniden başlatıyorum.
Test sırasında SRV001'in DHCP servisi durduğu için o alt ağdaki istemciler yalnızca ikinci sunucunun payından adres alabilir. Testi yoğun olmayan bir saatte yapıyorum.
Yapıyı geri almam gerekirse ikinci sunucudaki Scope'u siliyor, SRV001'de sihirbazın eklediği Exclusion Range'i kaldırıyorum. Böylece SRV001 havuzun tamamını yeniden dağıtır.
Yapılandırmanın tamamlandığını şu ölçütlerle anlıyorum: iki sunucuda Scope Active, dağıtım aralıkları çakışmıyor, gecikme ikinci sunucuda tanımlı, Options ve Reservation'lar iki sunucuda aynı ve birincil sunucu kapalıyken istemci ikinci sunucudan adres alabiliyor. Ortamdaki sunucular Windows Server 2012 ve sonrasıysa bir sonraki adım IPv4 Scope'ları için DHCP Failover'a geçişi değerlendirmek.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.