Có một cách dễ dàng để hạn chế sử dụng băng thông người dùng?


14

Có cách nào dễ dàng để hạn chế sử dụng băng thông người dùng để nói 10kpbs không? Những người dùng khác không nên bị ảnh hưởng. Điều tốt nhất tôi tìm thấy là tc, nhưng dường như quá phức tạp để làm một việc đơn giản như vậy.


Nếu câu trả lời đã giải quyết được vấn đề của bạn (tôi hy vọng vậy), vui lòng chọn nó như được chấp nhận, để vấn đề này có thể được đánh dấu là đã được giải quyết ..
heemayl

Câu trả lời:


8

tc là câu trả lời chính xác cho nhu cầu cấu hình của bạn.
tc có vẻ phức tạp vì nó quản lý các môn đệ xếp hàng đầy đủ (và ít hơn), cho phép nó linh hoạt không giới hạn và các lớp định hình và lọc.
Điều này, tuy nhiên, không phải là trường hợp. Vì tc sử dụng các môn đệ xếp hàng tích hợp (hoặc mô-đun) trong kernel, đây là cách đơn giản nhất / tốt nhất để giới hạn băng thông trên cơ sở mỗi người dùng.
Đây là một thiết lập mẫu, tôi để nó ở định dạng Mbit nhưng bạn có thể thay đổi thước đo tốc độ thành 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

Đối với bạn quy tắc iptables chỉ cần thay đổi --uid-own thành uid của người dùng mà bạn muốn giới hạn, tài liệu nói rằng bạn có thể sử dụng tên người dùng thay vì UID, chưa kiểm tra điều đó.

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

FYI mặc dù bạn không cần HTB, tôi sẽ khuyên bạn nên dựa trên các tùy chọn có sẵn và tốc độ bạn đang giới hạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.