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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

:)

ну что ж..... спасибо большое - посмотрим попробуем!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проект перемещен на BitBucket.Org: http://bitbucket.org/sysoleg/lisg/downloads/

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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.

 

Подходит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Умник

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

 

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Умник

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

 

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

 

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возник вопрос .

На CentOS ISG работать будет ?

ядро 2.6.18-194.8.1.1.el5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем kww

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.