Відповіді:
Обмежувати єдиний інтерфейс досить просто, але глобальні обмеження швидкості потребують складніших правил, як і правила, засновані на застосуванні. Я не кажу, що це неможливо зробити, але це вимагає трохи заглибитися у внутрішні мережі.
Ось короткий Як встановити ліміт для кожного інтерфейсу
Якщо ви дійсно хочете налаштувати правила, що базуються на додатках, вам слід заглянути в деяку програму брандмауера, наприклад, shorewall , яка має допоміжні функції для налаштування форми. Навіть з цими інструментами, для його розміщення потрібно досить трохи продумати та випробувати. Зробити щось подібне спеціально ще не так просто.
wondershaper eth0 1000 1000
немає пропускної здатності в Інтернеті. Мені потрібно обмежити всю пропускну здатність eth0 не лише конкретними програмами. Як це зробити?
Хоча це давнє запитання, я натрапив на це, шукаючи відповіді на те саме питання. Обмеження щодо ОС та інтерфейсу вже розглянуто у попередній відповіді, тому ось спосіб встановити обмеження для конкретних програм. Скористайтеся програмою під назвою трик. Так і робити sudo apt-get install trickle
. Ви можете обмежити завантаження / завантаження для певного додатка, запустивши
trickle -u (upload limit in KB/s) -d (download limit in KB/s) application
Це запустить додаток із заданими межами. Ви також можете вказати час "згладжування", щоб випробовувати зразки протягом бажаного періоду часу, якщо у вашій програмі є сплески споживання пропускної здатності, і ви хочете, щоб спали були дозволені до тих пір, поки середнє значення буде в межах ваших умов.
trickle: Could not reach trickled, working independently: No such file or directory
. Ви можете видалити це попередження, виконавши дрібничку в автономному режимі за допомогою trickle -s
.
Якщо ви хочете обмежити пропускну здатність для конкретної IP-адреси, ви можете скористатися цим:
tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11
wondershaper
проблемі в Ubuntu 17.10, яка може бути схожа на те, що відбувається з @Zeromatiker в Ubuntu 17.04: bugs.launchpad.net/ubuntu/+source/wondershaper/+bug/1745421