Jump to content
Калькуляторы

bomberman

Активный участник
  • Content Count

    224
  • Joined

  • Last visited

Posts posted by bomberman


  1. Вот уж новость - 0.3 версия с ipv6 + CIDR

    собрал, установил, вроде всё работает.

    Только не совсем понял, почему:

    # modinfo xt_ratelimit
    filename:       /lib/modules/4.4.6-gentoo/extra/xt_ratelimit.ko
    alias:          ip6t_ratelimit
    alias:          ipt_ratelimit
    version:        0.2-12-g9ce0149
    license:        GPL
    description:    iptables ratelimit policer mt module
    author:         <abc@telekom.ru>
    srcversion:     471F63E616EFDA166CF57D4
    depends:        
    vermagic:       4.4.6-gentoo SMP mod_unload 
    parm:           hashsize:default size of hash table used to look up IPs (uint)
    

    version: 0.2 ?

    P.s. до этого стояла 0.2. Но проверил, модуль подгружается вновь собранный. Ожидал увидеть 0.3

  2. Альтруизм. Похвально. В любом случае, спасибо за наработку. Может пригодиться. Вам дальнейшего успеха в этом деле.

    p.s. подправте свой первый пост, ограничив картинки в размере, а то рвёт.

  3. Старания похвальны, но зачем?

    Как правило конфигурация пишется единажды, дальше по написанному шаблону, подстановкой параметров, и ручным измененем при необходимости под задачу. Последнее реже.

  4. тделить от тарификации определённый диапазон IP,

    Пологаю товарищу нужно это организовать именно в системе учёта. Типо, получил ip, который не привязан к тарифу, не тарифицируешься никак. Ну это как простой пример. Я понял так.

  5. Любопытно. Но верно ли я понимаю логику работы фильтра:

    Имеем 1024 - класса, которые ограничивают сессии. (1024 по 1Мб)

    Хешированием, по ключам (src,dst,proto,proto-src,proto-dst) раскидываем потоки/соеденения по этим калссам.

    А если соеденений будет более 1024. Выходит кто то будет делить между собой скорость класса?

    P.s. Я о написанном.

     

    Да.

     

    Выходит тоже кастыль, но более ровный. И универсального решения задачи не выполняет?

    С учётом количества классов (если память не подводит max classid = 0xffff ) ~ 65535 то и потоков доложно быть не более в таком случае. А значит решение для максимум 65535 соеденений.

     

    Но ведь можно строить деревья правил и классов.

    В таком случае получаем - 0xffff:0xffff классов. что куда интереснее для решения задачи. Но меняется подход. Нужно определиться со скоростью на ip, если взять за основу, на ip 65535 соеденений и делить её между потоками. Думается мне, что так будет правильнее. (Или я в чём то ошибаюсь?)

     

    P.s. вопрос автору, поста. Где и зачем это понадобилось? (любопытство) :-)

  6. dev=imq0
    tc qdisc del dev $dev root
    tc qdisc add dev $dev handle 1025: root drr
    
    for i in $(seq 1 1024); do
       h=$(printf %x $i)
       tc class add dev $dev parent 1025: classid 1025:$h drr
       tc qdisc add dev $dev parent 1025:$h handle $h: netem rate 1Mbit
    done
    
    tc filter add dev $dev protocol ip handle 1025 parent 1025: flow hash keys src,dst,proto,proto-src,proto-dst divisor 1024 perturb 10
    

     

     

    Любопытно. Но верно ли я понимаю логику работы фильтра:

    Имеем 1024 - класса, которые ограничивают сессии. (1024 по 1Мб)

    Хешированием, по ключам (src,dst,proto,proto-src,proto-dst) раскидываем потоки/соеденения по этим калссам.

    А если соеденений будет более 1024. Выходит кто то будет делить между собой скорость класса?

    P.s. Я о написанном.

  7. Здравствуйте, есть ли возможность на Linux средствами tc ограничить скорость TCP соедиения ?

    средствами tc, скорее всего нет. (если не создавать правила для всех возможных/разрешённых вариантов match правила с классами скоростей). Но это безумие.

    Тут необходимо следить за создающимися/умирающими сессиями, и ограничивать их. Известных способов сделать это средствами tc, скорее всего нет. Если не крутить что то что будет реализовывать алгоритм вышеописанный.

  8. Несколько IP на одну очередь и какие-то дополнительные возможности есть в коммерческой версии.

    Любопытно. Значит таки есть коммерческая версия. Скажите, какой доп. ф-ционал и плюшки в ней есть, по сравнению со свободной?

    Сколько стоит?