Lynx10 Posted July 9, 2010 А кто нить пробовал данный lISG с netup или каким другим биллингом?Я прикручивал к Abills - работает. можете в 2 словах рассказать - возможно сталкивались с какими то проблемами ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Abram Posted July 9, 2010 А кто нить пробовал данный lISG с netup или каким другим биллингом?Я прикручивал к Abills - работает. можете в 2 словах рассказать - возможно сталкивались с какими то проблемами ? Конечно могу. Проблема в том, что в abills нет поддержки сабжа :-D. Посему - http://abills.net.ua/forum/viewtopic.php?f=11&t=5224 . Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Lynx10 Posted July 9, 2010 :) ну что ж..... спасибо большое - посмотрим попробуем! Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 11, 2010 Проект перемещен на BitBucket.Org: http://bitbucket.org/sysoleg/lisg/downloads/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kww Posted July 11, 2010 Хотя я надеялся что скорость по классам можно так же будет через радиус задавать при acct-start.При acct-start? В accounting-response ничего нельзя отдать, как я понимаю. А вот в Access-Accept на главную сессию можно отдать сервис или сервисы, которые определены в config.pl. Вроде бы все логично. Какой смысл отдавать скорость напрямую? Лучше ведь определить сервисы с нужными скоростями. Нет? Поддерживаю shicoy.Классификация с определением скоростей в конфиге нужна очень немногим. Наиболее часто встречающаяся ситуация: CLASS-A - 192.168.xx.xx CLASS-B - 172.16.xx.xx CLASS-C - peer_ip ----------- client_1 - CLASS-A - 1мбит, CLASS-B - 2мбит, CLASS-C - 3мбит client_2 - CLASS-A - 2мбит, CLASS-B - 3мбит, CLASS-C - 4мбит client_2 - CLASS-A - 5мбит, CLASS-B - 5мбит, CLASS-C - 5мбит - Каждому клиенту выдается скорость в зависимости от его тарифного плана, учитывая направления (классы) В данном случае класс - определяет только сеть или группу сетей. 1- Как реализовать такую схему в Вашем случае ?? 2- Возможно ли установить клиенту принадлежность к нескольким классам ? Я понимаю что это будет не Cisco like :)) но необходимость в этом есть. Заранее благодарю а ответ. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 11, 2010 client_1 - CLASS-A - 1мбит, CLASS-B - 2мбит, CLASS-C - 3мбитЯ подозреваю, что здесь возможна ошибка. Клиенту назначается сервис (или сервисы), а не класс трафика. Смотрите: есть клиент (IP-адрес), есть сервис, есть класс трафика. Клиенту можно (в Access-Accept) назначить много сервисов. Каждому сервису можно назначить много (до 16) классов трафика (хотя много Вам не нужно, нужен 1). Вашу задачу можно решить создав в config.pl 9 сервисов: CLASS_A_1MBIT (привязан класс CLASS_A) CLASS_A_2MBIT (привязан класс CLASS_A) CLASS_A_5MBIT (привязан класс CLASS_A) CLASS_B_2MBIT (привязан класс CLASS_B) CLASS_B_3MBIT (привязан класс CLASS_B) CLASS_B_5MBIT (привязан класс CLASS_B) CLASS_C_3MBIT (привязан класс CLASS_C) CLASS_C_4MBIT (привязан класс CLASS_C) CLASS_C_5MBIT (привязан класс CLASS_C) После чего пользователю client_1 мы должны отдать такие атрибуты в Access-Accept: Cisco-Account-Info = CLASS_A_1MBIT Cisco-Account-Info += CLASS_B_2MBIT Cisco-Account-Info += CLASS_C_3MBIT А пользователю client_2 такие: Cisco-Account-Info = CLASS_A_2MBIT Cisco-Account-Info += CLASS_B_3MBIT Cisco-Account-Info += CLASS_C_4MBIT По аналогии и для пользователя client_3. Подходит? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kww Posted July 11, 2010 client_1 - CLASS-A - 1мбит, CLASS-B - 2мбит, CLASS-C - 3мбитЯ подозреваю, что здесь возможна ошибка. Клиенту назначается сервис (или сервисы), а не класс трафика................. Cisco-Account-Info = CLASS_A_2MBIT Cisco-Account-Info += CLASS_B_3MBIT Cisco-Account-Info += CLASS_C_4MBIT По аналогии и для пользователя client_3. Подходит? Подходит, спасибо за разъяснение. Сказывается разница в терминологии и мое поверхностное знакомство с ISG )) Следующий вопрос: у нас пиринговая сеть UA-IX насчитывает ~4000 сетей, на данный момент для классификации используется ipset , как быть в случае с ISG ?? Еще один вопрос, не совсем в тему. Для ограничения скорости в ISG используется полисинг. На скоростях меньше 1Mbit клиентам становиться очень некомфортно. Вешать шейпер ??? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 11, 2010 используется ipset , как быть в случае с ISG ??Заливать их все в файл tc.conf. Для классификации используется хеш, а не линейный просмотр, поэтому с настройками по умолчанию 4000 сетей прожуются так как задумано, то есть без потерь производительности. клиентам становиться очень некомфортно. Вешать шейпер ???Мои тесты так и не показали субъективных различий для пользователя между полисингом и шейпингом. Может быть дело в размере берста? На практике используются тарифы вплоть до 200 Кбит/с с берстом 300 Кбит/с. На дискомфорт жалоб нет, пользователей таких несколько тысяч. Еще полисинг значительно дешевле в плане накладных расходов (CPU), чем шейпинг. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vitalyb Posted July 14, 2010 Умник Вы не меряли соотношение дропов к пропущеному трафику во время длительной закачки на отдельно взятой сессии? Или какой "в среднем" получается объем дропнутого трафика? У tc filter police на синтетическом тесте получается так: police 0x2e rate 1024Kbit burst 2000Kb mtu 5000b action drop overhead 0b Sent 31313384 bytes 20880 pkts (dropped 3836, overlimits 3836) т.е. 20% полосы в этом отдельном примере выброшено. Для 512 получается - 26%, 256 - 38%. В реальности у вас так же? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 14, 2010 vitalyb, не мерял. Оценивал только субъективные ощущения от полисинга и шейпинга на одной и той же скорости (от 200 Кбит/с). Берст при этом был (в Кбит/с): normal_burst = CIR * 1.5. Получилось одинаково. Кстати, speed-тесты выдают скорость очень близкую к заказанной, как ни странно. Подумаю как покрутить более "научные" тесты. :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vitalyb Posted July 14, 2010 Умник tc в примере выше тоже всё точно отполисил и wget получил свои ~120KB/s, с точки зрения абонента действительно значительной разницы быть не должно. Смущает только то, что до полисера sustain аж 1.2Мбита, т.е. почти 200кбит/сек постоянно сливаются в /dev/null. Но это "синтетика", интересно что будет на "интернетовком" трафике... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 14, 2010 vitalyb, здесь как мне кажется, прежде всего нужно учитывать, что на 100% выбрать полосу пытается лишь малый процент пользователей. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted July 23, 2010 Повторю свой вопрос на тему инициации сессий входящим трафиком. Ситуация в следующем : По предполагаемой сейчас мною схеме, входящий и исходящий трафик идут разными путями через разные сервера-шейперы. Соответственно через тот сервер с ISG который обслуживает входящий трафик , никогда не идет исходящий. Можно ли сделать опцию, чтоб входящие пакеты тоже стартовали сессию ISG ? ну типа там --session-init-indirection Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 23, 2010 LostSoul, сделать можно, но только в этом случае (если Вы используете реальные IP-адреса) получается, что любой пользователь Интернета может стартовать сессию Вашему клиенту. Хотим ли мы этого? Насколько это плохо? Вообще схема интересная. Какой смысл в обработке входящего трафика одним сервером, а исходящего другим? Load balancing? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted July 23, 2010 LostSoul, сделать можно, но только в этом случае (если Вы используете реальные IP-адреса) получается, что любой пользователь Интернета может стартовать сессию Вашему клиенту. Хотим ли мы этого? Насколько это плохо? Вообще схема интересная. Какой смысл в обработке входящего трафика одним сервером, а исходящего другим? Load balancing? Хотим. Пускай стартует. Можно в принципе сделать ограничение чтоб сессии меньше 1Кб не считало. на случай "сканирования диапазона". Балансинг -- да. Такое решение планируется применить для распределения нагрузки. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 23, 2010 LostSoul, хорошо, сделаю, это несложно. Но не считать мелкие сессии - задача биллинга, я думаю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 27, 2010 LostSoul, вот: http://bitbucket.org/sysoleg/lisg/changeset/70257c5b3c83 tar.gz: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
LostSoul Posted July 27, 2010 LostSoul, вот: http://bitbucket.org/sysoleg/lisg/changeset/70257c5b3c83 tar.gz: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz Огромное спасибо, потестим. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kww Posted July 31, 2010 Возник вопрос . На CentOS ISG работать будет ? ядро 2.6.18-194.8.1.1.el5. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 31, 2010 Была проблема с работой под 2.6.18: http://bitbucket.org/sysoleg/lisg/issue/1/...entos-55-x86_64 Попробуйте взять tip: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kww Posted July 31, 2010 (edited) Была проблема с работой под 2.6.18: http://bitbucket.org/sysoleg/lisg/issue/1/...entos-55-x86_64Попробуйте взять tip: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz Не получилось с ходу ..[root@shaper 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/2.6.18-194.8.1.1.el5/build M=/usr/src/lisg/kernel modules make[1]: Entering directory `/usr/src/kernels/2.6.18-194.8.1.1.el5-x86_64' CC [M] /usr/src/lisg/kernel/isg_main.o CC [M] /usr/src/lisg/kernel/isg_nehash.o LD [M] /usr/src/lisg/kernel/ipt_ISG.o Building modules, stage 2. MODPOST CC /usr/src/lisg/kernel/ipt_ISG.mod.o LD [M] /usr/src/lisg/kernel/ipt_ISG.ko make[1]: Leaving directory `/usr/src/kernels/2.6.18-194.8.1.1.el5-x86_64' gcc -O2 -Wall -Wunused -I/lib/modules/2.6.18-194.8.1.1.el5/build/include -I/usr/share/doc/iptables-sources//include -DIPTABLES_VERSION=\"1.3.5\" -fPIC -o libipt_ISG_sh.o -c libipt_ISG.c libipt_ISG.c:120: ошибка: variable ‘isg_info’ has initializer but incomplete type libipt_ISG.c:121: ошибка: неизвестное поле ‘name’ в инициализаторе libipt_ISG.c:121: предупреждение: избыточные элементы в инициализаторе структуры libipt_ISG.c:121: предупреждение: (где-то рядом с инициализацией для ‘isg_info’) ..... make: *** [all] Ошибка 1 Edited July 31, 2010 by kww Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted July 31, 2010 *** NOTE! *** If you're using iptables version < 1.4.0, you must replace libipt_ISG.c file with its modified version from "old_iptables" directory Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kww Posted July 31, 2010 *** NOTE! *** If you're using iptables version < 1.4.0, you must replace libipt_ISG.c file with its modified version from "old_iptables" directory Уже увидел, спасибо... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
EvilShadow Posted August 1, 2010 Есть ли возможность логирования всех запросов к радиусу? Сейчас есть Aug 1 09:57:04 gate1 ISG[25619]: Session '10.0.8.190' rejected by '192.168.0.10:1812'Aug 1 09:57:04 gate1 ISG[25619]: Session '10.0.4.36' rejected by '192.168.0.10:1812' Дело в том, что время от времени в логах биллинга упоминаются accounting stop пакеты для пользователей, которые авторизацию при этом не прошли. Не могу понять, то ли это у меня где-то проблема, то ли действительно приходят стоп-пакеты с ISG. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Умник Posted August 1, 2010 EvilShadow, я кажется обнаружил причину. Попробуйте последний снапшот: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...