DNS ve IP arasındaki yük dengeleme farkı - yönlendirme ve yönlendirme


9

Anlayamadığım bir durumla karşılaştım. İki arka uç Apache web sunucusunda yük dengeleme yapabildiğimiz bir Fortigate güvenlik duvarımız var. Daha sonra bir DNS adı Yük Dengeleyicideki sanal IP ile eşlenir.

Beklendiği gibi, DNS adına / URL'sine (örn. Www.something.com) göz attığınızda , Yük Dengeleyici arka uç Apache web sunucularından birinden bir sayfa sunar. Tarayıcıdaki URL www.something.com olarak kalır . Anladığım kadarıyla, bu durumda Yük Dengeleyici, her zaman yolda kalırken tarayıcı ve Apache arasında paketleri iletmektir.

Ancak, DNS'nin eşlendiği IP adresine göz atarsam, Yük Dengeleyici bir HTTP 302 Bulundu döndürür ve Konum başlığı Apache'lerden birinin DNS URL'sine ayarlanır. Tarayıcıdaki URL, arka uç sunucu DNS'sine dönüşür.

Yük Dengeleyici IP üzerinden sorgulandığında neden yeniden yönlendiriyor, ancak DNS adı ile sorgulandığında yol içinde doğru yönlendiriliyor.

Yanıtlar:


10

Yük dengeleme için bir Fortigate FW kullanmadım, bu yüzden bazı soruları daha genel olarak cevaplayacağım.

İlk olarak, sorununuza gelince, yük dengeleyici tam olarak olması gerektiği gibi yapıyor ve sunucularınızın IP adreslerindeki bir isteğe yanıt vermek için doğru yapılandırılmamış olabileceğini düşünüyorum. Bunu yük dengelemenin arkasında test edecekseniz, etki alanı adını yerel bir istemcinin hosts dosyasında, sunucunun güvenlik duvarının arkasında ayarlayabilir ve hem etki alanı adı hem de dahili IP ile erişebilirsiniz. Muhtemelen şu anda gördüğünüz aynı sonucu alacaksınız.

Sanırım sanal barındırma açık (tek bir sunucuda birden çok etki alanını desteklemek için) ve "varsayılan", alan adınızla aynı sayfaları sunmuyor. Her iki durumda da sunucudan bir web sayfası alıyorsunuz. Web sunucunuzu yapılandırma konusunda yardıma ihtiyacınız olursa ServerFault'u denemek isteyebilirsiniz .

İkincisi, biraz daha ayrıntıya girmek için. Bir yük dengeleyici genellikle en az HTTP ve HTTPS kümeleri için L7'de çalışır. Bu, yalnızca IP adresine bakıp iletmedikleri veya sayfayı "yönlendirmediği" anlamına gelir.

Bir istek aldıklarında, aslında isteği ayrıştırırlar ve isteği işledikten sonra bir sunucuya iletirler. Bu noktada başlıkları her iki yönde yeniden yazmak, istemciye geri dönen verilere potansiyel olarak çerez (kalıcılık için) eklemek, SSL oturumlarını sonlandırmak, URL'ye dayalı eşleme vb.

Yük dengelemenin nasıl çalıştığını daha iyi anlamak için satıcı belgelerini tam olarak okumak için biraz zaman harcamanızı öneririm (Fortigate ile hem kendi hem de Coyote Point'i satın alabilirsiniz - başka bir yük dengeleme şirketi Fortigate satın alındı). Bu gibi durumlarda ne yaptığını anlamanız size yardımcı olacaktır ve var olduğunu bilmediğiniz yeteneklerin kilidini açmanıza izin verecektir.


Sorun, arka uç Apache web sunucusunda bir yapılandırma idi. Yeni DNS adının Takma Ad olarak eklenmesi gerekiyordu.
Yusuf

3

Okuduktan sonra HTTP ana bilgisayar tabanlı yük dengeleme içinde Fortigate Yük Dengeleme doc, sana ne tarif sonuçlanabilecek atipik yük dengeleme konfigürasyonu olabilir görebilirsiniz. Ancak, yapılandırmanızın bir parçası olmadan, sizin için durumun bu olup olmadığından emin olamayız.

Fortigate FortiOS, her biri farklı bir ana bilgisayar üstbilgisi yapılandırmasına sahip olan Gerçek Sunuculara bağlı bir Sanal Sunucunun oluşturulmasına izin verir . Herhangi bir istek Sanal Sunucunuzun VIP'siyle eşleşirse, yük dengeli istekler yalnızca bununla eşleşen Gerçek Sunuculara gider host header. Belirtilerinizi güzelce açıklayan en önemli kısım, Gerçek Sunuculardan birinin ana bilgisayar üstbilgisini atlaması ve böylece herhangi bir ana bilgisayar üstbilgisiyle eşleşmesidir .

Ana bilgisayar üstbilgisi olmayan Gerçek Sunucu, yönlendirmeyi yapan bir siteye inen bir tür "tümünü yakala" olarak yapılandırılmış olabilir.

Aşağıdaki örneği kullanarak, yalnızca 1. ve 2. rservers ana bilgisayar üstbilgisi aracılığıyla tercih ettiğiniz DNS adıyla eşleşen trafiği işler, ancak 3. rserver DNS VIP'nin kendisini içeren diğer tüm ana bilgisayar üstbilgileriyle eşleşen her şeyi alır ve yönlendirme yapabilen bir siteye gönderir .

güvenlik duvarı vip yapılandır
 düzenle "http-host-ldb"
  set tipi sunucu-yük dengesi
  dahili set 192.0.2.1
  extintf "lan" olarak ayarla
  sunucu türü http'yi ayarla
  ldb yöntemini ayarlama http-host
  dışa aktarmayı ayarla 80
  gerçek sunucuları yapılandır
    düzenleme 1
      http-host'u "www.example.com" olarak ayarla
      ip 192.168.2.1 ayarlayın
      port 80'i ayarla
      Sonraki
    düzenleme 2
      http-host'u "www.example.com" olarak ayarla
      ip 192.168.2.2 ayarlayın
      port 80'i ayarla
      Sonraki
    düzenleme 3
      ip 192.168.2.3 ayarla
      port 80'i ayarla
      Sonraki
    son
 son

Güvenlik duvarı yük dengeleme yönlendirmeyi kendisi yapıyor olabilir, ancak sağlanan sınırlı bilgi ile söyleyemeyiz.


Bu yapılandırmada, ad tabanlı eşleşmeye ayarlanmıştır. Sorun da bu. VIP adresine adresle giderseniz, onunla ne yapacağınızı bilemez. (normal NAT kuralları uygulanır)
Ricky Beam

Bunun cevap olduğuna inanmamamın temel nedeni, bildiğim hiçbir FW / yük dengeleyicisinin, dahili kaynağın ana bilgisayar adına / etki alanına ayarlanmış bir konumla (en azından özellikle bunu yapılandırmadan) bir 302 döndürmesi. yani, soruyu temel alan durum böyle değildi).
YLearn

@RickyBeam, sadece ilk rservers ana bilgisayar adı eşleştirme yapar. Son sunucu ana bilgisayar olarak VIP adresiyle eşleşir.
generalnetworkerror

@YLearn, bunun garip olacağını kabul ediyorum; Ben Lser değil, rserver 302 yapardı ve bunu yapmak için yapılandırılmış olacağını söyledi. Bunu yapabilecek hiçbir LB bilmiyorum.
generalnetworkerror
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.