sirmax Опубликовано 17 ноября, 2015 (изменено) · Жалоба [...] bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину Как вы это поняли? я прогнал тестом с 128 кбит и дальше на каждом шаге умножая на 2 и получил вот что. На первый взгляд работает верно. Сохранил картинку только для малых скоростей правда ограничив по вертикальной оси - иначе тяжело что то понять было. Тест единственной сессией TCP? Возможно похоже на "биение" скорости, типично если нет PID алгоритма(или его аналога) в TCP congestion control на передающем устройстве и в шейпере. Нет, тест по моему в 5 или 10 сессий но да - TCP и запущенных практически одновременно. iperf но параметры смогу сказать позже. Запускался на виртуалках с целью грубой оценки. Но на тех же ВМках на той же лабе HTC/HFSC работало как ожидаемо. Изменено 18 ноября, 2015 пользователем sirmax Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 17 ноября, 2015 · Жалоба Есть, но это увеличит нагрузку, что не целесообразно. Просто знайте, что bps это средняя скорость за весь период. В крайнем случае, можно это убрать из статистики раз это вводит в заблуждение. как на счёт параметра как HTB options sch_htb htb_rate_est=1 кому надо выводить, а по (default 0) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 18 ноября, 2015 · Жалоба Есть, но это увеличит нагрузку, что не целесообразно. Просто знайте, что bps это средняя скорость за весь период. В крайнем случае, можно это убрать из статистики раз это вводит в заблуждение. как на счёт параметра как HTB options sch_htb htb_rate_est=1 кому надо выводить, а по (default 0) А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у cisco такого нет.) Только ради прикола, посмотреть на меняющиеся цифры? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 19 ноября, 2015 · Жалоба А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у cisco такого нет.) Только ради прикола, посмотреть на меняющиеся цифры? прост привык, есть абоненты в потолок грузят свой канал, вот и сделал вывод в биллинг просмотр статистики в режиме онлайн, тот же спидтест я вижу что он замеряет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 19 ноября, 2015 (изменено) · Жалоба А зачем это, если не секрет? Такая статистика никак не будет отражать работу полисинга. (По-моему даже у 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, где эта эстимация изначально вообще не была нужна. Изменено 19 ноября, 2015 пользователем aabc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 23 ноября, 2015 · Жалоба Автору огромное спасибо за разработку и успехов в дальнейшей разработке. Отличная штука. Надеюсь проэкт не осеротеет, и будет развиваться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 7 декабря, 2015 (изменено) · Жалоба есть возможность вывести реальный битрейт для отслеживания онлайн Сделал (в git), средний битрейт за последние ~8 секунд. Изменено 7 декабря, 2015 пользователем aabc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 8 декабря, 2015 · Жалоба скажите, а функционал "echo :hotdrop > /proc/net/ipt_ratelimit/name0" (и прочих :flush, :match, :nomatch) в будущем, несмотря на удаление из документации, сохранится? очень полезная фича. экономит пару правил и позволяет не использовать ipset. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 8 декабря, 2015 · Жалоба boco Хорошо, что вы сказали. Думаю оставить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
stasn1 Опубликовано 8 декабря, 2015 · Жалоба А как обстоят дела с внедрением поддержки префиксов? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Igor Diakonov Опубликовано 8 декабря, 2015 · Жалоба скажите, а функционал "echo :hotdrop > /proc/net/ipt_ratelimit/name0" (и прочих :flush, :match, :nomatch) в будущем, несмотря на удаление из документации, сохранится? очень полезная фича. экономит пару правил и позволяет не использовать ipset. А можно вас попросить поподробнее рассказать как вы hotdrop используете? Я чёт сходу не приудмал, но может мысль куда-то не в ту сторону пошла... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 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? а то, знаете ли, бывают любители пофлудить. =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SiXeD Опубликовано 9 декабря, 2015 · Жалоба есть возможность вывести реальный битрейт для отслеживания онлайн Сделал (в git), средний битрейт за последние ~8 секунд. очень очень хорошо работает, спасибо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wed Опубликовано 9 декабря, 2015 · Жалоба А подмена nexthop это наверное уже наглость будет? Использую с пару месяцев - шикарно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
GrandPr1de Опубликовано 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 шейпер для клиентов. добавляешь клиента в сеты - трафик клиента ходит. удаляешь - заблокировал, типа. =) любители развесистых фаерволов, наверное, осудят. но по сути от железки (в моем случае) нужно только это - открыть/закрыть доступ в сеть и нарезать полосу. Наконецто у линукса родился нормальный шейпер, такой же красивый как фришний дамминет Изменено 9 декабря, 2015 пользователем GrandPr1de Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 9 декабря, 2015 · Жалоба поправка: полисиер. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
enots Опубликовано 9 декабря, 2015 · Жалоба А подмена nexthop это наверное уже наглость будет? что за подмена nexthop? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 9 декабря, 2015 · Жалоба Спасибо. А как обстоят дела с внедрением поддержки префиксов? В процессе. дурацкая идея: а можно добавить в модуль функционал ограничения не только bps, но и pps? а то, знаете ли, бывают любители пофлудить. =) Какие хотели бы значения ставить? А подмена nexthop это наверное уже наглость будет? Какая связь с ratelimit? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wed Опубликовано 9 декабря, 2015 · Жалоба Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 9 декабря, 2015 · Жалоба тогда уж опционально mark пакетам добавлять, которые попали/не попали на правило полисера... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 9 декабря, 2015 · Жалоба А подмена nexthop это наверное уже наглость будет? Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Так nexthop или dst ip? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Igor Diakonov Опубликовано 9 декабря, 2015 · Жалоба делаем дроп не присутствующих в сетах адресов. и все, готов poor man's шейпер для клиентов. добавляешь клиента в сеты - трафик клиента ходит. удаляешь - заблокировал, типа. =) А, ну так-то да. Я думал может в "развесистом" варианте нашлось какое-то применение :) Спасибо всё равно :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 10 декабря, 2015 · Жалоба дурацкая идея: а можно добавить в модуль функционал ограничения не только bps, но и pps? а то, знаете ли, бывают любители пофлудить. =) Какие хотели бы значения ставить? эмпирически. =) скажем если у товарища аплоад 10 мбит и от него прет 20кппс (примерно столько влезет 60-байтовых пакетиков в такую полосу), то это явно синфлуд. у нас average packet size около 700 байт. вот от этого значения бы и плясал. Я думал может в "развесистом" варианте нашлось какое-то применение :) да точно такое же. =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
wed Опубликовано 10 декабря, 2015 · Жалоба А подмена nexthop это наверное уже наглость будет? Чтобы iptables использовать по минимуму - в случае отсутствия правила все ip переадресуются на другой сервер (подменить dst ip), а он уже показывает браузеру страницу - мол так и так - заблокирован. Так nexthop или dst ip? А что сделать проще? Хотелось бы решить вопрос с показом абоненту страницы блокировки. Я так понимаю это можно решить либо подменой nexthop (пакет прилетит на сервер с страницей блокировки) либо с подменой dst ip (пакет так же прилетит сервер с страницей блокировки) Или этот вопрос вообще никак не относится к ipt-ratelimit и должен решаться другими способами? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 10 декабря, 2015 (изменено) · Жалоба Или этот вопрос вообще никак не относится к ipt-ratelimit и должен решаться другими способами? ИМХО, Да. Ограничение pps, понятно. Возможно пригодится. А вот перенаправление - уже как по мне лишнее в модуле полисера. Изменено 10 декабря, 2015 пользователем bomberman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...