Làm thế nào để hạn chế băng thông mạng?


74

Chúng tôi đang lưu trữ một ứng dụng trên máy chủ từ xa. Chúng tôi cần kiểm tra nó với băng thông mạng hạn chế (đối với người dùng có truy cập Internet xấu).

Tôi có thể giới hạn băng thông internet của mình không? Ví dụ: 128 KB mỗi giây.

Câu trả lời:


68

Bạn có thể điều tiết băng thông mạng trên giao diện bằng lệnh có tên tcMan page có sẵn tại http://linux.die.net/man/8/tc

Đối với một kịch bản đơn giản, hãy thử wonderershaper .

Một ví dụ từ việc sử dụng tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540


6
Liên kết đến atmail nhắc nhở về ủy quyền tên người dùng / mật khẩu cho tôi ... :(
Ash

1
Bạn có thể truy cập nội dung atmail tại đây: web.archive.org/web/20130719031908/http://atmail.com/kb/2009/ trên
Tom Saleeba

muộn còn hơn không nếu bạn gonna sử dụng một router busybox một phương pháp tốt hơn là tclệnh, bạn có thể kiểm tra bài đánh dấu ở đây mark.koli.ch/... wiki OpenVZ có nhiều ví dụ openvz.org/Traffic_shaping_with_tc
nwgat

có vẻ như cũng có thể giới hạn băng thông với iptables (bạn có thể chỉnh sửa câu trả lời nếu cần): serverfault.com/questions/52027/ trên
baptx

62

Như đã lưu ý trong câu trả lời trước, wonderershaper thực hiện công việc một cách dễ dàng. Tôi bao gồm các thông tin từ liên kết trên của Jwalanta Shrestha

apt-get install wondershaper

wonderershaper - Một công cụ dễ dàng để giới hạn băng thông của một giao diện cụ thể.

$ sudo wondershaper {interface} {down} {up}

{down} và {up} là băng thông tính bằng kpbs

Vì vậy, ví dụ nếu bạn muốn giới hạn băng thông của giao diện eth1 xuống 256kbps đường xuống và đường lên 128kbps,

$ sudo wondershaper eth1 256 128

Để xóa giới hạn,

$ sudo wondershaper clear eth1 

2
Tốt nhất, bạn nên chỉnh sửa câu trả lời ban đầu thay vì thêm câu trả lời mới. Đây là chính sách tiêu chuẩn. Dù sao, +1 cho câu trả lời của bạn, vì nó không thêm thông tin vào câu trả lời.
shivams

2
Điều này rất hữu ích nếu bạn đang kết nối dữ liệu di động và có giới hạn sử dụng hợp lý (và bạn phải mua các gói mới sau, trường hợp cho Lycamobile). Trên các trang web phát video như YouTube, toàn bộ video được tải trực tiếp nếu bạn có đủ băng thông. Nếu bạn giới hạn băng thông, video sẽ tự động chuyển sang độ phân giải thấp và chỉ tải xuống những gì bạn đang xem, giúp lưu dữ liệu nếu bạn không muốn xem mọi thứ.
baptx

2
Usefull cũng để tải lên các tệp lớn, vì nó không chỉ giới hạn băng thông, mà còn ưu tiên lưu lượng. Vì vậy, khi tải lên tệp 10gb bạn vẫn có thể sử dụng SSH.
PeterM


10

Giới hạn tài nguyên mạng dựa trên một số tiêu chí là chủ đề của QoS . Có một số cách khác nhau để kiểm soát lưu lượng người dùng trên các hệ thống Linux.

Có một hướng dẫn tốt về các kỹ thuật định tuyến tiên tiến và kiểm soát lưu lượng trên Linux của Bert Hubert.


2
Bạn đã đề cập đến một phần cụ thể trong đó?
rogerdpack

1
Nếu bạn không muốn thay đổi cài đặt hệ thống, chỉ cần cài đặt proxy squid3 sau đó đặt ứng dụng "giới hạn" của bạn thông qua proxy. Đối với ứng dụng cli, bạn có thể đặt torsocks hoặc proxy, và đối với ứng dụng GUI nặng, bạn cũng có thể cài đặt Fiddler mono, vì vậy, có ... có một số cách để kiểm soát mọi thứ :)
erm3nda

(đây chỉ là một câu trả lời liên kết)
Konrad Gajewski

7

Nếu bạn đã có một thiết lập Apache ở đâu đó, bạn có thể sử dụng mod_bw, nó cũng hoạt động trên các kết nối được ủy quyền (tức là Apache chỉ chuyển tiếp mọi thứ đến máy chủ phù hợp, nhưng làm chậm các phản hồi.)


6

Dummynet làm những gì bạn muốn và hơn thế nữa, bạn thậm chí có thể kiểm soát độ trễ, mất gói ngẫu nhiên và nhiều hơn nữa.


6

Bạn cũng có thể sử dụng mô-đun hashlimit iptables. Đây là một ví dụ đơn giản:

iptables -A FORWARD -m hashlimit --hashlimit-trên 512kb / giây --hashlimit-nổ 1mb --hashlimit-mode srcip, dstip --hashlimit-name bwlimit -j DROP

Quy tắc đó giới hạn lưu lượng đi qua chuỗi FORWARD là 512kb / giây với cụm 1mb cho mỗi cặp nguồn và đích.

Kiểm tra phần hashlimit của hướng dẫn iptables để biết thêm thông tin.

http://ipset.netfilter.org/iptables-extensions.man.html

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.