Перейти к содержимому
Калькуляторы

aabc

Активный участник
  • Публикации

    180
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем aabc


  1. 1. "В частности, при хорошей такой загрузке канала (скачивание торрента, например), все остальное полисер жестко дропает, не давая шансов пакету покинуть NAS в сторону абонента. Если, к примеру, папа качает фильм, то ребенку в танки нормально уже не поиграть."

     

    "Просто нужны выходные очереди, которые могут ненадолго задержать пакет, но все-же его выпустят."

     

    Папа качает торрент. Что происходит с пакетом, если очередь заполнена?

     

    2. "Время пингов увеличивается в несколько раз (примерно с 40 мс до 200 мс)."

    "Применительно к танкистам -- "лаг" вполне может быть обусловлен потерями пакетов и ретрансмитами"

    "Именно так."

     

    У вас пинг увеличивается при полисинге из-за ретрансмитов icmp пакетов?

     

  2. 17 hours ago, avovtchak said:

    а в каких единицах в статусе выдается значение last ?  Предполагаю, что не в секундах, как написано в ридми. Может быть в десятых секунды? или в миллисекундах?

    В тиках ядра, jiffies. См. CONFIG_HZ вашего ядра.

  3. Я, кстати, думал что есть возможность добавить к каждому flow первые n-байт из его содержания. Анализаторы протоколов уже могли бы определить тип соединения (для IDS, например), может влезть начало http запроса, dns запросы, начало ответов на них (в обратные flows). Есть две проблемы - 1) нет стандарта для такого, хоть и определён элемент ipPayloadPacketSection, но он для PSAMP, а следовательно per-packet, в то время как идея чтоб было per-flow; 2) нет софта который бы это ожидал и парсил. Ну и недостаток что это будет занимать больше памяти и увеличивать нагрузку на экспорт.

  4. 13 minutes ago, banec said:

    по умолчанию выключен :)

    echo number > /sys/module/ipt_NETFLOW/parameters/engine_id

    как я понял 32 или 8 вместо number  - в зависимости от коллектора?

     

    По-умолчанию он не выключен, а равен 0. Если у вас один экспортер, то так и оставьте. Если несколько, то сделайте им номера по порядку.

  5. 13 minutes ago, banec said:

    ... вроде как в ipfix  есть домен, у вас его нету вроде . тут понадобилось у нас в Беларуси добавили, что и домен хранить нужно :( Можете добавить?

     

    Он есть. https://github.com/aabc/ipt-netflow/blob/master/README#L582

  6. @Susanin ipt-netflow экспортирует информацию, которая есть в ядре. Номеров AS там нет.

     

    (FYI Ранее был сторонний патч к quagga, который помещал AS в маршрут в поле realm, но он давно заброшен.)

     

    Вы могли бы закодить netflow proxy (полностью в userspace), который бы добавлял к flows номера AS. Минус такого метода, что AS бы не попадала во flow key (кому-то это может было бы нужно, кому-то нет).

     

    Как-то внедрять в ядро информацию никак не влияющую на роутинг (и не актуальную в каждый момент) в статистику, которая, подразумевается, что она от роутинга, с моей точки зрения, было бы странно.

  7. Вот уж новость - 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

     

    Это версия из git, она однозначно идентифицирует коммит, который вы используете. Я не делал тег v0.3, поэтому там версия относительно 0.2. Надеялся, что люди потестят и тогда можно будет сделать релиз 0.3. Но пока никто не репортит успех.

  8. Вариант с использованием SynCookie нас не устраивал - не на всех серверах есть лишние ресурсы для подсчета SHA1, не на всех стоят подходящие сетевые карты (если на сервере 50 мегабит трафика, встроенная в материнскую плату сетевая карта вполне справляется со своей задачей) и отнюдь не все сервера подключены 10 гигабитным интерфейсом. А генерировать 1,1 гигабит SYN флуда с подменой адреса отправителя не такая уж и сложная задача, с которой может справиться любой школьник, если провайдер не фильтрует исходящий трафик. Поэтому необходимо было решение, работающее не на конечном сервере.

     

    Пара вопросов.

     

    если на сервере 50 мегабит трафика, встроенная в материнскую плату сетевая карта вполне справляется со своей задачей

     

    Если 1гбит, то не справляется?

     

    отнюдь не все сервера подключены 10 гигабитным интерфейсом. А генерировать 1,1 гигабит SYN флуда с подменой адреса отправителя не такая уж и сложная задача, с которой может справиться любой ш

     

    Перефразирую ваше довод: нет смысла фильтровать SYN-flood на конечном сервере, с 1гбит картой и интерфейсом, так как такой канал легко забить 1.1гбит SYN-floodа.

     

    То есть аргумент основывается на ширине канала, который можно забить строго SYN-floodом.

     

    Вопрос: что мешает забивать его не SYN-floodом, а любым другим floodом?

     

    SYN-flood позволяет небольшими ресурсами положить сервис так как SYN-queue имеет конечную длину. То есть, нет необходимости генерировать 1.1гбит SYN-floodа, чтоб положить конечный сервер в котором нет SYN-cookies, и нет необходимости генерировать 1.1гбит SYN-floodа, чтоб положить конечный сервер в котором есть SYN-cookies, но 1гбит канал. Следовательно, при чём тут SYN-cookies?

  9. boco, чтоб работал редирект, в if (match) { сделать par->hotdrop = true, а в } else { сделать match = true (как при включенном :match).

     

    ps. Какая религия мешает заюзать ipset?

  10. Добрый день, можно ли как-то сделать агрегацию по назначению netflow. Например на a.b.c.d/2055 слать как есть, а на x.y.b.c/NNNN слать только агрегированый флоу?

     

    Сейчас раздваивание происходит на этапе отсылки пакетов. Гораздо позже чем подсчет статистики.

  11. Не спешите хоронить, ничего не умерло. Правок нет, так как совершенство достигнуто.

    скажите, а могу я открыть в своей управлялке "/proc/net/ipt_ratelimit/setname" на чтение/запись и держать его открытым неограниченно долго? просто дергать на каждый чих fork как-то тупо =)

     

    спасибо.

     

    При чём тут форк? Скорее всего, придется делать open/close.

  12. Приняли патч вот этого человека https://bitbucket.org/archim/lisg?

     

    Там как раз был патч по поводу сборки на более новых ядрах

    Description

    Fix includes for newer iptables

     

    Fix for kernels 3.17+

     

    Learn about pull requests

     

    Это к вопросу о поддрежке сего дела

     

    Патч в lisg? Я вроде к нему не имею отношения, в этом треде обсуждается ipt-ratelimit как бы.

  13. Если включить телепата, то видимо косяки со сборкой модуля на новых ядрах.

    Какие? На 4.6 собирается без проблем:

     

    root@el7:~/ipt-ratelimit# make KDIR=/usr/src/linux-4.6
    make -C /usr/src/linux-4.6 M=/root/ipt-ratelimit modules CONFIG_DEBUG_INFO=y
    make[1]: Entering directory `/usr/src/linux-4.6'
    
     WARNING: Symbol version dump ./Module.symvers
              is missing; modules will have no dependencies and modversions.
    
     CC [M]  /root/ipt-ratelimit/xt_ratelimit.o
     Building modules, stage 2.
     MODPOST 1 modules
     CC      /root/ipt-ratelimit/xt_ratelimit.mod.o
     LD [M]  /root/ipt-ratelimit/xt_ratelimit.ko
    make[1]: Leaving directory `/usr/src/linux-4.6'
    sync
    gcc -O2 -Wall -Wunused -fPIC -o libxt_ratelimit_sh.o -c libxt_ratelimit.c
    gcc -shared -o libxt_ratelimit.so libxt_ratelimit_sh.o
    rm libxt_ratelimit_sh.o
    

     

    Зачем вы включаете телепата?