Nftlb क्या है?

द्वारा प्रकाशित किया गया था Zevenet | 2 फरवरी, 2018

अवलोकन

nftlb के लिए खड़ा है nftables लोड बैलेंसरअगली पीढ़ी के linux फ़ायरवॉल जो कि iptables को बदल देगा, एक पूर्ण लोड बैलेंसर और ट्रैफ़िक वितरक के रूप में व्यवहार करने के लिए अनुकूलित है।

nftlb लेयर 2, लेयर 3 और लेयर 4 पर लोड बैलेंसिंग के लिए वर्चुअल सर्विस बनाने के लिए एक नैफ्टीबल्स रूल्स मैनेजर है, नियमों की संख्या को कम से कम करने और संरचनाओं का कुशलता से मिलान करने के लिए संरचनाओं का उपयोग करता है। यह एक आसान JSON API सेवा के साथ प्रदान किया गया है, जिसमें लचीले ढंग से nftlb के साथ बातचीत करने और स्वचालन को पूरा करने की सुविधा है। तो आप अपने पसंदीदा स्वास्थ्य परीक्षक का उपयोग करके आसानी से nftlb के साथ एकीकृत हो सकते हैं।

का दर्शन nftlb संभव प्रदर्शन को प्राप्त करने के लिए कर्नेल में डेटा पथ को बनाए रखने के लिए है, लेकिन नियंत्रण विमान और हीथ को उपयोगकर्ता स्थान में जांचता है ताकि व्यवहार को आसानी से बदलने के लिए लचीलापन हो लेकिन बाकी लिनक्स स्टैक के साथ भी संगत हो। ।

Zevenet में, हम पूर्ण विशेषताओं वाले लोड बैलेंसर बनाने के लिए वर्षों से iptables और netfilter अवसंरचना का उपयोग कर रहे हैं, इसलिए हम ऐसे दृष्टिकोण की सीमाओं को अच्छी तरह से जानते हैं जिसे हम सहेज रहे हैं। nftlb.

Nftlb की आवश्यकता क्यों है?

लिनक्स कर्नेल पहले से ही आईपीवीएस नामक एक आंतरिक लोड बैलेंसर की गिनती करता है, या जिसे एलवीएस (लिनक्स वर्चुअल सर्वर) भी कहा जाता है, जो कि सॉफ्टवेयर का एक पूरा टुकड़ा है और बहुत ही स्थिर है जो वर्षों से उपयोग किया जाता है। लेकिन इस तरह के लोड बैलेंसर की कुछ सीमाएँ होती हैं: कर्नेल साइड का उपयोग उन कार्यों के लिए किया जाता है जिन्हें उपयोगकर्ता स्थान द्वारा किया जाना चाहिए, कुछ क्षमताओं के लिए यह वर्तमान में नेटफिल्टर प्रदान करने वाले बुनियादी ढांचे को डुप्लिकेट करता है, और यह iptables और सॉफ्टवेयर के अन्य टुकड़ों पर निर्भर करता है यदि कुछ आवश्यक है। अधिक जटिल (जैसे पारदर्शी प्रॉक्सी, मल्टीपोर्ट या मल्टीट्रोकॉल)। यह SNAT और DSR टोपोलॉजी प्रदान करता है, लेकिन DNAT नहीं।

Iptables दृष्टिकोण के साथ मुख्य सीमाएं वर्चुअल सेवा द्वारा बनाए जाने वाले नियमों की संख्या और बैकेंड की संख्या (इसमें शामिल कई मैचों के साथ प्रति बैकेंड के लिए न्यूनतम ~ 2 नियम) और बैकएंड की संख्या के अनुसार एक बढ़ती रैखिक जटिलता है। । नियमों की क्रमिक रूप से प्रसंस्करण भी प्रदर्शन को धीमा कर देती है यदि बहुत अधिक नियम शामिल हैं, और यह क्लासिक iptables लॉकिंग समस्या के कारण और भी खराब है। IPv6 लोड बैलेंसिंग प्रदान करने के लिए इसमें एक अलग कमांड, ip6tables के उपयोग की असुविधा है। इसके अलावा, यह दृष्टिकोण DNAT (पारदर्शिता के लिए गंतव्य NAT) और SNAT (स्रोत NAT) लोड संतुलन प्रदान करने में सक्षम है, लेकिन DSR (डायरेक्ट सर्वर रिटर्न) टोपोलॉजी में काम करने में सक्षम नहीं है।

- nftlb पर आधारित nftables हम इन सभी मुद्दों को बचाते हैं:
यह इन सभी टोपोलॉजी का निर्माण कर सकता है और एक से दूसरे में बहुत आसानी से बदल सकता है।
यह मल्टीपोर्ट और मल्टीट्रोकॉल को मूल रूप से संभाल सकता है।
यह IPv4 और IPv6 ट्रैफ़िक को मूल रूप से प्रबंधित कर सकता है।
यह लोड संतुलन के लिए सभी आवश्यक क्षमताओं को प्रदान करने के लिए सिर्फ एक इंटरफ़ेस का उपयोग किया जाता है।
nftables एक अधिक अभिव्यंजक भाषा प्रदान करता है इसलिए हम 2 नियमों का उपयोग निरंतर जटिलता के साथ एक पूर्ण लोड बैलेंसर बनाने के लिए कर सकते हैं!
मैचों को आभासी सेवा में अनुक्रमित किया जाता है, इसलिए हमें उन सभी को क्रमिक रूप से संसाधित करने की आवश्यकता नहीं है।
यह RCU सबसिस्टम प्रदान किया जाता है ताकि नियमों को अद्यतन करते समय कोई लॉकिंग समस्या न हो।
डेटा पथ कर्नेल स्थान में रहता है लेकिन नियंत्रण विमान के लिए उपयोगकर्ता स्थान में लचीलापन प्रदान करता है।
यह साबित हो गया है कि यह 10x को LVS की तुलना में तेज प्रदर्शन कर सकता है.

nftlb की विशेषताएं

वर्तमान में, nftlb निम्नलिखित क्षमताएं प्रदान करता है:
टोपोलॉजी ने समर्थन किया: गंतव्य NAT, स्रोत NAT, डायरेक्ट सर्वर रिटर्न और स्टेटलेस DNAT। यह एक-सशस्त्र और दो-सशस्त्र नेटवर्क आर्किटेक्चर में लोड बैलेंसर के उपयोग को सक्षम करता है।
IPv4 और IPv6 परिवारों के लिए समर्थन।
बहुपरत लोड बैलेंसर: परत 2 में DSR, IP आधारित लोड संतुलन 3 पर प्रोटोकॉल अज्ञेयवाद के साथ, और परत 4 पर UDP, TCP और SCTP के लोड संतुलन का समर्थन।
बंदरगाहों और बंदरगाहों की सूची के लिए मल्टीपोर्ट समर्थन।
एकाधिक आभासी सेवाओं (या खेतों) का समर्थन करते हैं।
शेड्यूलर उपलब्ध: वजन, राउंड रॉबिन, विन्यास योग्य हैश (प्रति आईपी, पोर्ट, मैक या उनमें से संयोजन) और सममित हैश।
टाइमआउट (प्रति आईपी, पोर्ट, मैक या उनमें से संयोजन) के साथ कॉन्फ़िगर करने योग्य दृढ़ता या क्लाइंट-बैकेंड आत्मीयता का समर्थन।
प्रति सेवा सुरक्षा नीतियों का समर्थन: श्वेत और अश्वेत (इंग्रेस से), यूजर स्पेस फिल्टर की कतार, फर्जी टीसीपी फ्रेम की फ़िल्टरिंग, अधिकतम स्थापित कनेक्शन की सीमा, प्रति सेकंड टीसीपी आरएसटी की सीमा, प्रति सेकंड नए कनेक्शन को सीमित करना और अधिक।
बैकएंड प्रति प्राथमिकता समर्थन।
आभासी सेवाओं का लाइव प्रबंधन और JSON एपीआई के माध्यम से प्रोग्राम बैकएंड करता है।
एक सुरक्षा कुंजी के साथ वेब सेवा प्रमाणीकरण।
स्वचालित परीक्षण शामिल हैं।

आधिकारिक गिट रिपॉजिटरी: https://github.com/zevenet/nftlb

Changelog: https://www.zevenet.com/knowledge-base/nftlb/nftlb-changelog/

पर साझा करें:

GNU फ्री डॉक्यूमेंटेशन लाइसेंस की शर्तों के तहत प्रलेखन।

क्या यह लेख सहायक था?

संबंधित आलेख