Birden fazla NPS sunucusu kurarak yük dengelemesi sağladık. Master NPS üzerinden gelen RADIUS isteklerinin, arka plandaki NPS sunucularına (NPS01 ve NPS02 gibi) yük dengelemesi ile dağıtılması sağladık.

MasterNPS sunucusunda Remote RADIUS Server Groups altında NPS (Network Policy Server) sunucularımızı tanımlayarak, gelen RADIUS isteklerinin yük dengelemesini sağlıyoruz.

MasterNPS sunucusunda RADIUS Clients altında NPS (Network Policy Server) sunucularımızı tanımlıyoruz.

Master NPS sunucusunda Connection Request Policies kullanarak gelen RADIUS isteklerini NPS01 ve NPS02 sunucularına yönlendirebiliriz. Bu yapı, yük dengeleme sağlarken sistemin performansını artırır ve olası sunucu hatalarında hizmet kesintisini önler.

Master NPS sunucusunda Connection Request Policies ile yapılandırdığımız RADIUS yönlendirme işlemi başarıyla devreye girmiştir. Artık gelen RADIUS istekleri NPS01 ve NPS02 sunucularına yönlendirilirken, loglarda bu hareketler Proxy Policy Name olarak görünmektedir.

NPS01 sunucusunda, MasterNPS sunucusunu bir RADIUS Client olarak tanımlıyoruz. Bu işlem sayesinde, MasterNPS‘ten gelen RADIUS istekleri, NPS01 tarafından doğrulama (authentication) ve yetkilendirme (authorization) işlemlerine tabi tutulacaktır.

NPS01 sunucusunda, Connection Request Policies ve Network Policies yapılandırmasını yaparak, MasterNPS‘ten gelen RADIUS isteklerini işleyebiliriz. Bu politikalar, gelen isteklerin nasıl ele alınacağını, yetkilendirileceğini ve yönlendirileceğini tanımlar.

NPS01 üzerinde logları incelediğimizde, MasterNPS tarafından gönderilen RADIUS isteklerinin başarıyla işlendiğini ve NPS01’in MasterNPS’i doğru şekilde tanıdığını görebiliyoruz. Loglarda, MasterNPS’nin Client Friendly Name olarak ve NPS01’in Server Name olarak göründüğünü gözlemliyoruz. NPS01 üzerinde oluşturduğumuz Connection Request Policies’nin devreye girdiği ve “MasterNPS Connection Requests” adıyla doğru uygulandığı görülüyor. İşlem başarılı olmuş ve Access-Accept yanıtı döndürülmüş, bu da kullanıcının veya cihazın yetkilendirildiğini ve erişimin onaylandığını gösteriyor.

NPS Load Balancing Yapılandırması

NPS (Network Policy Server) sisteminizde, NPS01 üzerinde yapılan değişikliklerin NPS02 sunucusuna otomatik olarak kopyalanmasını sağlamak için bir PowerShell scripti kullanıyoruz. Bu script, her 5 dakikada bir çalışarak, NPS01 üzerindeki ayarları NPS02’ye aktarır ve böylece her iki sunucuda da aktif ve eş zamanlı çalışır hale gelir.

# Senkronize edilecek kaynak ve hedef yolları tanımlayın
$SourcePath = "C:\Windows\System32\ias\ias.xml"
$DestPath = "\\NPS02\C$\Windows\System32\ias\ias.xml"
 
# Dosya izleme nesnesi oluşturma
$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Windows\System32\ias"
$watcher.Filter = "ias.xml"
$watcher.NotifyFilter = [System.IO.NotifyFilters]'LastWrite'
 
# Değişiklik algılandığında tetiklenecek aksiyon
$action = {
    Write-Output "NPS yapılandırma değişikliği algılandı, senkronizasyon başlatılıyor..."
    Robocopy "C:\Windows\System32\ias" "\\NPS02\C$\Windows\System32\ias" "ias.xml" /Z /R:3 /W:5
}
 
# Değişiklik olaylarını tanımlama
Register-ObjectEvent $watcher Changed -Action $action
 
# Betiği arka planda çalıştırmak için bekletme
while ($true) { Start-Sleep -Seconds 60 }