Re: ограничить трафик в час?

2016-07-03 Пенетрантность Artem Chuprina


On 1 July 2016 9:14:02 pm GMT+03:00, Eugene Berdnikov  wrote:
>On Wed, Jun 29, 2016 at 10:54:20AM +0300, Artem Chuprina wrote:
>> Eugene Berdnikov -> debian-russian@lists.debian.org  @ Wed, 29 Jun
>2016 10:21:16 +0300:
>>  >  А что там показывает проверка, hashlimit действительно квотирует
>>  >  объём трафика в байтах?
>> 
>> Пока ничего.  Вычитано сие на jessie, а на роутере пока wheezy, там
>> hashlimit этого еще не умеет (и по ману тоже).
>> 
>> Если в ближайшее время соберусь сапгрейдить, проверю.
>
>Поигрался немного с hashlimit, и должен сказать что совершенно не
>понимаю
> что он делает... :) Ни в плане счёта пакетов, ни в плане счёта байтов.
> Во всяком случае, увязать значения счётчиков пакетов/байт с заданными
> при загрузке параметрами мне лично не удаётся.
>
> Для сравнения: модули limit и quota ведут себя полностью предсказуемо,
> я получаю от них именно тот трафик, который задал параметрами.

Счетчики (в /proc/net) там в попугаях, это ... ну, не факт, что 
документировано, но гуглится. А сравнить с реальным трафиком пока руки не 
дошли. С пакетами я пытался ставить малые лимиты, но не считал при этом строки 
в выхлопе tcpdump. 

Надо посмотреть поаккуратнее, наверное.
-- 
Best regards, Artem.



Re: ограничить трафик в час?

2016-07-01 Пенетрантность Eugene Berdnikov
On Wed, Jun 29, 2016 at 10:54:20AM +0300, Artem Chuprina wrote:
> Eugene Berdnikov -> debian-russian@lists.debian.org  @ Wed, 29 Jun 2016 
> 10:21:16 +0300:
>  >  А что там показывает проверка, hashlimit действительно квотирует
>  >  объём трафика в байтах?
> 
> Пока ничего.  Вычитано сие на jessie, а на роутере пока wheezy, там
> hashlimit этого еще не умеет (и по ману тоже).
> 
> Если в ближайшее время соберусь сапгрейдить, проверю.

 Поигрался немного с hashlimit, и должен сказать что совершенно не понимаю
 что он делает... :) Ни в плане счёта пакетов, ни в плане счёта байтов.
 Во всяком случае, увязать значения счётчиков пакетов/байт с заданными
 при загрузке параметрами мне лично не удаётся.

 Для сравнения: модули limit и quota ведут себя полностью предсказуемо,
 я получаю от них именно тот трафик, который задал параметрами.
-- 
 Eugene Berdnikov



Re: ограничить трафик в час?

2016-06-29 Пенетрантность Artem Chuprina
Eugene Berdnikov -> debian-russian@lists.debian.org  @ Wed, 29 Jun 2016 
10:21:16 +0300:

 >> В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут
 >> привлекателен именно как самовосстанавливающаяся квота, а не как шейпер.

 >  С точки зрения чистой математики это одно и то же.

Насколько я понял, не вполне.  То есть совсем идеальным решением было
бы, когда квота устанавливается в момент выдачи адреса, с учетом MAC и
того, не протухла ли она (чтобы реконнект не очищал квоту), и честно
действует два часа, но прежде чем писать такой хук к dhcpd, если уж
писать, треба еще подумать.

 >  А что там показывает проверка, hashlimit действительно квотирует
 >  объём трафика в байтах?

Пока ничего.  Вычитано сие на jessie, а на роутере пока wheezy, там
hashlimit этого еще не умеет (и по ману тоже).

Если в ближайшее время соберусь сапгрейдить, проверю.



Re: ограничить трафик в час?

2016-06-29 Пенетрантность Eugene Berdnikov
On Wed, Jun 29, 2016 at 01:05:07AM +0300, Artem Chuprina wrote:
> В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут
> привлекателен именно как самовосстанавливающаяся квота, а не как шейпер.

 С точки зрения чистой математики это одно и то же. А что там показывает
 проверка, hashlimit действительно квотирует объём трафика в байтах?

 Вот досада, не знаю как следует правильно переводить leaky bucket и
 token bucket на русский технический. Вроде избитая тема, а в голове
 она вся на английском. :)
-- 
 Eugene Berdnikov



Re: ограничить трафик в час?

2016-06-28 Пенетрантность Artem Chuprina
Кузьмин Андрей -> Artem Chuprina  @ Tue, 28 Jun 2016 23:29:15 +0300:

 > Помнится мне есть такая утила шейпер называется, может с помощью нее все 
 > решить можно? 

Это буквосочетание tc из моего первого письма.  Та же проблема - он
заточен под аккуратное обеспечение пропускной способности,
т.е. равномерности.  И алгоритм там соответствующий.  А мне надо
ограничить трафик за довольно большой промежуток времени, совершенно не
обязательно равномерный (более того, как раз наоборот, в норме сильно
НЕравномерный).

В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут
привлекателен именно как самовосстанавливающаяся квота, а не как шейпер.

 > 28.06.2016, 11:44, "Artem Chuprina" :
 >> 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 
 >> 17280 ?
 >>
 >> (expire у него в миллисекундах...)
 >>
 >> quota тоже интересно, впрочем. Надо поэкспериментировать. С квотой
 >> только, боюсь, засада в том, что надо на каждый адрес отдельное правило.
 >> hashlimit хорош тем, что задается одно правило на всю подсеть, а считать
 >> можно попросить по каждому адресу отдельно.
 >>
 >> И задается статически. Я очень люблю свою статическую конфигурацию
 >> iptables, которая при старте системы поднимается iptables-restore из
 >> того, что было сохранено iptables-save.




Re: ограничить трафик в час?

2016-06-28 Пенетрантность Кузьмин Андрей
Помнится мне есть такая утила шейпер называется, может с помощью нее все решить 
можно? 

28.06.2016, 11:44, "Artem Chuprina" :
> 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 
> 17280 ?
>
> (expire у него в миллисекундах...)
>
> quota тоже интересно, впрочем. Надо поэкспериментировать. С квотой
> только, боюсь, засада в том, что надо на каждый адрес отдельное правило.
> hashlimit хорош тем, что задается одно правило на всю подсеть, а считать
> можно попросить по каждому адресу отдельно.
>
> И задается статически. Я очень люблю свою статическую конфигурацию
> iptables, которая при старте системы поднимается iptables-restore из
> того, что было сохранено iptables-save.




Re: ограничить трафик в час?

2016-06-28 Пенетрантность Artem Chuprina
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 
17280 ?

(expire у него в миллисекундах...)

quota тоже интересно, впрочем.  Надо поэкспериментировать.  С квотой
только, боюсь, засада в том, что надо на каждый адрес отдельное правило.
hashlimit хорош тем, что задается одно правило на всю подсеть, а считать
можно попросить по каждому адресу отдельно.

И задается статически.  Я очень люблю свою статическую конфигурацию
iptables, которая при старте системы поднимается iptables-restore из
того, что было сохранено iptables-save.



Re: ограничить трафик в час?

2016-06-28 Пенетрантность Eugene Berdnikov
On Tue, Jun 28, 2016 at 10:14:30AM +0300, Artem Chuprina wrote:
> Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ
> в интернет, с ограничением вида "10 мегабайт на хост за два часа".
...
> Посмотрел на hashlimit у iptables - оно умеет только в секунду.

 Судя по ману, hashlimit умеет и часы, и даже дни. Однако для этой
 задачи он плох тем, что в burst ему можно указать лишь число пакетов,
 а не объём трафика.
-- 
 Eugene Berdnikov



Re: ограничить трафик в час?

2016-06-28 Пенетрантность Eugene Berdnikov
On Tue, Jun 28, 2016 at 10:14:30AM +0300, Artem Chuprina wrote:
> Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ
> в интернет, с ограничением вида "10 мегабайт на хост за два часа".
> Именно за два часа, меня устроит, если он их все использует за минуту,
> но потом ему доступ отрубят.
...
> Есть у нас что-нибудь, что может за два часа считать?  Ну и сбрасывать
> насчитанное со временем, понятно.

 Для iptables есть модуль quota, можно наполнять "ведро" каждые два часа.
 Или каждый час по половинке, и т.д.
-- 
 Eugene Berdnikov



Re: ограничить трафик в час?

2016-06-28 Пенетрантность Vasiliy P. Melnik
у меня сто мегабит дома, микротик позволяет с пол пинка поднять сеть
гостевую, выделил туда 5 мегабит. Естественно даже не заметно.

Не, если чисто из академического интереса - писать какую-то обвязку для
айпитейблсов, считать трафик ну и принимать какие-то решения на этом
основании. Только не понимаю какое отношение рейт трафика имеет к
ограничению по объему, 10 мегабайт может быть и за одну минуту, а потом
просто не надо трафика

28 июня 2016 г., 10:14 пользователь Artem Chuprina 
написал:

> Хмутро.
>
> Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ
> в интернет, с ограничением вида "10 мегабайт на хост за два часа".
> Именно за два часа, меня устроит, если он их все использует за минуту,
> но потом ему доступ отрубят.
>
> (Идея в том, что есть некий интернет-задрот, который приходит отнюдь не
> серфить по интернету, но у него типа рабочее пространство в облаке;
> меня, в общем, устроит, если он будет работать в облаке, но не устроит,
> если его винда начнет через меня слать свою телеметрию, спам/вирусы
> (буде он ее заразит) или на автопилоте, увидев интернет, качать
> торренты.  Ну и...  Не сумел ограничить аппетиты винды - живи без
> облака.  Сумел - можешь пользоваться облаком.  Интернет-задрот ты или
> где?)
>
> Отдельная подсеть, роутер - дебиан.
>
> Посмотрел на hashlimit у iptables - оно умеет только в секунду.  tc,
> кажется, тоже.  На крайний случай, конечно, и в секунду можно ужать, но
> получится либо очень медленно, либо потенциально очень много за два
> часа-то.
>
> Есть у нас что-нибудь, что может за два часа считать?  Ну и сбрасывать
> насчитанное со временем, понятно.
>
>


ограничить трафик в час?

2016-06-28 Пенетрантность Artem Chuprina
Хмутро.

Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ
в интернет, с ограничением вида "10 мегабайт на хост за два часа".
Именно за два часа, меня устроит, если он их все использует за минуту,
но потом ему доступ отрубят.

(Идея в том, что есть некий интернет-задрот, который приходит отнюдь не
серфить по интернету, но у него типа рабочее пространство в облаке;
меня, в общем, устроит, если он будет работать в облаке, но не устроит,
если его винда начнет через меня слать свою телеметрию, спам/вирусы
(буде он ее заразит) или на автопилоте, увидев интернет, качать
торренты.  Ну и...  Не сумел ограничить аппетиты винды - живи без
облака.  Сумел - можешь пользоваться облаком.  Интернет-задрот ты или
где?)

Отдельная подсеть, роутер - дебиан.

Посмотрел на hashlimit у iptables - оно умеет только в секунду.  tc,
кажется, тоже.  На крайний случай, конечно, и в секунду можно ужать, но
получится либо очень медленно, либо потенциально очень много за два
часа-то.

Есть у нас что-нибудь, что может за два часа считать?  Ну и сбрасывать
насчитанное со временем, понятно.