sirmax Posted November 17, 2015 Posted November 17, 2015 (edited) [...] bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину Как вы это поняли? я прогнал тестом с 128 кбит и дальше на каждом шаге умножая на 2 и получил вот что. На первый взгляд работает верно. Сохранил картинку только для малых скоростей правда ограничив по вертикальной оси - иначе тяжело что то понять было. Тест единственной сессией TCP? Возможно похоже на "биение" скорости, типично если нет PID алгоритма(или его аналога) в TCP congestion control на передающем устройстве и в шейпере. Нет, тест по моему в 5 или 10 сессий но да - TCP и запущенных практически одновременно. iperf но параметры смогу сказать позже. Запускался на виртуалках с целью грубой оценки. Но на тех же ВМках на той же лабе HTC/HFSC работало как ожидаемо. Edited November 18, 2015 by sirmax Вставить ник Quote
SiXeD Posted November 17, 2015 Posted November 17, 2015 Есть, но это увеличит нагрузку, что не целесообразно. Просто знайте, что bps это средняя скорость за весь период. В крайнем случае, можно это убрать из статистики раз это вводит в заблуждение. как на счёт параметра как HTB options sch_htb htb_rate_est=1 кому надо выводить, а по (default 0) Вставить ник Quote
aabc Posted November 18, 2015 Author Posted November 18, 2015 Есть, но это увеличит нагрузку, что не целесообразно. Просто знайте, что bps это средняя скорость за весь период. В крайнем случае, можно это убрать из статистики раз это вводит в заблуждение. как на счёт параметра как HTB options sch_htb htb_rate_est=1 кому надо выводить, а по (default 0) А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у cisco такого нет.) Только ради прикола, посмотреть на меняющиеся цифры? Вставить ник Quote
SiXeD Posted November 19, 2015 Posted November 19, 2015 А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у cisco такого нет.) Только ради прикола, посмотреть на меняющиеся цифры? прост привык, есть абоненты в потолок грузят свой канал, вот и сделал вывод в биллинг просмотр статистики в режиме онлайн, тот же спидтест я вижу что он замеряет. Вставить ник Quote
aabc Posted November 19, 2015 Author Posted November 19, 2015 (edited) А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у cisco такого нет.) Только ради прикола, посмотреть на меняющиеся цифры? прост привык, есть абоненты в потолок грузят свой канал, вот и сделал вывод в биллинг просмотр статистики в режиме онлайн, тот же спидтест я вижу что он замеряет. Можно сделать сброс статистики в 0. Хотя... Хотя, можно даже без сброса выводить статистику, которую вы хотите парся уже существующие файлы - счётчики трафика же есть (и в пакетах, и в байтах). Правильная идеология состоит в том, что модуль ядра должен хорошо выполнять свою прямую функцию, а то, что можно делать в userspace должно быть там. Модуль предоставляет статистику из которой можно подсчитать битерйты perl скриптиком. ps. EWMA rate эстиматор нужен для работы CBQ для определения состояния overlimit. Так как "HTB is meant as a more understandable and intuitive replacement for the CBQ", то по "историческим причинам" они тоже сделали рассчет ewma rate, но, так как он там не необходим, то он отключаем через htb_rate_est. В ipt-ratelimit используется более простой алгоритм TBF, где эта эстимация изначально вообще не была нужна. Edited November 19, 2015 by aabc Вставить ник Quote
bomberman Posted November 23, 2015 Posted November 23, 2015 Автору огромное спасибо за разработку и успехов в дальнейшей разработке. Отличная штука. Надеюсь проэкт не осеротеет, и будет развиваться. Вставить ник Quote
aabc Posted December 7, 2015 Author Posted December 7, 2015 (edited) есть возможность вывести реальный битрейт для отслеживания онлайн Сделал (в git), средний битрейт за последние ~8 секунд. Edited December 7, 2015 by aabc Вставить ник Quote
boco Posted December 8, 2015 Posted December 8, 2015 скажите, а функционал "echo :hotdrop > /proc/net/ipt_ratelimit/name0" (и прочих :flush, :match, :nomatch) в будущем, несмотря на удаление из документации, сохранится? очень полезная фича. экономит пару правил и позволяет не использовать ipset. Вставить ник Quote
aabc Posted December 8, 2015 Author Posted December 8, 2015 boco Хорошо, что вы сказали. Думаю оставить. Вставить ник Quote
stasn1 Posted December 8, 2015 Posted December 8, 2015 А как обстоят дела с внедрением поддержки префиксов? Вставить ник Quote
Igor Diakonov Posted December 8, 2015 Posted December 8, 2015 скажите, а функционал "echo :hotdrop > /proc/net/ipt_ratelimit/name0" (и прочих :flush, :match, :nomatch) в будущем, несмотря на удаление из документации, сохранится? очень полезная фича. экономит пару правил и позволяет не использовать ipset. А можно вас попросить поподробнее рассказать как вы hotdrop используете? Я чёт сходу не приудмал, но может мысль куда-то не в ту сторону пошла... Вставить ник Quote
boco Posted December 9, 2015 Posted December 9, 2015 А можно вас попросить поподробнее рассказать как вы hotdrop используете? Я чёт сходу не приудмал, но может мысль куда-то не в ту сторону пошла... пишем всего два правила на весь фаервол -A FORWARD -i eth0 -m ratelimit --ratelimit-set download --ratelimit-mode dst -j DROP -A FORWARD -i eth1 -m ratelimit --ratelimit-set upload --ratelimit-mode src -j DROP делаем дроп не присутствующих в сетах адресов. и все, готов poor man's шейпер для клиентов. добавляешь клиента в сеты - трафик клиента ходит. удаляешь - заблокировал, типа. =) любители развесистых фаерволов, наверное, осудят. но по сути от железки (в моем случае) нужно только это - открыть/закрыть доступ в сеть и нарезать полосу. дурацкая идея: а можно добавить в модуль функционал ограничения не только bps, но и pps? а то, знаете ли, бывают любители пофлудить. =) Вставить ник Quote
SiXeD Posted December 9, 2015 Posted December 9, 2015 есть возможность вывести реальный битрейт для отслеживания онлайн Сделал (в git), средний битрейт за последние ~8 секунд. очень очень хорошо работает, спасибо Вставить ник Quote
wed Posted December 9, 2015 Posted December 9, 2015 А подмена nexthop это наверное уже наглость будет? Использую с пару месяцев - шикарно Вставить ник Quote
GrandPr1de Posted December 9, 2015 Posted December 9, 2015 (edited) А можно вас попросить поподробнее рассказать как вы hotdrop используете? Я чёт сходу не приудмал, но может мысль куда-то не в ту сторону пошла... пишем всего два правила на весь фаервол -A FORWARD -i eth0 -m ratelimit --ratelimit-set download --ratelimit-mode dst -j DROP -A FORWARD -i eth1 -m ratelimit --ratelimit-set upload --ratelimit-mode src -j DROP делаем дроп не присутствующих в сетах адресов. и все, готов poor man's шейпер для клиентов. добавляешь клиента в сеты - трафик клиента ходит. удаляешь - заблокировал, типа. =) любители развесистых фаерволов, наверное, осудят. но по сути от железки (в моем случае) нужно только это - открыть/закрыть доступ в сеть и нарезать полосу. Наконецто у линукса родился нормальный шейпер, такой же красивый как фришний дамминет Edited December 9, 2015 by GrandPr1de Вставить ник Quote
enots Posted December 9, 2015 Posted December 9, 2015 А подмена nexthop это наверное уже наглость будет? что за подмена nexthop? Вставить ник Quote
aabc Posted December 9, 2015 Author Posted December 9, 2015 Спасибо. А как обстоят дела с внедрением поддержки префиксов? В процессе. дурацкая идея: а можно добавить в модуль функционал ограничения не только bps, но и pps? а то, знаете ли, бывают любители пофлудить. =) Какие хотели бы значения ставить? А подмена nexthop это наверное уже наглость будет? Какая связь с ratelimit? Вставить ник Quote
wed Posted December 9, 2015 Posted December 9, 2015 Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Вставить ник Quote
NiTr0 Posted December 9, 2015 Posted December 9, 2015 тогда уж опционально mark пакетам добавлять, которые попали/не попали на правило полисера... Вставить ник Quote
aabc Posted December 9, 2015 Author Posted December 9, 2015 А подмена nexthop это наверное уже наглость будет? Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Так nexthop или dst ip? Вставить ник Quote
Igor Diakonov Posted December 9, 2015 Posted December 9, 2015 делаем дроп не присутствующих в сетах адресов. и все, готов poor man's шейпер для клиентов. добавляешь клиента в сеты - трафик клиента ходит. удаляешь - заблокировал, типа. =) А, ну так-то да. Я думал может в "развесистом" варианте нашлось какое-то применение :) Спасибо всё равно :) Вставить ник Quote
boco Posted December 10, 2015 Posted December 10, 2015 дурацкая идея: а можно добавить в модуль функционал ограничения не только bps, но и pps? а то, знаете ли, бывают любители пофлудить. =) Какие хотели бы значения ставить? эмпирически. =) скажем если у товарища аплоад 10 мбит и от него прет 20кппс (примерно столько влезет 60-байтовых пакетиков в такую полосу), то это явно синфлуд. у нас average packet size около 700 байт. вот от этого значения бы и плясал. Я думал может в "развесистом" варианте нашлось какое-то применение :) да точно такое же. =) Вставить ник Quote
wed Posted December 10, 2015 Posted December 10, 2015 А подмена nexthop это наверное уже наглость будет? Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Так nexthop или dst ip? А что сделать проще? Хотелось бы решить вопрос с показом абоненту страницы блокировки. Я так понимаю это можно решить либо подменой nexthop (пакет прилетит на сервер с страницей блокировки) либо с подменой dst ip (пакет так же прилетит сервер с страницей блокировки) Или этот вопрос вообще никак не относится к ipt-ratelimit и должен решаться другими способами? Вставить ник Quote
bomberman Posted December 10, 2015 Posted December 10, 2015 (edited) Или этот вопрос вообще никак не относится к ipt-ratelimit и должен решаться другими способами? ИМХО, Да. Ограничение pps, понятно. Возможно пригодится. А вот перенаправление - уже как по мне лишнее в модуле полисера. Edited December 10, 2015 by bomberman Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.