Неточное ограничение полосы пропускания в очередях altq

Я настраиваю среду, в которой у меня есть один server Linux, один маршрутизатор OpenBSD и один клиент Linux, и я хочу ограничить пропускную способность, которую клиент сможет использовать.

Я выполнял эти тесты с помощью «netcat» и «time» (используя time для измерения времени передачи с netcat), и что происходит при попытке этих тестов (используя протокол TCP, очереди по какой-то причине не работают с UDP) заkeyается в том, что очереди не являются точными.

Например: при настройке предела пропускной способности 10 Мбит клиент не может использовать более пяти мегабайт при установке лимита в 100 Мбит, клиент не может использовать более 50 мбит.

Конфигурация выглядит примерно так: (используя предел 100 мбит в примере):

#queue rules altq on { $int_if, $ext_if } cbq bandwidth 100Mb queue { def, low } queue def bandwidth 0Mb cbq(default) queue low bandwidth 100Mb cbq(default) #Passrules test pass out quick from $int_if to $ext_if queue low pass in quick from $ext_if to $int_if queue low pass out quick from $ext_if to $int_if queue low pass in quick from $int_if to $ext_if queue low 

One Solution collect form web for “Неточное ограничение полосы пропускания в очередях altq”

В моем опыте работы с altq вам действительно нужно добавить red , rio или ecn вариант в ваши ограничивающие очереди, иначе по мере приближения к насыщению (физическому или виртуальному очереди) у вас появятся неприятные ситуации. Взгляните на раздел о RED (Random Early Detection) в альт-хау для получения дополнительной информации.

Кроме того, две проблемы с вашим fragmentом выше:

  1. У вас есть две очереди по default : это недопустимо (на самом деле pf должен подбрасывать его).
  2. У одной из ваших очередей less полосы пропускания (0 Мб)? – Это, вероятно, не то, что вы хотели / имели в viewу …
  • Настройка PF для маршрутизации между доменами маршрутизации
  • Разумные настройки ограничения скорости с помощью PF-брандмауэра
  • FreeBSD pf Выходная filterация
  • используя «include» как заявление в pf.conf, чтобы вkeyить некоторые части из других fileов
  • Перенаправление pfctl на OSX получает ошибку
  • apache / mysql не может подkeyаться к тюрьме с помощью PF-брандмауэра
  • Как можно перенаправить на новый хост весь трафик, предназначенный для старого хоста?
  • Не удается get доступ к serverу по адресу loopback, только на личном адресе
  • OpenBSD не может установить ограничение на fragment более 6144
  • Блокировать requestы Google на 16k с помощью брандмауэра pf
  • Локальный прозрачный proxy OS X pf
  • Interesting Posts

    Как проверить, поддерживается ли TLS 1.2 на удаленном веб-serverе из оболочки RHEL / CentOS?

    Rsyslog. Как подсчитывать сообщения, отправленные в кафку

    Как я могу использовать iptables / route для маршрутизации трафика с одного локального сетевого устройства через свой собственный шлюз?

    Контрольная точка VPN-1 R60 и 64-разрядный клиент Windows 7

    Технологии, позволяющие распределить масштаб на YouTube?

    Несколько serverов лицензирования RDS

    Identity vs CA Certs во взаимном serverе TLS

    Существуют ли какие-либо бесплатные авто-запускаемые VM-продукты?

    lxc / docker wake on lan?

    Как запустить программу, отмеченную как требующую повышения через UAC без фактической высоты в Windows 7?

    Является ли доля Samba более быстрой, используя частный IP, а не публичный IP?

    Как разные пользователи могут совместно использовать компьютеры в сети Windows?

    Каков наиболее распространенный метод предоставления пользователей в Exchange и Active Directory?

    httperf burstlength при использовании wsesslog

    Можно перенаправить с HTTPS на HTTP за балансировщик нагрузки?