Как я могу ограничить загрузку / выгрузку?

Как я могу ограничить загрузку / загрузку пропускной способности для:

  • Вся ОС.
  • Один сетевой интерфейс.
  • Разовое приложение.

3 ответа

Решение

Ограничить единый интерфейс легко, но глобальные ограничения скорости требуют более сложных правил, как и правила, основанные на приложениях. Я не говорю, что это не может быть сделано, но для этого нужно немало покопаться во внутренностях сети.

Вот быстрый Как настроить ограничение для каждого интерфейса

Если вы действительно хотите установить правила для приложений, вам следует обратиться к некоторой среде брандмауэра, такой как shorewall, у которой есть вспомогательные функции для настройки шейпинга. Даже с этими инструментами требуется немножко продуманного и проверенного, чтобы установить его на место. Делать что-то подобное этому не так просто.

Although this is an old question, I came across this when looking for an answer to the same question. The OS and interface limits are already addressed in an earlier answer, so here is a way to set up application specific limits. Use an application called trickle. Ну действуй sudo apt-get install trickle, You can limit upload/download for a specific app by running

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

Это запустит приложение с указанными ограничениями. Вы также можете указать время "сглаживания", чтобы сэмплировать сэмплы в течение требуемого периода времени, если у вашего приложения есть всплески потребления полосы пропускания, и вы хотите, чтобы эти всплески были разрешены, если среднее значение находится в пределах ваших спецификаций.

Если вы хотите ограничить пропускную способность для определенного 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
Другие вопросы по тегам