Kalamar yükü dengeleme ve ters proxy çatışmaları


1

Squid 3.3'ü birden fazla WAN bağlantısı üzerinden "yük dengeleme" yapmak için ( rastgele ACL'ler + tcp_outgoing_address seçeneklerini kullanarak ) ve "ters proxy" kullanmakta da zorluk çekiyorum .

Birini (yük dengeleme) veya diğerini (ters proxy) yapılandırdığımda gayet iyi çalışıyor, ancak ikisi de yapılandırıldığında, ters proxy artık düzgün çalışmıyor.

Paket yakalamaları, normal olarak LAN arayüzünde gönderilecek olan ters proxy trafiğini gösterir, bunun yerine WAN arayüzünde çıkış yapılır (ve bu nedenle LAN üzerindeki dahili ana makinelere ulaşmaz). Açıkçası " tcp_outgoing_address " ayarıyla ilgili bir şey de, yalnızca ön proxy trafiği yerine, ters proxy trafiğine de uygulanmaktadır.

Yük dengeleme yapılandırması için kullandığım şey aşağıda:

acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>

Bakınız - http://wiki.squid-cache.org/Features/AclRandom

Çok az Squid biliyorum ve sayısız posta araştırmam hiçbir şey getirmedi (henüz). Yük dengeleyiciyi yalnızca ileriye dönük proxy trafiği için geçerli olmak üzere nasıl uygulayabileceğimi bilen ve hala ters proxy trafiği ayarlanmamış gibi çalıştığını bilen var mı?

Yanıtlar:


1

Ters proxy trafiği için bir ACL oluşturun ve ayarlayın tcp_outgoing_address <<LAN-IP-HERE>>.


Önerin için teşekkürler. Daha açık konuşur musun? Yani, .conf dosyasında neye dikkat etmeliyim ve nerede (önce / sonra) "tcp_ougroing_address <>" yerine ne koymalıyım? Ayrıca, kelimenin tam anlamıyla "<>" mı demek istediniz?
Jaans

Kelimenin tam anlamıyla <<WAN1-IP-HERE>> içinde "<>" mi demek istediniz?
çaylak

Açıkladığın kadar spesifiktim. İhtiyacınız olan tek şey, kalamarın proxy trafiğine tcp_outgoing_address kuralını uygulamayı bırakmasını söylemektir. Çünkü şu an ona bu kuralların uygulanması gerektiğini söylüyorsun.
çaylak

Asıl cevabınızdaki "<>" ifadeniz arasında hiçbir şey olmadığı göz önüne alındığında, belirsizlik ve dolayısıyla sorgumla sonuçlandı. O zamandan beri cevabınızı düzenlediğinizi ve şimdi "mantıklı olan" <<LAN-IP-HERE>> "ile değiştirdiğinizi gördüm. Bunun için teşekkürler. Açıklamamın özelliğine gelince, bir şey hakkında daha spesifik olmama ihtiyacınız varsa, lütfen sorun. Sarcasm kimseye yardım etmiyor - işte bu yüzden ilk etapta buradayım. Dediğim gibi, bu konuda yeterince bilgim yok. Kalamar almak için yorumunuzu tcp_outgoing_address seçeneğinin mantıklı olmadığını uygulamayın. Sadece bunu nasıl yapabileceğimi veya yapılandırmada bilmiyorum.
Jaans

@ kasperd cevabımı düzenledi, LAN-IP-HERE başlangıçta içinde idi. Muhtemelen cevabı düzenlenmişken gördünüz.
çaylak

1

Sorunumu nasıl çözeceğimi öğrendim.

Drookie'nin yarattığı öneri ve ters proxy için ACL önerisi ve tcp_outgoing_addressetiketi uygulamasına neredeyse açık göründüğü halde, ACL'lerin nasıl tanımlandığı / işlendiğine bakılmaksızın , nereden başlayacağınız konusunda hiçbir fikrim yoktu.

İlk önce Squid.conf'un nasıl yorumlandığını (yani ilk eşleşen ACL'ler için yukarıdan aşağıya) ve çeşitli "etiketlerin" ne anlama geldiğini bulmak zorunda kaldım. Kemer altında bazı temel bilgiler almak için aşağıdaki bağlantıyı oldukça faydalı buldum: http://www.deckle.co.uk/squid-users-guide/squid-configuration-basics.html

Squid.conf komutunu çaldıktan sonra, mevcut ters proxy konfigürasyonunun zaten ACL'ler tanımladığını anladım ( cache_peer_accessetiketler için gerekli ).

Daha sonra bunların Squid tarafından nasıl yorumlandığını öğrendim (örn. Düzen, öncelik, geçersiz kılma vb.).

Yapmam gereken tek şey aşağıdakileri eklemekti (her satır önceden tanımlanmış her ters proxy ACL için. 192.168.0.254, LAN tarafı arayüzümün IP'sidir):

tcp_outgoing_address 192.168.0.254 OWA_URI_pfs
tcp_outgoing_address 192.168.0.254 rvm_Extranet
tcp_outgoing_address 192.168.0.254 rvm_Prototype
tcp_outgoing_address 192.168.0.254 rvm_WebService
tcp_outgoing_address 192.168.0.254 rvm_License

Bu daha sonra takip edilebilir:

acl fiftyPercent random 0.5
tcp_outgoing_address <<WAN1-IP-HERE>> fiftyPercent
tcp_outgoing_address <<WAN2-IP-HERE>>

Sonuç, ters proxy trafiğinin belirtilen LAN tarafı IP'sinin dışına çıkması ve ardından diğer tüm trafiğin geri kalanının randomACL aracılığıyla yük dengelemesidir .

Umarım bu benzer bir sorunla karşılaşan başkalarına yardımcı olur.

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.