Citrix ADC / NetScaler üzerinde bir kullanıcı VIP’e (Virtual IP) bağlandığında, backend sunucuya giden bağlantı çoğu standart load balancing senaryosunda kullanıcının kaynak IP’siyle devam etmez.
Basitleştirilmiş trafik akışı şöyledir:
Client → VIP → NetScaler → SNIP → Backend Server
Buradaki kritik bileşen SNIP (Subnet IP) adresidir.
SNIP Ne İşe Yarar?
SNIP, NetScaler’ın backend sunucularla iletişim kurarken kullandığı NetScaler-owned IP adreslerinden biridir. NetScaler client bağlantısını VIP üzerinde sonlandırır ve backend’e yeni bir bağlantı oluştururken varsayılan davranışta uygun SNIP’i source IP olarak kullanır. NetScaler
Örneğin:
Client : 198.51.100.10
VIP : 203.0.113.15:443
SNIP : 10.10.20.10
Backend : 10.10.20.21:443
Client tarafında:
198.51.100.10 → 203.0.113.15:443
görülürken backend tarafındaki bağlantı çoğunlukla:
10.10.20.10 → 10.10.20.21:443
şeklinde görülür.
Yani VIP client-facing, SNIP ise ağırlıklı olarak server/backend-facing tarafta görev yapar. NetScaler dokümantasyonu da VIP’in backend bağlantılarında kaynak IP olarak kullanılmadığını, backend iletişiminde normalde SNIP seçildiğini belirtiyor. NetScaler
SNIP Seçimi Nasıl Yapılır?
Birden fazla SNIP varsa NetScaler, backend sunucunun bulunduğu subnet ve routing yapısına göre uygun source IP’yi seçebilir.
Belirli bir service, service group, monitor veya LB vServer için belirli bir source IP kullanılması gerekiyorsa Net Profile ile SNIP veya IP set tanımlanabilir. NetScaler
Bu özellikle backend firewall üzerinde yalnız belirli NetScaler adreslerinin whitelist edildiği yapılarda önemlidir.
Health Monitor Trafiğinde SNIP
SNIP yalnızca kullanıcı trafiği için kullanılmaz.
NetScaler standart backend health-check işlemlerinde de SNIP üzerinden monitor probe gönderebilir. Bu yüzden ServiceGroup DOWN görünüyorsa yalnızca backend servisine bakmak yeterli değildir. NetScaler
Kontrol zinciri:
SNIP → VLAN → ARP → Route → Firewall → Backend → Return Path
Örneğin backend firewall:
Source: 10.10.20.10
Destination: 10.10.20.21
Port: 443
trafiğine izin vermiyorsa application çalışıyor olsa bile monitor başarısız olabilir.
Burada bir istisna da bulunuyor: bazı özel monitor tipleri SNIP yerine NSIP kaynaklı olabilir. Örneğin NetScaler USER monitor probe’ları NSIP’den çıkar. Bu nedenle monitor türünü de dikkate almak gerekir. NetScaler
CLI Üzerinden SNIP Kontrolü
NetScaler üzerindeki IP adreslerini görmek için:
show ns ip
Belirli bir SNIP’i incelemek için:
show ns ip 10.10.20.10
Yeni bir SNIP oluşturmak için:
add ns ip 10.10.20.10 255.255.255.0 -type SNIP
kullanılabilir. Bu komutlar güncel NetScaler 14.1 dokümantasyonunda da yer almaktadır. NetScaler
Client IP Backend’e Hiç Gitmez mi?
Mutlak olarak söylemek doğru olmaz.
NetScaler üzerinde USIP (Use Source IP) etkinleştirilirse backend bağlantılarında client IP kaynak adresi olarak kullanılabilir. HTTP tabanlı uygulamalarda gerçek client IP ayrıca X-Forwarded-For benzeri header’larla backend’e aktarılabilir. NetScaler
Dolayısıyla standart davranış:
Client → VIP → SNIP → Backend
olsa da gerçek mimari USIP, Net Profile ve diğer network ayarlarına göre değişebilir.
Kritik Nokta
VIP düzgün çalışıyor ama backend bağlantıları veya health monitor’lar başarısız oluyorsa yalnızca LB vServer’a bakmayın.
SNIP → Routing → Backend erişimi → Return Path
zincirini doğrulayın.
Çünkü NetScaler troubleshooting’de önemli soru yalnızca:
“VIP UP mı?”
değil,
“NetScaler backend’e hangi source IP ile gidiyor ve backend bu IP’ye doğru şekilde geri dönebiliyor mu?”
olmalıdır.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler