Hạn chế băng thông đi trên một giao diện cụ thể


32

Tôi muốn biết cách dễ nhất để hạn chế băng thông đi cho một giao diện. Tôi muốn giới hạn tốc độ cổng gửi đi để việc chuyển tệp giữa các máy chủ của tôi không bị lỗi trong giờ bận rộn.

Giải pháp đơn giản nhất là gì? Tôi biết tôi có thể sử dụng iptablesnhưng tôi đang tìm kiếm một cài đặt / cấu hình đơn giản.


HTB hoạt động tuyệt vời. Tỷ lệ rất linh hoạt giới hạn. sourceforge.net/projects/htbinit

Câu trả lời:


37

ethtool

Bạn có thể thay đổi tốc độ tổng hợp của cổng NIC bằng cách sử dụng ethtool.

$ sudo ethtool -s eth0 speed 10

Điều này sẽ đặt cổng thành 10MB, ví dụ.

kỳ quan

Bạn cũng có thể sử dụng công cụ wondershaperđể làm điều đó là tốt. LƯU Ý: Tốc độ nên tính bằng kilobit trên giây.

$ sudo wondershaper eth1 downspeed upspeed

Ví dụ:

$ sudo wondershaper eth0 10000 280

nhỏ giọt

Lựa chọn thứ 3 là Trickle . Trickle có thể được sử dụng cho mỗi chương trình bởi người dùng hoặc như một daemon điều chỉnh hoàn toàn NIC.

Chế độ người dùng - trang con người nhỏ giọt

$ sudo trickle -d 20 -u 20 wget http://www.google.com/bigfile

Sẽ điều tiết 20K / giây cho cả lưu lượng lên và xuống chỉ vì điều này wget, mọi thứ khác sẽ không bị giới hạn.

Chế độ Daemon - trang người bị lừa

Trong chế độ trình nền, trickledcó thể giới hạn một nhóm chương trình ở một giới hạn băng thông cố định. Để bắt đầu daemon, hãy chạy lệnh nhỏ giọt:

$ sudo trickled -d 20 -u 20

kim tự tháp

Một lựa chọn thứ 4 là pyshaper . Đây là một tùy chọn duy nhất trong số các lựa chọn trong đó bao gồm GUI và nó tự động theo dõi và thiết lập băng thông theo thời gian. Bạn có thể kiểm tra trang man pyshaper để biết thêm chi tiết.

                                            kim tự tháp

Tài liệu tham khảo


Hạn chế sử dụng băng thông của các ứng dụng rắc rối thông qua các nhóm có lẽ cũng đáng giá nếu kernel của chúng hỗ trợ nó.
Bratchley

wonderershaper không hoạt động. Tôi không biết tại sao (ngay cả wonderershaper eth0 1000 1000` không có băng thông internet giống như `sudo trickled -d 20 -u 20`.) Tôi cần giới hạn một giao diện mạng. băng thông không chỉ các ứng dụng cụ thể. Làm thế nào có thể làm điều đó?
Arash

nhỏ giọt không làm việc cho tôi, nhưng wonderershaper đã làm điều đó!
peschü

1

Wonderershaper được chỉnh sửa lần cuối vào năm 2002 nhưng nó vẫn hoạt động trên Fedora 21 ngày hôm nay. Nhưng lưu ý, chỉ có một vài tùy chọn khả dụng dưới dạng đối số và bạn không thể chỉ định tốc độ tải lên / tải xuống trên dòng lệnh như được chỉ định ở đây - ít nhất, không phải trong Tải xuống phiên bản 1.1a, phát hành ngày 16 tháng 4 năm 2002. Bạn phải chỉnh sửa các tập tin, và nó là một kịch bản shell. Không khó cho những người biết một ít vỏ.

Cách sử dụng là:

wondershaper (cái này sẽ đặt băng thông của bạn theo các giá trị trong tệp)

wondershaper status
wondershaper stop

Bạn có thể sử dụng nó trong khi liên kết được phát trực tiếp, điều này thật tuyệt.


1

Một tùy chọn khác là ' iproute2 ' dường như là một công cụ định tuyến / định hình lưu lượng truy cập hoàn thiện và có sẵn rộng rãi. Tôi thấy nó là một RPM (có lẽ nhiều gói khác nữa, tôi đã không tìm). Theo văn bản này, phiên bản gần đây nhất là 4.4.0, được xây dựng vào ngày 25 tháng 1 năm 2016.

Nhìn qua cú pháp cấu hình, nó có vẻ tương đối đơn giản (mặc dù không đơn giản như ifconfighoặc route.)


6
Câu trả lời của bạn không giải quyết cách một người thực sự sẽ sử dụng iproute2 để hạn chế băng thông đi. Bạn có thể giải thích?
Michael
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.