20'den fazla sanal adres için saklandı


12

Yüksek kullanılabilirlik için iki Debian makinesinde sürekli olarak ayarladım, ancak kendime atayabileceğim maksimum sanal IP sayısıyla karşılaştım vrrp_instance. 20'den fazla sanal IP'yi yapılandırma ve başarısızlığa nasıl gidebilirim?

Bu, çok basit, kurulum:

LB01: 10.200.85.1
LB02: 10.200.85.2
Virtual IPs: 10.200.85.100 -  10.200.85.200

Her makine ayrıca SSL istemci sertifikası sonlandırması ve web sunucularını arka uçlara bağlamak için sanal IP'lerde Apache (daha sonra Nginx) bağlaması çalıştırıyor. Bu kadar çok VIP'ye ihtiyacımın nedeni, HTTPS'de VirtualHost'u kullanamama.

Bu benim keepalived.conf:

vrrp_script chk_apache2 {
        script "killall -0 apache2"
        interval 2
        weight 2
}

vrrp_instance VI_1 {
        interface eth0
        state MASTER
        virtual_router_id 51
        priority 101
        virtual_ipaddress {
            10.200.85.100
            .
            . all the way to
            .
            10.200.85.200
}

YEDEKLEME makinesinde aynı bir yapılandırma vardır ve iyi çalışır, ancak yalnızca 20. IP'ye kadar.

Bu sorunu tartışan bir NASIL belgesi buldum . Temel olarak, sadece bir VIP'ye sahip olmayı ve tüm trafiği "bu bir IP üzerinden" ve "her şey iyi olacak" yönlendirme öneriyorlar. Bu iyi bir yaklaşım mı? Makinelerin önünde pfSense güvenlik duvarları çalıştırıyorum.

Yukarıdaki bağlantıdan alıntı:

ip route add $VNET/N via $VIP

or

route add $VNET netmask w.x.y.z gw $VIP

Şimdiden teşekkürler.

DÜZENLE:

@David Schwartz, bir rota eklemenin mantıklı olacağını söyledi, bu yüzden pfSense güvenlik duvarına statik bir rota eklemeyi denedim, ancak beklediğim gibi çalışmadı.

pfSense yolu:

Interface:            LAN
Destination network:  10.200.85.200/32 (virtual IP)
Gateway:              10.200.85.100    (floating virtual IP)
Description:          Route to VIP .100

Ben de benim ana bilgisayarlarda paket yönlendirme etkin olduğundan emin yaptı:

$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1

Bunu yanlış mı yapıyorum? Tüm VIP'leri keepalived.conf dosyasından da kaldırdım, böylece yalnızca 10.200.85.100'den fazla başarısız oldu.


Bu yaklaşımın mantıklı olduğunu düşünüyorum.
David Schwartz

... ya da her biri 20 IP bloğuyla ek vrrp_instances yapabilir miyim? Muhtemelen barındırılan HTTPS sitelerini bir şekilde ek anlamlar vererek gruplayabilirim.
cvaldemar

Hedef ağ, tek bir IP değil, 20+ IP'den oluşmalıdır.
David Schwartz

Yanıtlar:


14

Mevcut mimarinizi değiştirmemekle birlikte en basit çözüm, virtual_ipaddress_excluded'i kullanmaktır . Örneğin

vrrp_instance VI_1 {
    interface eth0
    state MASTER
    virtual_router_id 51
    priority 101

    virtual_ipaddress {
        10.200.85.100
    }

    virtual_ipaddress_excluded {
        10.200.85.101
        . all the way to
        10.200.85.200
    }
}

virtual_ipaddress_excluded , sunucuda yukarı ve aşağı getirecek IP adreslerinin bir listesini içerir, ancak VRRP paketinin içine dahil edilmezler, bu nedenle 20 IP adresi sınırına dahil edilmezler.

Konfigürasyonlarımda, özellikle virtual_ipaddress için bir IP ayırmayı seviyorum . yani VRRP paketlerinde yer alan ve diğer her şeyi virtual_ipaddress_excluded içine koyan . Bu iyi bir fikir çünkü sadece bir müşteri kaldığı için ana IP'yi değiştirmek istemezsiniz.


Mükemmel. Bunu birden çok vrrp örneği yerine yapıyorum. Ayrıca bana saklanan belgelerin okunmasını sağladın. Teşekkürler!
cvaldemar
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.