क्या उपयोगकर्ता बैंडविड्थ उपयोग को सीमित करने का एक आसान तरीका है?


14

क्या 10kpbs कहने के लिए उपयोगकर्ता बैंडविड्थ उपयोग को सीमित करने का एक आसान तरीका है? अन्य उपयोगकर्ताओं को प्रभावित नहीं होना चाहिए। मैंने जो सबसे अच्छा पाया है वह tc है, लेकिन ऐसा लगता है कि इस तरह की साधारण बात करना बहुत जटिल है।


यदि दिया गया उत्तर आपकी समस्या को हल कर देता है (मुझे आशा है कि), कृपया इसे स्वीकार किए गए अनुसार चुनें, ताकि इस मुद्दे को हल किया जा सके ..
heemayl

जवाबों:


8

tc आपके विन्यास की जरूरतों का सही उत्तर है।
tc जटिल लग सकता है क्योंकि यह सहपाठियों (और कम) कतारबद्ध शिष्यों का प्रबंधन करता है जो इसे असीमित लचीलापन और आकार देने और छानने की परतें देता है।
हालांकि यह मामला नहीं है। जैसा कि टीसी कर्नेल में निर्मित (या मॉड्यूलर) कतारबद्ध शिष्यों का उपयोग करता है, यह प्रति उपयोगकर्ता आधार पर बैंडविड्थ को सीमित करने का सबसे सरल / सर्वोत्तम तरीका है।
यहाँ एक नमूना सेट-अप है, मैंने इसे Mbit प्रारूप में छोड़ दिया लेकिन आप दर माप को kbps में बदल सकते हैं।

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1Mbit ceil 1Mbit prio 1

आपके लिए iptables नियम केवल परिवर्तन - यूआईडी-स्वामी को उस उपयोगकर्ता के यूआईडी में बदल देता है जिसे आप सीमित करना चाहते हैं, प्रलेखन का कहना है कि आप यूआईडी के बजाय उपयोगकर्ताओं के नाम का उपयोग कर सकते हैं, जिसने परीक्षण नहीं किया है।

iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner --uid-owner 1000 -j CLASSIFY --set-class 1:1

FYI करें भले ही आपको HTB की आवश्यकता न हो मैं इसे उपलब्ध विकल्पों के आधार पर सुझाऊंगा और आप किस गति को सीमित कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.