vahe-91 Опубликовано 2 февраля, 2021 · Жалоба В 11.02.2020 в 19:05, junjunk2 сказал: Репозиторий Поддерживаются версии ядра до 5.2 включительно (скорее всего и все более новые, просто не проверял) Восстановил либу для матчера - ее не было в репозитории предыдущего поста Планирую провести серьезную оптимизацию кода - если кому-то будет интересно. Простите, а на Debian 10 не работает ? Попробовал, пишет это: gcc -O2 -Wall -Wunused -I/include -DIPTABLES_VERSION=\"1.8.2 (nf_tables)\" -fPIC -o libipt_ISG_sh.o -c libipt_isg.c /bin/sh: 1: Syntax error: "(" unexpected make: *** [Makefile:17: all] Error 2 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Jack77 Опубликовано 25 февраля, 2021 (изменено) · Жалоба В 02.02.2021 в 20:13, vahe-91 сказал: Простите, а на Debian 10 не работает ? Попробовал, пишет это: gcc -O2 -Wall -Wunused -I/include -DIPTABLES_VERSION=\"1.8.2 (nf_tables)\" -fPIC -o libipt_ISG_sh.o -c libipt_isg.c /bin/sh: 1: Syntax error: "(" unexpected make: *** [Makefile:17: all] Error 2 Нужно править файл Makeconfig после операции ./configure ). Там надо убрать слеши. Мне помогло. Было так: IPTABLES_CFLAGS = -I/include -DIPTABLES_VERSION=\"1.8.2 (nf_tables)\" Должно быть так: IPTABLES_CFLAGS = -I/include -DIPTABLES_VERSION="1.8.2 (nf_tables)" Изменено 25 февраля, 2021 пользователем Jack77 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vahe-91 Опубликовано 3 марта, 2021 · Жалоба В 25.02.2021 в 13:18, Jack77 сказал: Нужно править файл Makeconfig после операции ./configure ). Там надо убрать слеши. Мне помогло. Было так: IPTABLES_CFLAGS = -I/include -DIPTABLES_VERSION=\"1.8.2 (nf_tables)\" Должно быть так: IPTABLES_CFLAGS = -I/include -DIPTABLES_VERSION="1.8.2 (nf_tables)" Спасибо, помогло. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
atarget Опубликовано 3 декабря, 2021 (изменено) · Жалоба Есть оригинал, только под ядра по старше правил... https://github.com/atarget/lisg-original Версии, что выше у меня на генте работают не корректно почемуто - чистиш сессию одну и все - новые не создаются - по этому использую то что есть - хотя я на одной сессии проверял - может если сделать больше и почистить то будет ок.... Изменено 3 декабря, 2021 пользователем atarget Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
junjunk2 Опубликовано 31 января, 2022 · Жалоба По какому идентификатору чистили сессию? Я проверял функционал чистки сессии - у нас было всё ок. Ну и было бы неплохо версию ядра указать, на которой воспроизводится Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
admf Опубликовано 14 февраля, 2022 · Жалоба @junjunk2 Подскажите, не могу собрать на debian 9, вывод по ошибкам такой: Скрытый текст root@lisg:/usr/src/lisg/kernel# make echo "" > build.h printf "/* Compilation date.\n * Written by Makefile (userspace) */\n#define _BUILD_DATE \"%s %s\"\n" `date +'%F %T'` > build.h make -C /lib/modules/4.9.0-17-amd64/build M=/usr/src/lisg/kernel modules make[1]: Entering directory '/usr/src/linux-headers-4.9.0-17-amd64' CC [M] /usr/src/lisg/kernel/isg_main.o /usr/src/lisg/kernel/isg_main.c: In function ‘isg_find_session’: /usr/src/lisg/kernel/isg_main.c:771:8: error: implicit declaration of function ‘__test_bit’ [-Werror=implicit-function-declaration] if (__test_bit(ISG_IS_SERVICE, &ev->si.sinfo.flags) { ^~~~~~~~~~ /usr/src/lisg/kernel/isg_main.c:771:56: error: expected ‘)’ before ‘{’ token if (__test_bit(ISG_IS_SERVICE, &ev->si.sinfo.flags) { ^ /usr/src/lisg/kernel/isg_main.c:788:3: error: expected expression before ‘}’ token } ^ cc1: some warnings being treated as errors /usr/src/linux-headers-4.9.0-17-common/scripts/Makefile.build:312: recipe for target '/usr/src/lisg/kernel/isg_main.o' failed make[4]: *** [/usr/src/lisg/kernel/isg_main.o] Error 1 /usr/src/linux-headers-4.9.0-17-common/Makefile:1560: recipe for target '_module_/usr/src/lisg/kernel' failed make[3]: *** [_module_/usr/src/lisg/kernel] Error 2 Makefile:152: recipe for target 'sub-make' failed make[2]: *** [sub-make] Error 2 Makefile:8: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-17-amd64' Makefile:14: recipe for target 'all' failed make: *** [all] Error 2 самое интересное, что версия @atarget, тоже не собирается, там немного другие ошибки. Скрытый текст root@lisg:/usr/src/lisg-original/kernel# make echo "" > build.h printf "/* Compilation date.\n * Written by Makefile (userspace) */\n#define _BUILD_DATE \"%s %s\"\n" `date +'%F %T'` > build.h make -C /lib/modules/4.9.0-17-amd64/build M=/usr/src/lisg-original/kernel modules make[1]: Entering directory '/usr/src/linux-headers-4.9.0-17-amd64' CC [M] /usr/src/lisg-original/kernel/isg_main.o /usr/src/lisg-original/kernel/isg_main.c: In function ‘isg_send_event’: /usr/src/lisg-original/kernel/isg_main.c:275:7: error: used union type value where scalar is required if (is->start_ktime) { ^~ /usr/src/lisg-original/kernel/isg_main.c:276:39: error: invalid operands to binary - (have ‘__kernel_time_t {aka long int}’ and ‘ktime_t {aka union ktime}’) ev->sstat.duration = ts_now.tv_sec - is->start_ktime; ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ /usr/src/lisg-original/kernel/isg_main.c: In function ‘isg_create_session’: /usr/src/lisg-original/kernel/isg_main.c:491:18: error: incompatible types when assigning to type ‘ktime_t {aka union ktime}’ from type ‘__kernel_time_t {aka long int}’ is->start_ktime = ts_now.tv_sec; ^ /usr/src/lisg-original/kernel/isg_main.c: In function ‘isg_start_session’: /usr/src/lisg-original/kernel/isg_main.c:525:36: error: incompatible types when assigning to type ‘ktime_t {aka union ktime}’ from type ‘__kernel_time_t {aka long int}’ is->start_ktime = is->last_export = ts_now.tv_sec; ^ /usr/src/lisg-original/kernel/isg_main.c: In function ‘isg_free_session’: /usr/src/lisg-original/kernel/isg_main.c:652:19: error: incompatible types when assigning to type ‘ktime_t {aka union ktime}’ from type ‘int’ is->start_ktime = 0; ^ /usr/src/lisg-original/kernel/isg_main.c: In function ‘isg_session_timeout’: /usr/src/lisg-original/kernel/isg_main.c:848:21: error: invalid operands to binary - (have ‘__kernel_time_t {aka long int}’ and ‘ktime_t {aka union ktime}’) if (ts_now.tv_sec - is->start_ktime >= is->info.max_duration) { ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ /usr/src/lisg-original/kernel/isg_main.c:856:37: error: invalid operands to binary - (have ‘__kernel_time_t {aka long int}’ and ‘ktime_t {aka union ktime}’) is->stat.duration = ts_now.tv_sec - is->start_ktime; ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ /usr/src/lisg-original/kernel/isg_main.c:875:56: error: invalid operands to binary - (have ‘__kernel_time_t {aka long int}’ and ‘ktime_t {aka union ktime}’) } else if (is->info.export_interval && ts_now.tv_sec - is->last_export >= is->info.export_interval) { ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ /usr/src/lisg-original/kernel/isg_main.c:876:20: error: incompatible types when assigning to type ‘ktime_t {aka union ktime}’ from type ‘__kernel_time_t {aka long int}’ is->last_export = ts_now.tv_sec; ^ /usr/src/linux-headers-4.9.0-17-common/scripts/Makefile.build:312: recipe for target '/usr/src/lisg-original/kernel/isg_main.o' failed make[4]: *** [/usr/src/lisg-original/kernel/isg_main.o] Error 1 /usr/src/linux-headers-4.9.0-17-common/Makefile:1560: recipe for target '_module_/usr/src/lisg-original/kernel' failed make[3]: *** [_module_/usr/src/lisg-original/kernel] Error 2 Makefile:152: recipe for target 'sub-make' failed make[2]: *** [sub-make] Error 2 Makefile:8: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-17-amd64' Makefile:13: recipe for target 'all' failed make: *** [all] Error 2 А если ставить старый оригинал, скаченный еще с bitbucket, он собирается нормально. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
junjunk2 Опубликовано 16 февраля, 2022 · Жалоба @admf исправил код, теперь должно нормально собираться Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
admf Опубликовано 17 февраля, 2022 · Жалоба В 17.02.2022 в 02:37, junjunk2 сказал: @admf исправил код, теперь должно нормально собираться Спасибо, все собралось. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
init_ Опубликовано 17 февраля, 2022 · Жалоба On 2/17/2022 at 4:37 AM, junjunk2 said: @admf исправил код, теперь должно нормально собираться хотел узнать у у вас, в вашей ветке применен патч на веб авторизацию (там был как то патчик он неавторизованных складировал в таблицу ipset web_auth)? а также поддерживаются ли колбеки в config.pl? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vahe-91 Опубликовано 21 октября, 2022 · Жалоба вот если бы Linux ISG работал с nftables, вместо iptables было бы круто Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 14 февраля, 2023 · Жалоба Цитата работал с nftables, вместо iptables было бы круто почитал маны по nftables И так и не понял зачем туда мигрировать Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 15 февраля, 2023 · Жалоба Можно реализовать nsg при помощи списков и скриптов. Скрмпты мониторят список и отправляют данные из этого списка в radius. После получения ответа от radius сервера, скрипт удаляет данные из этого списка и добавляет в другой. Вот, как-то так... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 15 февраля, 2023 · Жалоба 20 часов назад, myth сказал: почитал маны по nftables И так и не понял зачем туда мигрировать Есть такое iptables-nft, во всякой случае у маркиза ДеБияна. Тот же синтаксис, только транслируется автоматом в nftables. Правда, ipset такой замены нет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 15 февраля, 2023 · Жалоба Это я знаю. Но это не меняет темы вопроса. А зачем? Ну и ipset нет, да Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jffulcrum Опубликовано 15 февраля, 2023 · Жалоба 4 минуты назад, myth сказал: А зачем? Ну, есть тут на форуме срачик по IPv6, дак в nftables да, удобнее с dual-stack работать. Ну и monitor trace - почти как у сиськи, крутая конкатенация, причем и с действиями, и с протоколами, скриптование через загрузку/выгрузку XML. А вот про производительность, пока выхлопа нет - имплементацию iptables 20 лет точили, там трудно еще что-то выжать, разве что на старте/перестройке таблиц и цепочек. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
maksnik777 Опубликовано 14 апреля, 2023 · Жалоба ну тут не соглашусь Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ne-vlezay80 Опубликовано 14 апреля, 2023 · Жалоба 13 часов назад, maksnik777 сказал: ну тут не соглашусь почему? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
init_ Опубликовано 19 мая, 2023 (изменено) · Жалоба Парни нашел установленный ISG на ядро 4.9.0-4-amd64, но этот лисг патченный под веб авторизацию через ipset, может у меня свежее чем у вас, гляньте, архивец попробую приатачить. Могу еще точно сказать, что колбеки тут тоже поддерживаются. Насчет свежести только вот не понятно sysoleg-lisg-1d05e525c870.tar.xz Попробовал собрать на 11 дебе, резалт.... кто поможет? UPD взял исходнички у @atarget https://github.com/atarget/lisg-original спасибо тебе, я поправил согласно твоим изменениям В моей версии отличие только в приделанной web авторизации через ipset - можешь глянуть посмотреть в архиве. root@frr:/usr/src/sysoleg-lisg-1d05e525c870/kernel# make echo "" > build.h printf "/* Compilation date.\n * Written by Makefile (userspace) */\n#define _BUILD_DATE \"%s %s\"\n" `date +'%F %T'` > build.h make -C /lib/modules/5.10.0-23-amd64/build M=/usr/src/sysoleg-lisg-1d05e525c870/kernel modules make[1]: Entering directory '/usr/src/linux-headers-5.10.0-23-amd64' CC [M] /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.o In file included from /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:10: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.h:125:2: error: unknown type name ‘time_t’ 125 | time_t start_ktime; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.h:126:2: error: unknown type name ‘time_t’ 126 | time_t last_export; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_send_event’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:249:18: error: storage size of ‘ts_now’ isn’t known 249 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:250:2: error: implicit declaration of function ‘ktime_get_ts’; did you mean ‘ktime_get_ns’? [-Werror=implicit-function-declaration] 250 | ktime_get_ts(&ts_now); | ^~~~~~~~~~~~ | ktime_get_ns /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:249:18: warning: unused variable ‘ts_now’ [-Wunused-variable] 249 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_apply_service’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:449:3: error: implicit declaration of function ‘setup_timer’; did you mean ‘sk_stop_timer’? [-Werror=implicit-function-declaration] 449 | setup_timer(&nis->timer, isg_session_timeout, (unsigned long)nis); | ^~~~~~~~~~~ | sk_stop_timer /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_create_session’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:472:18: error: storage size of ‘ts_now’ isn’t known 472 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:472:18: warning: unused variable ‘ts_now’ [-Wunused-variable] /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_start_session’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:509:18: error: storage size of ‘ts_now’ isn’t known 509 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:520:21: error: implicit declaration of function ‘timespec_to_ns’; did you mean ‘timespec64_to_ns’? [-Werror=implicit-function-declaration] 520 | is->in_last_seen = timespec_to_ns(&ts_now); | ^~~~~~~~~~~~~~ | timespec64_to_ns /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:509:18: warning: unused variable ‘ts_now’ [-Wunused-variable] 509 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_session_timeout’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:814:18: error: storage size of ‘ts_now’ isn’t known 814 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:835:19: error: storage size of ‘ts_ls’ isn’t known 835 | struct timespec ts_ls; | ^~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:847:11: error: implicit declaration of function ‘ns_to_timespec’; did you mean ‘ns_to_timespec64’? [-Werror=implicit-function-declaration] 847 | ts_ls = ns_to_timespec(is->in_last_seen); | ^~~~~~~~~~~~~~ | ns_to_timespec64 /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:835:19: warning: unused variable ‘ts_ls’ [-Wunused-variable] 835 | struct timespec ts_ls; | ^~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:814:18: warning: unused variable ‘ts_now’ [-Wunused-variable] 814 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_mt’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:899:35: error: ‘struct xt_action_param’ has no member named ‘in’ 899 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:899:54: error: ‘struct xt_action_param’ has no member named ‘in’ 899 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:899:64: error: ‘struct xt_action_param’ has no member named ‘out’ 899 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c: In function ‘isg_tg’: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:952:18: error: storage size of ‘ts_now’ isn’t known 952 | struct timespec ts_now; | ^~~~~~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:967:35: error: ‘const struct xt_action_param’ has no member named ‘in’ 967 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:967:54: error: ‘const struct xt_action_param’ has no member named ‘in’ 967 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:967:64: error: ‘const struct xt_action_param’ has no member named ‘out’ 967 | isg_net = isg_pernet(dev_net((par->in != NULL) ? par->in : par->out)); | ^~ /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.c:952:18: warning: unused variable ‘ts_now’ [-Wunused-variable] 952 | struct timespec ts_now; | ^~~~~~ cc1: some warnings being treated as errors make[3]: *** [/usr/src/linux-headers-5.10.0-23-common/scripts/Makefile.build:291: /usr/src/sysoleg-lisg-1d05e525c870/kernel/isg_main.o] Error 1 make[2]: *** [/usr/src/linux-headers-5.10.0-23-common/Makefile:1852: /usr/src/sysoleg-lisg-1d05e525c870/kernel] Error 2 make[1]: *** [/usr/src/linux-headers-5.10.0-23-common/Makefile:192: __sub-make] Error 2 make[1]: Leaving directory '/usr/src/linux-headers-5.10.0-23-amd64' make: *** [Makefile:15: all] Error 2 Изменено 20 мая, 2023 пользователем init_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TTPartizan Опубликовано 1 июня, 2023 (изменено) · Жалоба @junjunk2 debian 11 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux5.10.179-1 (2023-05-12) x86_64 GNU/Linux lsmod | grep ISG ipt_ISG 28672 0 x_tables 53248 13 xt_conntrack,iptable_filter,xt_LOG,xt_state,ipt_NETFLOW,xt_nat,ipt_ISG,xt_set,ipt_REJECT,ip_tables,xt_limit,xt_connlimit,iptable_mangle cat /proc/net/ip_tables_matches limit connlimit conntrack conntrack conntrack state isg set set set set set icmp make install make -C /lib/modules/5.10.0-23-amd64/build M=/root/lisg/kernel modules_install make[1]: вход в каталог «/usr/src/linux-headers-5.10.0-23-amd64» INSTALL /root/lisg/kernel/ipt_ISG.ko DEPMOD 5.10.0-23-amd64 Warning: modules_install: missing 'System.map' file. Skipping depmod. make[1]: выход из каталога «/usr/src/linux-headers-5.10.0-23-amd64» /sbin/depmod -a cp -a libipt_ISG.so /usr/lib/debug/.dwz/x86_64-linux-gnu/iptables.debug cp -a libipt_isg.so /usr/lib/debug/.dwz/x86_64-linux-gnu/iptables.debug iptables v1.8.7 (legacy): unknown option "--session-init" Try `iptables -h' or 'iptables --help' for more information. iptables v1.8.7 (legacy): Couldn't load target `ISG':No such file or directory Try `iptables -h' or 'iptables --help' for more information. /ISG.pl Incorrect packet length (196 bytes) Recv from kernel: Interrupted system call Unable to get sessions/services list: Interrupted system call в чём косяк? Изменено 1 июня, 2023 пользователем TTPartizan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
init_ Опубликовано 1 июня, 2023 · Жалоба @TTPartizan cp -a libipt_ISG.so /usr/lib/debug/.dwz/x86_64-linux-gnu/iptables.debug cp -a libipt_isg.so /usr/lib/debug/.dwz/x86_64-linux-gnu/iptables.debug Вот в этом месте косяк, либы не в то место заинсталены, посмотри где либы хранятся и поправь этот путь в исходниках, или в конфигуре укажи это место где либы ipt лежат в системе Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TTPartizan Опубликовано 1 июня, 2023 · Жалоба @init_ закинул /usr/lib/x86_64-linux-gnu/xtables iptables увидел. но /ISG.pl Incorrect packet length (196 bytes) Recv from kernel: Interrupted system call Unable to get sessions/services list: Interrupted system call ошибка осталась Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
init_ Опубликовано 1 июня, 2023 (изменено) · Жалоба Парни, а может кто делал такое в ISG, я не совсем допер, вот если по RADIUS получает абонент reject - у него сессия в X в таблице, что можно запатчить чтоб такой сессии присваивалась скорость? Просто статическая например 1мбит, только той сессии которая неодобрена Изменено 1 июня, 2023 пользователем init_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
TTPartizan Опубликовано 1 июня, 2023 · Жалоба @junjunk2 откатил ядро на 5.10.0-12 что было в репах с хеадерами. не помогло. у человека (через знакомого, самого его не найти кто собирал) на 5.10.0-11 работает Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
junjunk2 Опубликовано 24 августа, 2023 · Жалоба @init_@TTPartizan Ошибки почищены, модуль должен без проблем собираться и работать на ядрах вплоть до 6.1.х Следующие улучшения добавлены: 1. Для матчера в правилах iptables добавлена опция -m isg --active-no-services . Можно использовать в начале цепочки PREROUTING чтобы разрешить трафик без изменений, который не надо по навешанным сервисам отправлять на портал. Например, если вы использовали правило для перенаправления пользователей с отрицательным балансом через присвоенный им сервис REDIRECT: -A PREROUTING -i iif -p tcp -m tcp --dport 80 -m isg --service-name REDIRECT -j DNAT --to-destination 127.0.0.1 то весь трафик всех абонентов проходил правило сравнения на наличие сервисов. Неоптимально, особенно если есть несколько разных сервисов. Теперь можно сделать -A PREROUTING -i iif -p tcp -m tcp --dport 80 -m isg --active-no-services -j ACCEPT -A PREROUTING -i iif -p tcp -m tcp --dport 80 -m isg --service-name REDIRECT -j DNAT --to-destination 127.0.0.1 и основной трафик будет проходить только одно правило, а не проверяться по всем в цепочке. 2. Выведен отдельный каунтер для подсчета сессий, у которых нет аккаунтинга. Обычно это сессии, которые получили Access-Reject и им навесили стандартные сервисы, которые в конфиге. Вывод виден в show_counter 3. Все суммарные каунтеры (которые видны по show_counter) теперь per-cpu - статистика собирается без блокировки сессий 4. spinlock сессии теперь распилен на 2, чтобы шейпер мог считать входящий и исходящий трафик без блокировки. До этого обработка пакета блокировала обработку трафика всей сессии, вне зависимости от направления 5. Шейпер теперь работает с микросекундной точностью, что приводит к меньшим колебаниям скорости у клиентов, но может показывать чуть завышенные значения. Параметры шейпера теперь хранятся в RCU указателе, что позволяет не блокировать сессию на время обновления тарифа. 6. Структуры данных оптимизированы таким образом, чтобы не было split-lock ситауции - ускоряет работу на процессорах с маленьким кэшом. Ну или вообще, если количество сессий огромное. Тестируйте, а я буду поглядывать сюда за коментами Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
JohnMcLaren Опубликовано 26 декабря, 2023 · Жалоба @junjunk2 Подскажите пожалуйста, не могу собрать на Debian 11 (bullseye) Kernel: Linux 5.10.0-26-amd64 вывод ошибок: Скрытый текст root@sh4:/usr/src/lisg/kernel# make echo "" > build.h printf "/* Compilation date.\n * Written by Makefile (userspace) */\n#define _BUILD_DATE \"%s %s\"\n" `date +'%F %T'` > build.h make -C /lib/modules/5.10.0-26-amd64/build M=/usr/src/lisg/kernel modules make[1]: вход в каталог «/usr/src/linux-headers-5.10.0-26-amd64» CC [M] /usr/src/lisg/kernel/isg_main.o /usr/src/lisg/kernel/isg_main.c: In function ‘isg_update_session’: /usr/src/lisg/kernel/isg_main.c:694:21: error: macro "kfree_rcu" requires 2 arguments, but only 1 given 694 | kfree_rcu(old_rate); | ^ In file included from /usr/src/linux-headers-5.10.0-26-common/include/linux/rbtree.h:22, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mm_types.h:10, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mmzone.h:21, from /usr/src/linux-headers-5.10.0-26-common/include/linux/gfp.h:6, from /usr/src/linux-headers-5.10.0-26-common/include/linux/umh.h:4, from /usr/src/linux-headers-5.10.0-26-common/include/linux/kmod.h:9, from /usr/src/linux-headers-5.10.0-26-common/include/linux/module.h:16, from /usr/src/lisg/kernel/isg_main.h:5, from /usr/src/lisg/kernel/isg_main.c:10: /usr/src/linux-headers-5.10.0-26-common/include/linux/rcupdate.h:896: note: macro "kfree_rcu" defined here 896 | #define kfree_rcu(ptr, rhf) \ | /usr/src/lisg/kernel/isg_main.c:694:3: error: ‘kfree_rcu’ undeclared (first use in this function); did you mean ‘kfree_skb’? 694 | kfree_rcu(old_rate); | ^~~~~~~~~ | kfree_skb /usr/src/lisg/kernel/isg_main.c:694:3: note: each undeclared identifier is reported only once for each function it appears in /usr/src/lisg/kernel/isg_main.c: In function ‘isg_session_timeout’: /usr/src/lisg/kernel/isg_main.c:938:21: error: macro "kfree_rcu" requires 2 arguments, but only 1 given 938 | kfree_rcu(is->rate); | ^ In file included from /usr/src/linux-headers-5.10.0-26-common/include/linux/rbtree.h:22, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mm_types.h:10, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mmzone.h:21, from /usr/src/linux-headers-5.10.0-26-common/include/linux/gfp.h:6, from /usr/src/linux-headers-5.10.0-26-common/include/linux/umh.h:4, from /usr/src/linux-headers-5.10.0-26-common/include/linux/kmod.h:9, from /usr/src/linux-headers-5.10.0-26-common/include/linux/module.h:16, from /usr/src/lisg/kernel/isg_main.h:5, from /usr/src/lisg/kernel/isg_main.c:10: /usr/src/linux-headers-5.10.0-26-common/include/linux/rcupdate.h:896: note: macro "kfree_rcu" defined here 896 | #define kfree_rcu(ptr, rhf) \ | /usr/src/lisg/kernel/isg_main.c:938:3: error: ‘kfree_rcu’ undeclared (first use in this function); did you mean ‘kfree_skb’? 938 | kfree_rcu(is->rate); | ^~~~~~~~~ | kfree_skb /usr/src/lisg/kernel/isg_main.c: In function ‘isg_cleanup’: /usr/src/lisg/kernel/isg_main.c:1331:19: error: macro "kfree_rcu" requires 2 arguments, but only 1 given 1331 | kfree_rcu(rate); | ^ In file included from /usr/src/linux-headers-5.10.0-26-common/include/linux/rbtree.h:22, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mm_types.h:10, from /usr/src/linux-headers-5.10.0-26-common/include/linux/mmzone.h:21, from /usr/src/linux-headers-5.10.0-26-common/include/linux/gfp.h:6, from /usr/src/linux-headers-5.10.0-26-common/include/linux/umh.h:4, from /usr/src/linux-headers-5.10.0-26-common/include/linux/kmod.h:9, from /usr/src/linux-headers-5.10.0-26-common/include/linux/module.h:16, from /usr/src/lisg/kernel/isg_main.h:5, from /usr/src/lisg/kernel/isg_main.c:10: /usr/src/linux-headers-5.10.0-26-common/include/linux/rcupdate.h:896: note: macro "kfree_rcu" defined here 896 | #define kfree_rcu(ptr, rhf) \ | /usr/src/lisg/kernel/isg_main.c:1331:5: error: ‘kfree_rcu’ undeclared (first use in this function); did you mean ‘kfree_skb’? 1331 | kfree_rcu(rate); | ^~~~~~~~~ | kfree_skb make[3]: *** [/usr/src/linux-headers-5.10.0-26-common/scripts/Makefile.build:291: /usr/src/lisg/kernel/isg_main.o] Ошибка 1 make[2]: *** [/usr/src/linux-headers-5.10.0-26-common/Makefile:1856: /usr/src/lisg/kernel] Ошибка 2 make[1]: *** [/usr/src/linux-headers-5.10.0-26-common/Makefile:192: __sub-make] Ошибка 2 make[1]: выход из каталога «/usr/src/linux-headers-5.10.0-26-amd64» make: *** [Makefile:16: all] Ошибка 2 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...