TR7'yi ağıma eklemek için topolojimi değiştirmem gerekir mi (one-arm / two-arm / inline)?
Kısa cevap
Çoğu durumda hayır. HTTP ve L7 TCP vService'ler varsayılan SNAT ayarıyla çalışırken Kurum Servisleri isteği TR7'nin IP'sinden alır ve yanıtı da TR7'ye döndürür; bu yüzden TR7'nin sunuculara IP üzerinden erişebilmesi yeterlidir ve mevcut ağa one-arm olarak eklenebilir. Topoloji değişikliği yalnızca istemcinin IP'si bağlantı düzeyinde korunacaksa (SNAT → Use Client IP) ya da Network vService'te Route Mode veya Direct Server Return kullanılacaksa gerekir: bu durumlarda TR7 sunucuların dönüş yolunda olmalı (inline) ya da Spoofing kullanılmalıdır; Direct Server Return'de ise sunucular TR7 ile aynı L2 ağında hazırlanır.
Nasıl Çalışır?
Load balancer yerleşim biçimleri (üreticiler arasında ortak genel terimler):
| Yerleşim | Anlamı | Dönüş trafiği |
|---|---|---|
| One-arm | Load balancer ağa tek bir arayüzle (tek segment) bağlanır; istemci ve sunucu tarafı trafiği aynı bacaktan geçer. | Sunucunun ağ geçidi load balancer olmadığı için yanıtın load balancer'a dönmesi genellikle SNAT ile sağlanır. |
| Two-arm | Load balancer'ın istemci tarafında ve sunucu tarafında ayrı arayüzleri (segmentleri) vardır. | Load balancer sunucuların ağ geçidi yapılır ya da SNAT kullanılır. |
| Inline | Load balancer trafiğin yolu üzerindedir; sunucuların ağ geçidi load balancer'dır, sunuculara giden ve onlardan dönen bütün trafik load balancer'dan geçer. Bazı üreticiler (ör. NetScaler) inline'ı two-arm ile eş anlamlı kullanır. | Yanıt kendiliğinden load balancer'dan döner; bu nedenle SNAT yapılmadan istemci IP'si korunabilir. |
| Direct Server Return (DSR) | İstek load balancer'dan geçer, yanıt sunucudan doğrudan istemciye gider. Sunucuda sanal adres ARP yanıtı vermeyen bir loopback arayüzünde tanımlanır. | Yanıt load balancer'ı atlar; yalnızca L4 dağıtımda kullanılır. |
Belirleyici soru şudur: Kurum Servisinin yanıtı TR7'ye nasıl dönecek? Sunucu isteği TR7'nin IP'sinden alıyorsa yanıt kendiliğinden TR7'ye döner ve yerleşim fark etmez. Sunucu istemcinin gerçek IP'sini görüyorsa yanıt doğrudan istemciye gitmeye çalışır; TR7'nin dönüş yolunda olması gerekir.
Senaryoya Göre Gereksinim
| Senaryo | Topoloji gereksinimi |
|---|---|
| HTTP / L7 TCP, SNAT Default | Değişiklik gerekmez; one-arm yeterli. Kaynak adres, Kurum Servisinin route table'ında sunucuya giden arayüzün, sunucuyla (gateway üzerinden gidiliyorsa gateway'le) aynı subnet'teki Interface IP'sidir. İstemci IP'si HTTP'de X-Forwarded-For header'ıyla iletilir. |
| HTTP / L7 TCP, SNAT Use Device IP | Değişiklik gerekmez; kaynak adres seçilen TR7 IP'sidir. |
| HTTP / L7 TCP, SNAT Use Client IP | Yanıt TR7'den dönmelidir: sunucunun default gateway'i TR7 yapılır (inline) ya da Spoofing açılır. Spoofing'de TR7, Kurum Servisinin bulunduğu ağda ARP yanıtlarıyla sunucunun ağ geçidi trafiğini kendine çeker; bu nedenle TR7'nin o L2 ağında bir arayüzü olmalıdır. |
| Network vService, SNAT modu | Değişiklik gerekmez; istemci IP'si sunucuya iletilmez, kaynak adres seçilen SNAT IP'dir. |
| Network vService, Route Mode | TR7 ağ geçidi olarak dönüş yolunda olmalıdır (inline). İstemci IP'si korunur. |
| Network vService, Direct Server Return | Kurum Servisleri TR7 ile aynı L2 segmentinde olmalı ve vService adresini loopback'te tanımlayıp bu adres için ARP yanıtını kapatacak şekilde hazırlanmalıdır; yanıtlar TR7'yi atlayıp doğrudan istemciye gider. |
TR7'de
- Varsayılan ayarlarla (HTTP / L7 TCP, SNAT Default) sunucu tarafında hiçbir değişiklik gerekmez.
- Farklı ağ segmentlerindeki sunuculara erişim için TR7'de ilgili arayüzler, IP'ler ve Route Table'lar tanımlanır; bu, sunucuların yerini değiştirmeyi gerektirmez. TR7 iki ağa ayrı arayüzlerle bağlandığında yerleşim two-arm olur; SNAT Default'ta yine sunucu tarafında değişiklik gerekmez.
- Network vService'teki mod seçimi ve gereksinimleri: LB Mode.
Sık Karıştırılan Noktalar
- "Load balancer'ı kurmak için TR7'yi sunucuların ağ geçidi yapmalıyım." Varsayılan SNAT ile gerekmez; bu yalnızca istemci IP'si bağlantı düzeyinde korunacaksa (Use Client IP, Route Mode) gerekir.
- "Use Client IP'yi açmak yeterlidir." Yanıt TR7'den dönmüyorsa bağlantılar tamamlanmaz; gateway ya da Spoofing ayarı gerekir.
- "Two-arm yerleşim istemci IP'sini kendiliğinden korur." Korumaz; iki ayrı arayüz olsa da SNAT Default'ta sunucu TR7'nin IP'sini görür. İstemci IP'si, dönüş yolu TR7'den geçecek şekilde Use Client IP ile ya da HTTP'de X-Forwarded-For ile iletilir.
- "İstemci IP'sini görmek için mutlaka topolojiyi değiştirmeliyim." HTTP'de X-Forwarded-For, topolojiye dokunmadan istemci IP'sini iletir.
Dokümantasyonda nasıl yapılır
