NetScaler SNIP Nedir? Backend Trafiğinde Neden Kritiktir?

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.

About Cem Kemal Erbaş

Bir yanıt yazın