Вот такая ситуёвина:
Каждый юзер должен получить свой канал с определённой скоростью, прочитал про пайпы и начал делать, но одну вещь я недопонял: Нужно ли для каждого юзера делать свой пайп или можно их всех пропускать через одну трубу?Тоесть вопрос таков: Если несколько юзеров пропустить через одну трубу, то траффик будет резаться отдельно на каждого или на всех сразу?
И объясните пожалуйста смысл check-state, что-то я не врубился..
И последнее, какие правила называются динамическими?ЗЫ: В документации этого сервера уже читал про ipfw, тупой я %]
>Вот такая ситуёвина:
>Каждый юзер должен получить свой канал с определённой скоростью, прочитал про пайпы
>и начал делать, но одну вещь я недопонял: Нужно ли для
>каждого юзера делать свой пайп или можно их всех пропускать через
>одну трубу?
>
>Тоесть вопрос таков: Если несколько юзеров пропустить через одну трубу, то траффик
>будет резаться отдельно на каждого или на всех сразу?смотря как пропустить ;)
ты юзеров по ИП рассматриваешь?
тогда ключевое слово - maskipfw pipe 1 config bw 128Kbit/s mask dst-ip 0xffffffff
ipfw add XXXXX pipe 1 ip from any to 192.168.1.0/24 out via _iface_если не ошиблась в синтаксисе, то это позволит на каждый хост назначения из подсети 192.168.1.0/24 создать трубу с bw 128Kbit/s, то есть весь траффик _К_ каждому из этих хостов будет идти на этой скорости
ipfw pipe 2 config bw 64Kbit/s mask all
ipfw add YYYYY pipe 2 tcp from any to any via _iface_здесь на кажую пару сокетов TCP своя "труба" в 64Kbit/s
(здесь сокет - IP_address:port).ну и остальное в мане ;)
>
>И объясните пожалуйста смысл check-state, что-то я не врубился..check-state всего лишь указывает, с какого момента начать заглядывать в динамические правила на предмет соответствия пакетов
>И последнее, какие правила называются динамическими?
на примере:
допустим у тебя есть такое правилоipfw add ZZZZ pass udp from me 123 to any 123 keep-state
когда твой хост лезет по NTP протоколу синхронизироваться с каким-то другим хостом, например, 1.2.3.4, создается динамическое правило, которое аналогично вот этим двум:
ipfw add pass udp from me 123 to 1.2.3.4 123
ipfw add pass udp from 1.2.3.4 123 to me 123эти правила имеют ограниченный срок жизни, потому в частности они динамические
>
>ЗЫ: В документации этого сервера уже читал про ipfw, тупой я %]
>
>>Вот такая ситуёвина:
>>Каждый юзер должен получить свой канал с определённой скоростью, прочитал про пайпы
>>и начал делать, но одну вещь я недопонял: Нужно ли для
>>каждого юзера делать свой пайп или можно их всех пропускать через
>>одну трубу?
>>
>>Тоесть вопрос таков: Если несколько юзеров пропустить через одну трубу, то траффик
>>будет резаться отдельно на каждого или на всех сразу?
>
>смотря как пропустить ;)
>ты юзеров по ИП рассматриваешь?
>тогда ключевое слово - mask
>
>ipfw pipe 1 config bw 128Kbit/s mask dst-ip 0xffffffff
>ipfw add XXXXX pipe 1 ip from any to 192.168.1.0/24 out via
>_iface_
>
>если не ошиблась в синтаксисе, то это позволит на каждый хост назначения
>из подсети 192.168.1.0/24 создать трубу с bw 128Kbit/s, то есть весь
>траффик _К_ каждому из этих хостов будет идти на этой скорости
>
>
>ipfw pipe 2 config bw 64Kbit/s mask all
>ipfw add YYYYY pipe 2 tcp from any to any via _iface_
>
>
>здесь на кажую пару сокетов TCP своя "труба" в 64Kbit/s
>(здесь сокет - IP_address:port).
>
>ну и остальное в мане ;)
>
>>
>>И объясните пожалуйста смысл check-state, что-то я не врубился..
>
>check-state всего лишь указывает, с какого момента начать заглядывать в динамические правила
>на предмет соответствия пакетов
>
>>И последнее, какие правила называются динамическими?
>
>на примере:
>допустим у тебя есть такое правило
>
>ipfw add ZZZZ pass udp from me 123 to any 123 keep-state
>
>
>когда твой хост лезет по NTP протоколу синхронизироваться с каким-то другим хостом,
>например, 1.2.3.4, создается динамическое правило, которое аналогично вот этим двум:
>
>ipfw add pass udp from me 123 to 1.2.3.4 123
>ipfw add pass udp from 1.2.3.4 123 to me 123
>
>эти правила имеют ограниченный срок жизни, потому в частности они динамические
>
>>
>>ЗЫ: В документации этого сервера уже читал про ipfw, тупой я %]
>>шейпер хреново работает с подобными масками ...лучше отдельно прописывать для каждого )
>>>Вот такая ситуёвина:
>>>Каждый юзер должен получить свой канал с определённой скоростью, прочитал про пайпы
>>>и начал делать, но одну вещь я недопонял: Нужно ли для
>>>каждого юзера делать свой пайп или можно их всех пропускать через
>>>одну трубу?
>>>
>>>Тоесть вопрос таков: Если несколько юзеров пропустить через одну трубу, то траффик
>>>будет резаться отдельно на каждого или на всех сразу?
>>
>>смотря как пропустить ;)
>>ты юзеров по ИП рассматриваешь?
>>тогда ключевое слово - mask
>>
>>ipfw pipe 1 config bw 128Kbit/s mask dst-ip 0xffffffff
>>ipfw add XXXXX pipe 1 ip from any to 192.168.1.0/24 out via
>>_iface_
>>
>>если не ошиблась в синтаксисе, то это позволит на каждый хост назначения
>>из подсети 192.168.1.0/24 создать трубу с bw 128Kbit/s, то есть весь
>>траффик _К_ каждому из этих хостов будет идти на этой скорости
>>
>>
>>ipfw pipe 2 config bw 64Kbit/s mask all
>>ipfw add YYYYY pipe 2 tcp from any to any via _iface_
>>
>>
>>здесь на кажую пару сокетов TCP своя "труба" в 64Kbit/s
>>(здесь сокет - IP_address:port).
>>
>>ну и остальное в мане ;)
>>
>>>
>>>И объясните пожалуйста смысл check-state, что-то я не врубился..
>>
>>check-state всего лишь указывает, с какого момента начать заглядывать в динамические правила
>>на предмет соответствия пакетов
>>
>>>И последнее, какие правила называются динамическими?
>>
>>на примере:
>>допустим у тебя есть такое правило
>>
>>ipfw add ZZZZ pass udp from me 123 to any 123 keep-state
>>
>>
>>когда твой хост лезет по NTP протоколу синхронизироваться с каким-то другим хостом,
>>например, 1.2.3.4, создается динамическое правило, которое аналогично вот этим двум:
>>
>>ipfw add pass udp from me 123 to 1.2.3.4 123
>>ipfw add pass udp from 1.2.3.4 123 to me 123
>>
>>эти правила имеют ограниченный срок жизни, потому в частности они динамические
>>
>>>
>>>ЗЫ: В документации этого сервера уже читал про ipfw, тупой я %]
>>>
>
>шейпер хреново работает с подобными масками ...лучше отдельно прописывать для каждого
>)
нормально шейп работает ненадо ля ля. Представь себе что у тебя больше 300 клиентов и есть скажем 90 сетей на которые ограничения для каждого клента должно быть 500Kbit/s а на всё остальное 128Кbit/s я посмотрю как ты это будешь руками для каждого ип прописывать.
>>шейпер хреново работает с подобными масками ...лучше отдельно прописывать для каждого
>>)
>нормально шейп работает ненадо ля ля. Представь себе что у тебя больше
>300 клиентов и есть скажем 90 сетей на которые ограничения для
>каждого клента должно быть 500Kbit/s а на всё остальное
>128Кbit/s я посмотрю как ты это будешь руками для каждого
>ип прописывать.полностью поддерживаю
что-то не заметила я "хреновости" в работе шейпера, если конечно нормально его настроить под себя ...
>>>шейпер хреново работает с подобными масками ...лучше отдельно прописывать для каждого
>>>)
>>нормально шейп работает ненадо ля ля. Представь себе что у тебя больше
>>300 клиентов и есть скажем 90 сетей на которые ограничения для
>>каждого клента должно быть 500Kbit/s а на всё остальное
>>128Кbit/s я посмотрю как ты это будешь руками для каждого
>>ип прописывать.
>
>полностью поддерживаю
>что-то не заметила я "хреновости" в работе шейпера, если конечно нормально его
>настроить под себя ...
а я не юзаю dummynet вот и все
Все бы хорошо, НО! У меня не все юзеры получают одинаковый траффик, они все в одной сети, но, допустим 100 получают по 64 Кбит, 40 по 128 КБит и 10 по 356 Кбит. Как такое ограничивать? На 150 клиентов "трубы" создавать, или есть какой-нибудь способ органзовать группы? Все, кроме скорости у них должно работать одинаково.
>Все бы хорошо, НО! У меня не все юзеры получают одинаковый траффик,
>они все в одной сети, но, допустим 100 получают по 64
>Кбит, 40 по 128 КБит и 10 по 356 Кбит. Как
>такое ограничивать? На 150 клиентов "трубы" создавать, или есть какой-нибудь способ
>органзовать группы? Все, кроме скорости у них должно работать одинаково.сделать три пайпа и три правила. а клиентов раскидать по разным маскам
192.168.1.0/25 - для 64кбит/с (192.168.1.1-192.168.1.126)
192.168.1.128/26 - для 128кбит/с (192.168.1.129-192.168.1.190)
192.168.1.192/28 - для 356кбит/с (192.168.1.193-192.168.1.206)