Кузьмин Андрей -> Artem Chuprina @ Tue, 28 Jun 2016 23:29:15 +0300:
> Помнится мне есть такая утила шейпер называется, может с помощью нее все > решить можно? Это буквосочетание tc из моего первого письма. Та же проблема - он заточен под аккуратное обеспечение пропускной способности, т.е. равномерности. И алгоритм там соответствующий. А мне надо ограничить трафик за довольно большой промежуток времени, совершенно не обязательно равномерный (более того, как раз наоборот, в норме сильно НЕравномерный). В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут привлекателен именно как самовосстанавливающаяся квота, а не как шейпер. > 28.06.2016, 11:44, "Artem Chuprina" <r...@lasgalen.net>: >> Eugene Berdnikov -> debian-russian@lists.debian.org @ Tue, 28 Jun 2016 >> 10:59:49 +0300: >> >> >> Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ >> >> в интернет, с ограничением вида "10 мегабайт на хост за два часа". >> > ... >> >> Посмотрел на hashlimit у iptables - оно умеет только в секунду. >> >> > Судя по ману, hashlimit умеет и часы, и даже дни. Однако для этой >> > задачи он плох тем, что в burst ему можно указать лишь число пакетов, >> > а не объём трафика. >> >> Я почитал более тщательно. Время он умеет только при количестве >> пакетов. При байтах - только секунду. >> >> С другой стороны, в burst можно указывать байты. В соответствующем >> абзаце это сказано не шибко внятно, но там пример на это есть. >> >> Я вот думаю, может, для простоты сделать >> >> --hashlimit-above 1b/s --hashlimit-burst 10mb --hashlimit-htable-expire >> 172800000 ? >> >> (expire у него в миллисекундах...) >> >> quota тоже интересно, впрочем. Надо поэкспериментировать. С квотой >> только, боюсь, засада в том, что надо на каждый адрес отдельное правило. >> hashlimit хорош тем, что задается одно правило на всю подсеть, а считать >> можно попросить по каждому адресу отдельно. >> >> И задается статически. Я очень люблю свою статическую конфигурацию >> iptables, которая при старте системы поднимается iptables-restore из >> того, что было сохранено iptables-save.