WonderShaper - लिनक्स में नेटवर्क बैंडविड्थ को सीमित करने का एक उपकरण


Wondershaper एक छोटा सा बैश स्क्रिप्ट है जो आपको लिनक्स में नेटवर्क बैंडविड्थ को सीमित करने में सक्षम बनाता है। यह ट्रैफ़िक नियंत्रण को कॉन्फ़िगर करने के बैकएंड के रूप में tc कमांड लाइन प्रोग्राम को नियोजित करता है। यह एक लिनक्स सर्वर पर बैंडविड्थ को नियंत्रित करने के लिए एक उपयोगी उपकरण है।

यह आपको अधिकतम डाउनलोड दर और/या अधिकतम अपलोड दर निर्धारित करने की अनुमति देता है। इसके अलावा, यह आपको उन सीमाओं को भी साफ करने की अनुमति देता है जो आपने निर्धारित की हैं और कमांड लाइन से एक इंटरफ़ेस की वर्तमान स्थिति प्रदर्शित कर सकते हैं। सीएलआई विकल्पों का उपयोग करने के बजाय, आप इसे systemd के तहत एक सेवा के रूप में लगातार चला सकते हैं।

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

कैसे लिनक्स सिस्टम में Wondershaper स्थापित करने के लिए

सबसे पहले, दिखाए गए अनुसार डिफ़ॉल्ट प्रदर्शनों से अपने लिनक्स वितरण पैकेज प्रबंधक का उपयोग करके wondershaper स्थापित करके शुरू करें।

$ sudo apt install wondershaper  [On Debian/Ubuntu]
$ sudo yum install wondershaper  [On CentOS/RHEL]
$ sudo dnf install wondershaper  [On Fedora 22+]

वैकल्पिक रूप से, नवीनतम अपडेट को खींचने और स्थापित करने के लिए, आपको अपने सिस्टम के wondershaper के GitHub रिपॉजिटरी को क्लोन करने की आवश्यकता है, स्थानीय रिपॉजिटरी में जाएं और इसे निम्न कमांड्स का उपयोग करके इंस्टॉल करें। ध्यान दें कि आपके पास git कमांड लाइन टूल स्थापित होना चाहिए:

$ cd bin
$ git clone https://github.com/magnific0/wondershaper.git
$ cd wondershaper
$ sudo make install

इससे पहले कि आप wondershaper का उपयोग करना शुरू करें, आपको सबसे पहले ifconfig या ip कमांड का उपयोग करके अपनी मशीन से जुड़े सभी नेटवर्क इंटरफेस की जांच करनी चाहिए।

यह आपको उस इंटरफ़ेस को जानने में मदद करेगा जिस पर आप बैंडविड्थ उपयोग को आकार देना चाहते हैं, उदाहरण के लिए वायरलेस इंटरफ़ेस wlp1s0 जो सक्रिय है।

$ ifconfig 
OR
$ ip addr

लिनक्स में नेटवर्क बैंडविड्थ को सीमित करने के लिए Wondershaper का उपयोग कैसे करें

किसी इंटरफ़ेस के लिए Kbps में अधिकतम डाउनलोड दर को परिभाषित करने के लिए, विकल्प -a (इंटरफ़ेस को परिभाषित करता है) और -d ( परिभाषित करता है Kbps) यानी डाउनलोड दर 4Mbps पर सेट की जाएगी।

$ wondershaper -a wlp1s0 -d 4048

इंटरफ़ेस के लिए Kbps में अधिकतम अपलोड दर निर्धारित करने के लिए, निम्नानुसार -u विकल्प का उपयोग करें।

$ wondershaper -a wlp1s0 -u 1048

आप उदाहरण के लिए, एक ही बार में एक बार डाउनलोड और अपलोड कर सकते हैं।

$ wondershaper -a wlp1s0 -d 4048 -u 1048

-s विकल्प आपको इंटरफ़ेस की वर्तमान स्थिति देखने की अनुमति देता है।

$ wondershaper -sa wlp1s0 

उदाहरण के लिए wondershaper द्वारा बैंडविड्थ की कमी का परीक्षण करने के लिए आप iPerf - नेटवर्क थ्रूपुट टूल का उपयोग कर सकते हैं।

आप -c ध्वज का उपयोग करके किसी इंटरफ़ेस के लिए निर्धारित डाउनलोड या अपलोड सीमाएँ साफ़ कर सकते हैं।

$ wondershaper -ca wlp1s0

एक सेवा के रूप में wondershaper को चलाने के लिए भी संभव है, जहां आप एक कॉन्फ़िगरेशन फ़ाइल में बैंडविड्थ को आकार देने के लिए मापदंडों को परिभाषित करते हैं। यह बूट समय पर शुरू करने और बैंडविड्थ के उपयोग को सीमित करने में सक्षम करता है, जब सिस्टम चालू होता है, जैसा कि अगले भाग में बताया गया है।

कैसे सिस्टम के तहत लगातार Wondershaper चलाने के लिए

इस मोड के तहत, आपको /etc/conf.d/wondershaper पर स्थित wondershaper कॉन्फ़िगरेशन फ़ाइल में इंटरफ़ेस सेट, अपलोड और डाउनलोड करने की आवश्यकता है। आप इस फ़ाइल को अपने पसंदीदा CLI एडिटर का उपयोग करके संपादन के लिए खोल सकते हैं जैसा कि दिखाया गया है।

$ sudo vim /etc/conf.d/wondershaper 

आवश्यक मापदंडों को निम्नानुसार परिभाषित करें।

[wondershaper]
# Adapter
IFACE="wlp1s0"

# Download rate in Kbps
DSPEED="4048"

# Upload rate in Kbps
USPEED="512"

फ़ाइल को सहेजें और इसे बंद करें।

इसके बाद, माध्य समय के लिए wondershaper सेवा शुरू करें, इसे systemctl कमांड का उपयोग करके सिस्टम बूट पर ऑटो-स्टार्ट करने और इसकी स्थिति देखने के लिए सक्षम करें।

$ sudo systemctl start wondershaper
$ sudo systemctl enable wondershaper
$ sudo systemctl status wondershaper

यदि आप कॉन्फ़िगरेशन फ़ाइल में मापदंडों के मूल्यों को बदलते हैं, तो आपको परिवर्तनों को प्रभावी करने के लिए wonderservice को पुनरारंभ करना होगा।

$ sudo systemctl restart wondershaper

Wondershaper सेवा को रोकने के लिए, निम्न आदेश का उपयोग करें।

$ sudo systemctl stop wondershaper

अधिक सहायता के लिए, Wondershaper Github भंडार देखें: https://github.com/magnific0/wondershaper

Wondershaper लिनक्स सिस्टम पर नेटवर्क बैंडविड्थ को सीमित करने के लिए एक ट्रैफ़िक शेपर है। इसे आज़माएं और नीचे दिए गए फ़ीडबैक फ़ॉर्म के माध्यम से अपने विचार हमारे साथ साझा करें। यदि आपको वहाँ से मिलते-जुलते किसी भी उपकरण के बारे में पता है, तो आप हमें टिप्पणियों में भी बता सकते हैं - हम आपके आभारी रहेंगे।