Jump to content
Калькуляторы
А кто нить пробовал данный lISG с netup или каким другим биллингом?
Я прикручивал к Abills - работает.

можете в 2 словах рассказать - возможно сталкивались с какими то проблемами ?

Share this post


Link to post
Share on other sites

А кто нить пробовал данный lISG с netup или каким другим биллингом?
Я прикручивал к Abills - работает.

можете в 2 словах рассказать - возможно сталкивались с какими то проблемами ?

Конечно могу. Проблема в том, что в abills нет поддержки сабжа :-D. Посему - http://abills.net.ua/forum/viewtopic.php?f=11&t=5224 .

Share this post


Link to post
Share on other sites

Хотя я надеялся что скорость по классам можно так же будет через радиус задавать при 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 :)) но необходимость в этом есть.

Заранее благодарю а ответ.

Share this post


Link to post
Share on other sites

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.

 

Подходит?

Share this post


Link to post
Share on other sites

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

клиентам становиться очень некомфортно. Вешать шейпер ???

Share this post


Link to post
Share on other sites

используется ipset , как быть в случае с ISG ??
Заливать их все в файл tc.conf. Для классификации используется хеш, а не линейный просмотр, поэтому с настройками по умолчанию 4000 сетей прожуются так как задумано, то есть без потерь производительности.

 

клиентам становиться очень некомфортно. Вешать шейпер ???
Мои тесты так и не показали субъективных различий для пользователя между полисингом и шейпингом. Может быть дело в размере берста? На практике используются тарифы вплоть до 200 Кбит/с с берстом 300 Кбит/с. На дискомфорт жалоб нет, пользователей таких несколько тысяч. Еще полисинг значительно дешевле в плане накладных расходов (CPU), чем шейпинг.

Share this post


Link to post
Share on other sites

Умник

Вы не меряли соотношение дропов к пропущеному трафику во время длительной закачки на отдельно взятой сессии? Или какой "в среднем" получается объем дропнутого трафика?

 

У 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%.

 

В реальности у вас так же?

 

Share this post


Link to post
Share on other sites

vitalyb, не мерял. Оценивал только субъективные ощущения от полисинга и шейпинга на одной и той же скорости (от 200 Кбит/с). Берст при этом был (в Кбит/с): normal_burst = CIR * 1.5. Получилось одинаково. Кстати, speed-тесты выдают скорость очень близкую к заказанной, как ни странно. Подумаю как покрутить более "научные" тесты. :)

 

Share this post


Link to post
Share on other sites

Умник

tc в примере выше тоже всё точно отполисил и wget получил свои ~120KB/s, с точки зрения абонента действительно значительной разницы быть не должно. Смущает только то, что до полисера sustain аж 1.2Мбита, т.е. почти 200кбит/сек постоянно сливаются в /dev/null. Но это "синтетика", интересно что будет на "интернетовком" трафике...

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Повторю свой вопрос на тему инициации сессий входящим трафиком.

 

Ситуация в следующем :

По предполагаемой сейчас мною схеме, входящий и исходящий трафик идут разными путями через разные сервера-шейперы.

 

Соответственно через тот сервер с ISG который обслуживает входящий трафик , никогда не идет исходящий.

 

Можно ли сделать опцию, чтоб входящие пакеты тоже стартовали сессию ISG ?

 

ну типа там --session-init-indirection

 

Share this post


Link to post
Share on other sites

LostSoul, сделать можно, но только в этом случае (если Вы используете реальные IP-адреса) получается, что любой пользователь Интернета может стартовать сессию Вашему клиенту. Хотим ли мы этого? Насколько это плохо?

 

Вообще схема интересная. Какой смысл в обработке входящего трафика одним сервером, а исходящего другим? Load balancing?

Share this post


Link to post
Share on other sites

LostSoul, сделать можно, но только в этом случае (если Вы используете реальные IP-адреса) получается, что любой пользователь Интернета может стартовать сессию Вашему клиенту. Хотим ли мы этого? Насколько это плохо?

 

Вообще схема интересная. Какой смысл в обработке входящего трафика одним сервером, а исходящего другим? Load balancing?

Хотим. Пускай стартует. Можно в принципе сделать ограничение чтоб сессии меньше 1Кб не считало. на случай "сканирования диапазона".

 

Балансинг -- да. Такое решение планируется применить для распределения нагрузки.

 

Share this post


Link to post
Share on other sites

LostSoul, хорошо, сделаю, это несложно. Но не считать мелкие сессии - задача биллинга, я думаю.

 

Share this post


Link to post
Share on other sites

Огромное спасибо, потестим.

 

Share this post


Link to post
Share on other sites

Была проблема с работой под 2.6.18: http://bitbucket.org/sysoleg/lisg/issue/1/...entos-55-x86_64

Попробуйте взять tip: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz

 

Share this post


Link to post
Share on other sites

Была проблема с работой под 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 by kww

Share this post


Link to post
Share on other sites

    *** 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

Уже увидел, спасибо...

Share this post


Link to post
Share on other sites

Есть ли возможность логирования всех запросов к радиусу? Сейчас есть

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.

Share this post


Link to post
Share on other sites

EvilShadow, я кажется обнаружил причину. Попробуйте последний снапшот: http://bitbucket.org/sysoleg/lisg/get/tip.tar.gz

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.