pppoetest Опубликовано 15 июня, 2016 · Жалоба Если включить телепата, то видимо косяки со сборкой модуля на новых ядрах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 15 июня, 2016 · Жалоба Если включить телепата, то видимо косяки со сборкой модуля на новых ядрах. Какие? На 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 Зачем вы включаете телепата? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 16 июня, 2016 · Жалоба aabc планируете добавление ф-ционала, расширение возможностей? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 16 июня, 2016 · Жалоба Что можно расширить в полисере? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bomberman Опубликовано 16 июня, 2016 (изменено) · Жалоба Что можно расширить в полисере? Читайте внимательно эту ветку. Там не раз были предложения о расширении ф-ционала. К примеру добавление ipv6. Изменено 16 июня, 2016 пользователем bomberman Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tokra Опубликовано 17 июня, 2016 (изменено) · Жалоба Атор был не прав, автор ***к Изменено 17 июня, 2016 пользователем tokra Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 17 июня, 2016 · Жалоба Приняли патч вот этого человека https://bitbucket.org/archim/lisg? Там как раз был патч по поводу сборки на более новых ядрах Description Fix includes for newer iptables Fix for kernels 3.17+ Learn about pull requests Это к вопросу о поддрежке сего дела Патч в lisg? Я вроде к нему не имею отношения, в этом треде обсуждается ipt-ratelimit как бы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
tokra Опубликовано 17 июня, 2016 · Жалоба Приняли патч вот этого человека https://bitbucket.org/archim/lisg? Там как раз был патч по поводу сборки на более новых ядрах Description Fix includes for newer iptables Fix for kernels 3.17+ Learn about pull requests Это к вопросу о поддрежке сего дела Патч в lisg? Я вроде к нему не имею отношения, в этом треде обсуждается ipt-ratelimit как бы. ***к я, ночью спать надо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 22 июня, 2016 · Жалоба Не спешите хоронить, ничего не умерло. Правок нет, так как совершенство достигнуто. скажите, а могу я открыть в своей управлялке "/proc/net/ipt_ratelimit/setname" на чтение/запись и держать его открытым неограниченно долго? просто дергать на каждый чих fork как-то тупо =) спасибо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 22 июня, 2016 · Жалоба Не спешите хоронить, ничего не умерло. Правок нет, так как совершенство достигнуто. скажите, а могу я открыть в своей управлялке "/proc/net/ipt_ratelimit/setname" на чтение/запись и держать его открытым неограниченно долго? просто дергать на каждый чих fork как-то тупо =) спасибо. При чём тут форк? Скорее всего, придется делать open/close. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 22 июня, 2016 · Жалоба При чём тут форк? видимо, потому что system("echo ...") зовет fork() =) Скорее всего, придется делать open/close. ок, ясно. спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
acutus Опубликовано 12 июля, 2016 · Жалоба немного не понял, можно ли для каждого ip в 10.100.0.0/24 нарезать скорость одной командой? либо в /proc/net/ipt_ratelimit/speed-in и speed-out придется делать 256 записей? а если записей будет по 16к? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sol Опубликовано 12 июля, 2016 · Жалоба можно ли для каждого ip в 10.100.0.0/24 нарезать скорость одной командой? Недлибо в /proc/net/ipt_ratelimit/speed-in и speed-out придется делать 256 записей? Даа если записей будет по 16к? Не беда. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arlekin1980 Опубликовано 12 августа, 2016 (изменено) · Жалоба Просьба не пинать и не бросаться камнями (я чайник): Вот выполнил я такую команду: iptables -A FORWARD -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j DROP записал айпи в name0. Все хорошо, режет скорость, убираю не режет. Так вот вопрос как сделать, так чтобы он когда я его убрал из name0, его дропало или редиректало. Изменено 12 августа, 2016 пользователем arlekin1980 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 12 августа, 2016 · Жалоба del Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 12 августа, 2016 · Жалоба Так вот вопрос как сделать, так чтобы он когда я его убрал из name0, его дропало или редиректало. echo :hotdrop > /proc/net/ipt_ratelimit/name0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arlekin1980 Опубликовано 12 августа, 2016 (изменено) · Жалоба Так вот вопрос как сделать, так чтобы он когда я его убрал из name0, его дропало или редиректало. echo :hotdrop > /proc/net/ipt_ratelimit/name0 hotdrop это к чему применяться к айпи или ...(не понимаю, а можно расжевать)? ipset будет как костыль. Хотелось бы, добавил я в name0 ip с определенной скоростью, а потом его надо запломбировать убрал из name0 и примеру редирекнул на ресурс. Вот не знаю как без ipset-а PS. echo :hotdrop > /proc/net/ipt_ratelimit/name0 или указывает что если не существует ip в name0. То все - дроп, то как сделать редирект Изменено 12 августа, 2016 пользователем arlekin1980 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 12 августа, 2016 · Жалоба PS. echo :hotdrop > /proc/net/ipt_ratelimit/name0 или указывает что если не существует ip в name0. То все - дроп, то как сделать редирект hotdrop дропает прямо в модуле пакеты от/для не существующих в set'е адресов. если нужен редирект, то правило нужно видоизменить что-то типа -A FORWARD -i eth1 -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j REDIR echo :match > /proc/net/ipt_ratelimit/name0 цепочку REDIR сами нарисуйте в качестве домашнего задания. ps: https://github.com/aabc/ipt-ratelimit/commit/5e482b20bfbbc4a5ee8b24737537d5175531f22f Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arlekin1980 Опубликовано 13 августа, 2016 · Жалоба PS. echo :hotdrop > /proc/net/ipt_ratelimit/name0 или указывает что если не существует ip в name0. То все - дроп, то как сделать редирект hotdrop дропает прямо в модуле пакеты от/для не существующих в set'е адресов. если нужен редирект, то правило нужно видоизменить что-то типа -A FORWARD -i eth1 -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j REDIR echo :match > /proc/net/ipt_ratelimit/name0 цепочку REDIR сами нарисуйте в качестве домашнего задания. ps: https://github.com/aabc/ipt-ratelimit/commit/5e482b20bfbbc4a5ee8b24737537d5175531f22f Большое спс, посмотрел исходники, вошёл в кураж. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arlekin1980 Опубликовано 13 августа, 2016 (изменено) · Жалоба -A FORWARD -i eth1 -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j REDIRECT --to-port 1234 echo :match > /proc/net/ipt_ratelimit/name0 Если нет ip в name0 то идет редирект. Все хорошо, но я глянул в исходники и увидел пару строчек(это если ip найден): if (car->te > car->ebs) { car->te = 0; match = true; /* match is drop */ } это если есть ip в name0. Как я понял, когда превысит te , ip редирекнется в контексте :match, что наверное не правильно. Вопрос к разработчику да и не только, кто этот модуль уже излазил вдоль и поперек. Если я заменю этот блок на этот. if (car->te > car->ebs) { car->te = 0; if (ht->other == OT_MATCH) { par->hotdrop = true; } else { match = true; } } Какие могут быть последствия? Изменено 13 августа, 2016 пользователем arlekin1980 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 13 августа, 2016 (изменено) · Жалоба arlekin1980, вам не надо матчить (что приведёт к редиректу) по решению полисера, а надо по решению наличия в сете. Изменено 13 августа, 2016 пользователем aabc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
boco Опубликовано 13 августа, 2016 · Жалоба arlekin1980, вам не надо матчить (что приведёт к редиректу) по решению полисера, а надо по решению наличия в сете. а как? этот вопрос не дает покоя =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 13 августа, 2016 (изменено) · Жалоба boco, чтоб работал редирект, в if (match) { сделать par->hotdrop = true, а в } else { сделать match = true (как при включенном :match). ps. Какая религия мешает заюзать ipset? Изменено 14 августа, 2016 пользователем aabc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arlekin1980 Опубликовано 15 августа, 2016 (изменено) · Жалоба ps. Какая религия мешает заюзать ipset? Хочется малой кровью отделаться. Изменено 16 августа, 2016 пользователем arlekin1980 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
acutus Опубликовано 6 октября, 2016 · Жалоба [root@nat2 ipt-ratelimit]# make install all make -C /lib/modules/3.18.1-1.el6.elrepo.x86_64/build/ M=/home/zolks/sheiper/ipt-ratelimit modules CONFIG_DEBUG_INFO=y make[1]: Entering directory `/usr/src/kernels/3.18.1-1.el6.elrepo.x86_64' CC [M] /home/zolks/sheiper/ipt-ratelimit/xt_ratelimit.o Building modules, stage 2. MODPOST 1 modules CC /home/zolks/sheiper/ipt-ratelimit/xt_ratelimit.mod.o LD [M] /home/zolks/sheiper/ipt-ratelimit/xt_ratelimit.ko make[1]: Leaving directory `/usr/src/kernels/3.18.1-1.el6.elrepo.x86_64' sync make -C /lib/modules/3.18.1-1.el6.elrepo.x86_64/build/ M=/home/zolks/sheiper/ipt-ratelimit modules_install INSTALL_MOD_PATH= make[1]: Entering directory `/usr/src/kernels/3.18.1-1.el6.elrepo.x86_64' INSTALL /home/zolks/sheiper/ipt-ratelimit/xt_ratelimit.ko DEPMOD 3.18.1-1.el6.elrepo.x86_64 make[1]: Leaving directory `/usr/src/kernels/3.18.1-1.el6.elrepo.x86_64' gcc -O2 -Wall -Wunused -fPIC -o libxt_ratelimit_sh.o -c libxt_ratelimit.c libxt_ratelimit.c:51: error: array type has incomplete element type libxt_ratelimit.c:52: error: field name not in record or union initializer libxt_ratelimit.c:52: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:52: error: field name not in record or union initializer libxt_ratelimit.c:52: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:52: error: field name not in record or union initializer libxt_ratelimit.c:52: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:52: error: ‘XTTYPE_STRING’ undeclared here (not in a function) libxt_ratelimit.c:53: error: field name not in record or union initializer libxt_ratelimit.c:53: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:53: error: ‘XTOPT_MAND’ undeclared here (not in a function) libxt_ratelimit.c:53: error: ‘XTOPT_PUT’ undeclared here (not in a function) libxt_ratelimit.c:53: warning: implicit declaration of function ‘XTOPT_POINTER’ libxt_ratelimit.c:53: error: expected expression before ‘struct’ libxt_ratelimit.c:53: error: field name not in record or union initializer libxt_ratelimit.c:53: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:54: error: field name not in record or union initializer libxt_ratelimit.c:54: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:54: error: field name not in record or union initializer libxt_ratelimit.c:54: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:54: error: field name not in record or union initializer libxt_ratelimit.c:54: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:55: error: field name not in record or union initializer libxt_ratelimit.c:55: error: (near initialization for ‘ratelimit_opts’) libxt_ratelimit.c:56: error: ‘XTOPT_TABLEEND’ undeclared here (not in a function) libxt_ratelimit.c:80: warning: ‘struct xt_option_call’ declared inside parameter list libxt_ratelimit.c: In function ‘ratelimit_parse’: libxt_ratelimit.c:82: error: dereferencing pointer to incomplete type libxt_ratelimit.c:84: warning: implicit declaration of function ‘xtables_option_parse’ libxt_ratelimit.c:85: error: dereferencing pointer to incomplete type libxt_ratelimit.c:87: error: dereferencing pointer to incomplete type libxt_ratelimit.c:89: error: dereferencing pointer to incomplete type libxt_ratelimit.c: At top level: libxt_ratelimit.c:133: warning: implicit declaration of function ‘offsetof’ libxt_ratelimit.c:133: error: expected expression before ‘struct’ libxt_ratelimit.c:138: error: unknown field ‘x6_options’ specified in initializer libxt_ratelimit.c:139: error: unknown field ‘x6_parse’ specified in initializer libxt_ratelimit.c:139: warning: initialization makes integer from pointer without a cast libxt_ratelimit.c:139: error: initializer element is not computable at load time libxt_ratelimit.c:139: error: (near initialization for ‘ratelimit_mt_reg[0].option_offset’) make: *** [libxt_ratelimit_sh.o] Error 1 что я не так делаю? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...