Re: ограничить трафик в час?
On 1 July 2016 9:14:02 pm GMT+03:00, Eugene Berdnikovwrote: >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: ограничить трафик в час?
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: ограничить трафик в час?
Eugene Berdnikov -> debian-russian@lists.debian.org @ Wed, 29 Jun 2016 10:21:16 +0300: >> В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут >> привлекателен именно как самовосстанавливающаяся квота, а не как шейпер. > С точки зрения чистой математики это одно и то же. Насколько я понял, не вполне. То есть совсем идеальным решением было бы, когда квота устанавливается в момент выдачи адреса, с учетом MAC и того, не протухла ли она (чтобы реконнект не очищал квоту), и честно действует два часа, но прежде чем писать такой хук к dhcpd, если уж писать, треба еще подумать. > А что там показывает проверка, hashlimit действительно квотирует > объём трафика в байтах? Пока ничего. Вычитано сие на jessie, а на роутере пока wheezy, там hashlimit этого еще не умеет (и по ману тоже). Если в ближайшее время соберусь сапгрейдить, проверю.
Re: ограничить трафик в час?
On Wed, Jun 29, 2016 at 01:05:07AM +0300, Artem Chuprina wrote: > В общем, да, задача скорее на квоты, чем на шейпинг, и hashlimit мне тут > привлекателен именно как самовосстанавливающаяся квота, а не как шейпер. С точки зрения чистой математики это одно и то же. А что там показывает проверка, hashlimit действительно квотирует объём трафика в байтах? Вот досада, не знаю как следует правильно переводить leaky bucket и token bucket на русский технический. Вроде избитая тема, а в голове она вся на английском. :) -- Eugene Berdnikov
Re: ограничить трафик в час?
Кузьмин Андрей -> 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: ограничить трафик в час?
Помнится мне есть такая утила шейпер называется, может с помощью нее все решить можно? 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: ограничить трафик в час?
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: ограничить трафик в час?
On Tue, Jun 28, 2016 at 10:14:30AM +0300, Artem Chuprina wrote: > Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ > в интернет, с ограничением вида "10 мегабайт на хост за два часа". ... > Посмотрел на hashlimit у iptables - оно умеет только в секунду. Судя по ману, hashlimit умеет и часы, и даже дни. Однако для этой задачи он плох тем, что в burst ему можно указать лишь число пакетов, а не объём трафика. -- Eugene Berdnikov
Re: ограничить трафик в час?
On Tue, Jun 28, 2016 at 10:14:30AM +0300, Artem Chuprina wrote: > Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ > в интернет, с ограничением вида "10 мегабайт на хост за два часа". > Именно за два часа, меня устроит, если он их все использует за минуту, > но потом ему доступ отрубят. ... > Есть у нас что-нибудь, что может за два часа считать? Ну и сбрасывать > насчитанное со временем, понятно. Для iptables есть модуль quota, можно наполнять "ведро" каждые два часа. Или каждый час по половинке, и т.д. -- Eugene Berdnikov
Re: ограничить трафик в час?
у меня сто мегабит дома, микротик позволяет с пол пинка поднять сеть гостевую, выделил туда 5 мегабит. Естественно даже не заметно. Не, если чисто из академического интереса - писать какую-то обвязку для айпитейблсов, считать трафик ну и принимать какие-то решения на этом основании. Только не понимаю какое отношение рейт трафика имеет к ограничению по объему, 10 мегабайт может быть и за одну минуту, а потом просто не надо трафика 28 июня 2016 г., 10:14 пользователь Artem Chuprinaнаписал: > Хмутро. > > Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ > в интернет, с ограничением вида "10 мегабайт на хост за два часа". > Именно за два часа, меня устроит, если он их все использует за минуту, > но потом ему доступ отрубят. > > (Идея в том, что есть некий интернет-задрот, который приходит отнюдь не > серфить по интернету, но у него типа рабочее пространство в облаке; > меня, в общем, устроит, если он будет работать в облаке, но не устроит, > если его винда начнет через меня слать свою телеметрию, спам/вирусы > (буде он ее заразит) или на автопилоте, увидев интернет, качать > торренты. Ну и... Не сумел ограничить аппетиты винды - живи без > облака. Сумел - можешь пользоваться облаком. Интернет-задрот ты или > где?) > > Отдельная подсеть, роутер - дебиан. > > Посмотрел на hashlimit у iptables - оно умеет только в секунду. tc, > кажется, тоже. На крайний случай, конечно, и в секунду можно ужать, но > получится либо очень медленно, либо потенциально очень много за два > часа-то. > > Есть у нас что-нибудь, что может за два часа считать? Ну и сбрасывать > насчитанное со временем, понятно. > >
ограничить трафик в час?
Хмутро. Я хочу предоставлять некоторым визитерам своей квартиры гостевой доступ в интернет, с ограничением вида "10 мегабайт на хост за два часа". Именно за два часа, меня устроит, если он их все использует за минуту, но потом ему доступ отрубят. (Идея в том, что есть некий интернет-задрот, который приходит отнюдь не серфить по интернету, но у него типа рабочее пространство в облаке; меня, в общем, устроит, если он будет работать в облаке, но не устроит, если его винда начнет через меня слать свою телеметрию, спам/вирусы (буде он ее заразит) или на автопилоте, увидев интернет, качать торренты. Ну и... Не сумел ограничить аппетиты винды - живи без облака. Сумел - можешь пользоваться облаком. Интернет-задрот ты или где?) Отдельная подсеть, роутер - дебиан. Посмотрел на hashlimit у iptables - оно умеет только в секунду. tc, кажется, тоже. На крайний случай, конечно, и в секунду можно ужать, но получится либо очень медленно, либо потенциально очень много за два часа-то. Есть у нас что-нибудь, что может за два часа считать? Ну и сбрасывать насчитанное со временем, понятно.