มีวิธีง่ายๆในการ จำกัด การใช้งานแบนด์วิดธ์ของผู้ใช้หรือไม่?


14

มีวิธีง่าย ๆ ในการ จำกัด การใช้แบนด์วิดท์ของผู้ใช้ให้พูดถึง 10kpbs หรือไม่? ผู้ใช้รายอื่นไม่ควรได้รับผลกระทบ สิ่งที่ดีที่สุดที่ฉันพบคือ tc แต่มันดูซับซ้อนเกินไปที่จะทำสิ่งง่าย ๆ


ถ้าคำตอบที่ได้รับแก้ปัญหาของคุณ (ฉันหวังว่าอย่างนั้น) โปรดเลือกเป็นที่ยอมรับเพื่อให้ปัญหานี้สามารถแก้ไขได้ทำเครื่องหมายว่าเป็น ..
heemayl

คำตอบ:


8

tc คือคำตอบที่ถูกต้องสำหรับการกำหนดค่าของคุณ
tc อาจดูซับซ้อนเพราะจัดการกับสาวกที่เข้าคิวแบบ classfull (และน้อยกว่า) ซึ่งให้ความยืดหยุ่นแบบไม่ จำกัด และเลเยอร์ของรูปร่างและการกรอง
อย่างไรก็ตามนี่ไม่ใช่กรณี ในฐานะที่เป็น 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 ของคุณเพียงแค่เปลี่ยน - uid-owner เป็น uid ของผู้ใช้ที่คุณต้องการ จำกัด เอกสารประกอบบอกว่าคุณสามารถใช้ชื่อผู้ใช้แทน UID ได้ยังไม่ได้ทดสอบว่า

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

ถึงแม้ว่าคุณไม่ต้องการ HTB ก็ตามฉันขอแนะนำตามตัวเลือกที่มีและความเร็วที่คุณ จำกัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.