Как ограничить пропускную способность клиента? [dубликат]

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

Вся ОС. Один сетевой интерфейс. Единое приложение.
74
задан 13 August 2012 в 17:55

9 ответов

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

Вот как быстро установить ограничение на интерфейс

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

40
ответ дан 17 July 2018 в 22:36

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

Вот как быстро установить ограничение на интерфейс

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

40
ответ дан 23 July 2018 в 23:15

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

Вот как быстро установить ограничение на интерфейс

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

40
ответ дан 24 July 2018 в 13:12

Хотя это старый вопрос, я столкнулся с этим, когда искал ответ на тот же вопрос. Лимиты ОС и интерфейсов уже рассмотрены в более раннем ответе, поэтому здесь можно установить ограничения для конкретных приложений. Используйте приложение под названием trickle. Так же sudo apt-get install trickle. Вы можете ограничить загрузку / загрузку для определенного приложения, запустив

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

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

61
ответ дан 17 July 2018 в 22:36

Если вы хотите ограничить пропускную способность для определенного 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
5
ответ дан 17 July 2018 в 22:36

Хотя это старый вопрос, я столкнулся с этим, когда искал ответ на тот же вопрос. Лимиты ОС и интерфейсов уже рассмотрены в более раннем ответе, поэтому здесь можно установить ограничения для конкретных приложений. Используйте приложение под названием trickle. Так же sudo apt-get install trickle. Вы можете ограничить загрузку / загрузку для определенного приложения, запустив

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

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

61
ответ дан 23 July 2018 в 23:15
  • 1
    Большое спасибо! Это решение идеально подходит для управления пропускной способностью для каждого приложения. Пожалуйста, не стесняйтесь публиковать ответ, даже если вопрос лет. Для справок в будущем: вам может быть сообщено сообщение об ошибке, например trickle: Could not reach trickled, working independently: No such file or directory. Вы можете удалить это предупреждение, выполнив тоннель в автономном режиме с помощью trickle -s. – Glutanimate 18 March 2013 в 05:38
  • 2
    Как удалить ограничение, ограниченное струйкой? – Im'juz ChanYun 5 April 2013 в 21:30
  • 3
    Trickle запускает приложение для вас с соблюдением лимитов. Итак, все, что вам нужно сделать, это перезапустить приложение, не используя команду trickle. – SMeznaric 8 April 2013 в 20:48
  • 4
    Большое спасибо за этот ответ, это была точная вещь, которую я искал – Ali 17 April 2013 в 16:33
  • 5
    Этот ответ все еще качается! – Hochopepa 6 January 2017 в 17:11

Если вы хотите ограничить пропускную способность для определенного 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
5
ответ дан 23 July 2018 в 23:15
  • 1
    это было довольно запутанно. Несколько #comments пройдут долгий путь. Например, вы можете добавить ссылки или объяснения для qdiscs, classids, htb и т. Д. – oligofren 25 June 2015 в 14:03
  • 2
    Итак, по умолчанию выше всего ограничивается до 5000 кбит / с, если не фильтруется в какую-либо другую очередь? А если мы не хотим ограничить все ? – Ken Sharp 21 July 2015 в 03:21

Хотя это старый вопрос, я столкнулся с этим, когда искал ответ на тот же вопрос. Лимиты ОС и интерфейсов уже рассмотрены в более раннем ответе, поэтому здесь можно установить ограничения для конкретных приложений. Используйте приложение под названием trickle. Так же sudo apt-get install trickle. Вы можете ограничить загрузку / загрузку для определенного приложения, запустив

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

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

61
ответ дан 24 July 2018 в 13:12
  • 1
    Большое спасибо! Это решение идеально подходит для управления пропускной способностью для каждого приложения. Пожалуйста, не стесняйтесь публиковать ответ, даже если вопрос лет. Для справок в будущем: вам может быть сообщено сообщение об ошибке, например trickle: Could not reach trickled, working independently: No such file or directory. Вы можете удалить это предупреждение, выполнив тоннель в автономном режиме с помощью trickle -s. – Glutanimate 18 March 2013 в 05:38
  • 2
    Как удалить ограничение, ограниченное струйкой? – Im'juz ChanYun 5 April 2013 в 21:30
  • 3
    Trickle запускает приложение для вас с соблюдением лимитов. Итак, все, что вам нужно сделать, это перезапустить приложение, не используя команду trickle. – SMeznaric 8 April 2013 в 20:48
  • 4
    Большое спасибо за этот ответ, это была точная вещь, которую я искал – Ali 17 April 2013 в 16:33
  • 5
    Этот ответ все еще качается! – Hochopepa 6 January 2017 в 17:11

Если вы хотите ограничить пропускную способность для определенного 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
5
ответ дан 24 July 2018 в 13:12
  • 1
    это было довольно запутанно. Несколько #comments пройдут долгий путь. Например, вы можете добавить ссылки или объяснения для qdiscs, classids, htb и т. Д. – oligofren 25 June 2015 в 14:03
  • 2
    Итак, по умолчанию выше всего ограничивается до 5000 кбит / с, если не фильтруется в какую-либо другую очередь? А если мы не хотим ограничить все ? – Ken Sharp 21 July 2015 в 03:21

Другие вопросы по тегам:

Похожие вопросы: