Карамболь Posted January 16, 2007 Posted January 16, 2007 выкурил все доки которые только нашел (в том числе на этом сайте) , а решить задачку не могу :(( есть канал от провайдера на Х мегабит есть сеть с 1000 абонентами. у каждого - безлимитный тариф тарифов всего несколько штук (например 256 килобит\сек, 512 килобит\сек и 1 мегабит\сек) если всех юзеров с их тарифныи планами сложить вместе, то получится гораздо больше , чем X мегабит (в разы). это нормально, т.к. мы изначально оговораиваем, что продаем не гарантированую полосу. вопрос в том, по какому принципу мне нарезать мой X-мегабитный канал ,чтоб всем выдать инет , но не более, чем скорость тарифного плана. при этом , если в единицу времени слишком много людей одновременно качать будут, то скорость должна у всех равномерно уменьшиться, относительно своего максимального значения ? в общем, это обычная схема работы провайдера, продающего безлимитку... на ipfw это сделать - как плюнуть. а на pf по какому принципу это можно оранизовать ? заводить для каждого абонента свою очередь ? если да, то с какими параметрами? какие планировщики использовать и как впихнуть 1000 очередей (на каждого человека) в X-мегабитный канал , ведь это изначально даже в конфиге описать нельзя? p.s. а трафик надо ограничивать еще в обе стороны... геморрой короче... но возвращаться к ipfw с его пайпами тоже не хочется :( Вставить ник Quote
Akila Posted January 20, 2007 Posted January 20, 2007 Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал. Вставить ник Quote
kapa Posted January 20, 2007 Posted January 20, 2007 (edited) Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал. а если создать количество очередей равное количеству анлимов и с их скоростями, а пользователей запихивать в таблицы, которых столько же сколько анлимов, и таблицы засовывать в очереди? Edited January 20, 2007 by kapa Вставить ник Quote
Ascent77 Posted January 20, 2007 Posted January 20, 2007 А чем собственно плох ipfw, может дон его просто готовить не умеет? Вставить ник Quote
kapa Posted January 21, 2007 Posted January 21, 2007 Создаешь очередь на твою Х Мбит/с. На каждого юзверя создаешь дочернюю очередь согласно его тарифному плану. PF будет немного ругаться, что скорость родителя меньше чем сумма скоростей дочерних, но должен работать. Во всяком случае у меня работал.а если создать количество очередей равное количеству анлимов и с их скоростями, а пользователей запихивать в таблицы, которых столько же сколько анлимов, и таблицы засовывать в очереди? проверил - не получается - все абоненты засунутые в одну очередь делят её скорость поровну :( очень огорчён - хотел использовать pf для того, чтобы не городить кучу правил кратную количеству абонентов, а использовать его таблицы...теперь даже не знаю... Вставить ник Quote
Ascent77 Posted January 21, 2007 Posted January 21, 2007 (edited) Копайте в сторону, ipfw add pipe 1 ip from any to table(1) ipfw pipe 1 config mask src-ip 0x0000ffff bw 1Mbit/s ipfw add pipe 2 ip from table(1) to any ipfw pipe 2 config mask src-ip 0x0000ffff bw 1Mbit/s и будет вам счастье. P.S. А с помощью новой возможности FreeBSD, ipfw pipe tablearg ip from table(1) to any, можно вообще сделать сверхкомпактный шейпер. Edited January 22, 2007 by Ascent77 Вставить ник Quote
Maris Posted January 21, 2007 Posted January 21, 2007 v ipfw 2 pojevilas chtota tipa altq , gde mozna kazdij pipe ogranichetj i zagnatj v ocheredj. V forume gdeta zdes uze gatovoj sample.conf proskakival. PF pri takom kalichestve pravel ubjot CPU Вставить ник Quote
kapa Posted January 25, 2007 Posted January 25, 2007 всё ещё в надежде реализовать это на PF попытался осветить проблему в рассылке, но и там тотальный игнор: http://lists.freebsd.org/pipermail/freebsd...ary/002958.html Вставить ник Quote
Ascent77 Posted January 26, 2007 Posted January 26, 2007 Есть скальпель, но пытаюсь решить проблему топором. P.S. Удивляюсь вашему удивлению. Вставить ник Quote
kapa Posted January 26, 2007 Posted January 26, 2007 Есть скальпель, но пытаюсь решить проблему топором.P.S. Удивляюсь вашему удивлению. это почему PF топор, а IPFW скальпель? о_Оя не спорю, что, возмжно, придётся всё-таки реализовывать всё на IPFW, но чем он лучше-то? Вставить ник Quote
snark Posted July 9, 2008 Posted July 9, 2008 v ipfw 2 pojevilas chtota tipa altq , gde mozna kazdij pipe ogranichetj i zagnatj v ocheredj.+100500ipfw + altq работает как часы :) Вставить ник 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.