मैंने उच्च उपलब्धता के लिए दो डेबियन मशीनों पर रख-रखाव की स्थापना की है, लेकिन मैं अधिकतम संख्या में वर्चुअल आईपी चला रहा हूं जो मैं अपने को असाइन कर सकता हूं 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 से अधिक विफल रहता है।