20 से अधिक आभासी पतों के लिए रखा गया


12

मैंने उच्च उपलब्धता के लिए दो डेबियन मशीनों पर रख-रखाव की स्थापना की है, लेकिन मैं अधिकतम संख्या में वर्चुअल आईपी चला रहा हूं जो मैं अपने को असाइन कर सकता हूं vrrp_instance। मैं 20+ से अधिक वर्चुअल आईपी को कैसे कॉन्फ़िगर और फेल करूंगा?

यह बहुत ही सरल, सेटअप है:

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

प्रत्येक मशीन भी अपाचे (बाद में Nginx) SSL क्लाइंट प्रमाणपत्र समाप्ति के लिए वर्चुअल आईपी पर बाइंडिंग और webservers बैकएंड के लिए प्रॉक्सी चला रही है। कारण मुझे कई VIP की जरूरत है HTTPS पर VirtualHost का उपयोग करने में असमर्थता।

यह मेरा रख-रखाव है।

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
}

एक समान कॉन्फ़िगरेशन BACKUP मशीन पर है, और यह ठीक काम कर रहा है, लेकिन केवल 20 वीं आईपी तक।

मैंने इस समस्या पर चर्चा करते हुए एक HOWTO पाया है। मूल रूप से, वे सुझाव देते हैं कि "यह एक आईपी, और" सब ठीक हो जाएगा "के माध्यम से केवल एक वीआईपी और सभी ट्रैफ़िक को रूट करना" है। क्या यह एक अच्छा तरीका है? मैं मशीनों के सामने pfSense फ़ायरवॉल चला रहा हूँ।

उपरोक्त लिंक से उद्धरण:

ip route add $VNET/N via $VIP

or

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

अग्रिम में धन्यवाद।

संपादित करें:

@ डेविड शवार्ट्ज ने कहा कि यह एक मार्ग जोड़ने के लिए समझ में आता है, इसलिए मैंने pfSense फ़ायरवॉल के लिए एक स्थैतिक मार्ग को जोड़ने की कोशिश की, लेकिन यह काम नहीं किया जैसा कि मुझे उम्मीद थी कि यह होगा।

pfSense मार्ग:

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

मैंने यह भी सुनिश्चित किया कि मैंने अपने मेजबानों पर पैकेट अग्रेषण सक्षम किया है:

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

क्या मैं यह गलत कर रहा हूँ? मैंने सभी वीआईपी को रखने से हटा दिया। इसलिए यह केवल 10.200.85.100 से अधिक विफल रहता है।


मुझे लगता है कि दृष्टिकोण अच्छा समझ में आता है।
डेविड श्वार्ट्ज

... या मैं सिर्फ 20 आईपी के एक ब्लॉक के साथ अतिरिक्त vrrp_instances बनाऊंगा? मैं शायद होस्ट किए गए HTTPS साइटों को कुछ अतिरिक्त अर्थ दे सकता हूं।
cvaldemar

गंतव्य नेटवर्क 20+ IP का सेट होना चाहिए, न कि एक IP।
डेविड श्वार्ट्ज

जवाबों:


14

अपने वर्तमान आर्किटेक्चर को न बदलते हुए सबसे सरल उपाय है virtual_ipaddress_excluded का उपयोग करना । उदाहरण के लिए

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 में IP पते की एक सूची शामिल होती है, जिन्हें रखने पर सर्वर पर अप और डाउन हो जाता है, हालांकि वे खुद VRRP पैकेट में शामिल नहीं होते हैं, इसलिए वे 20 IP पते सीमा की ओर नहीं गिनते हैं।

अपने कॉन्फ़िगरेशन में मैं विशेष रूप से virtual_ipaddress के लिए एक आईपी आवंटित करना पसंद करता हूं । यानी एक ही है कि VRRP पैकेट में सब शामिल है और सब कुछ डाल दिया है में virtual_ipaddress_excluded । यह एक अच्छा विचार है क्योंकि आप मुख्य आईपी को सिर्फ इसलिए नहीं बदलना चाहते हैं क्योंकि एक ग्राहक बचा है।


अति उत्कृष्ट। मैं कई vrrp उदाहरणों के बजाय यह कर रहा हूँ। आपने मुझे रखने के लिए दस्तावेज भी रखे। धन्यवाद!
cvaldemar
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.