forum.bitel.ru http://forum.bitel.ru/ |
|
Перенаправление при отрицательном балансе http://forum.bitel.ru/viewtopic.php?f=5&t=1510 |
Страница 1 из 1 |
Автор: | Alex-XXI [ 15 окт 2008, 13:27 ] |
Заголовок сообщения: | Перенаправление при отрицательном балансе |
Хотим сделать перенаправление для абонентов с отрицательным балансом на соответствующую Web-страничку. Я вижу решение так: если у пользователя текущий остаток меньше лимита в договоре, то при подключении выдавать ему адрес из отдельного пула адресов. Для этого пула адресов на роутере сделать перенаправление 80 порта на нужный сервер. Вопрос - как это можно реализовать в BG биллинге? |
Автор: | Администратор [ 15 окт 2008, 14:39 ] |
Заголовок сообщения: | |
http://wiki.bgbilling.ru/index.php/%D0% ... _DialUP.29 * Детальное информирование абонентов о причинах ошибки 691 Можно, впринципе и другие адреса выдавать. Про огранизацию пула в скриптах что-то в форуме проскакивало. |
Автор: | snark [ 15 окт 2008, 15:45 ] |
Заголовок сообщения: | |
ЕМНИМС было только про то как выдавать пулы на основе тарифа |
Автор: | Администратор [ 15 окт 2008, 15:53 ] |
Заголовок сообщения: | |
Нет, так не получится. Адреса раздаются _до_ генерации данного события. Если только выдавать пул, который будет поддерживать сам NAS. |
Автор: | snark [ 15 окт 2008, 16:41 ] |
Заголовок сообщения: | |
тады топикстартеру поможет только статья, на которую Вы указывали, т.е. Детальное информирование абонентов о причинах ошибки 691, во всяком случае у меня почти так (без wccp) уже давно и успешно работает ... P.S. поздравляю с выпуском 4.5! ![]() |
Автор: | Alex-XXI [ 15 окт 2008, 17:09 ] |
Заголовок сообщения: | |
Спасибо, статья помогла. Пришлось сделать пул на НАСе, адреса выдаются из него. |
Автор: | Maxel [ 30 июл 2009, 17:00 ] |
Заголовок сообщения: | |
snark писал(а): тады топикстартеру поможет только статья, на которую Вы указывали, т.е. Детальное информирование абонентов о причинах ошибки 691, во всяком случае у меня почти так (без wccp) уже давно и успешно работает ...
P.S. поздравляю с выпуском 4.5! ![]() А можете расказать как у вас сделано? происходит перенаправление на NASe или просто доступны только порты BG, тоесть перенаправление не происходит? |
Автор: | snark [ 30 июл 2009, 17:53 ] |
Заголовок сообщения: | |
Maxel писал(а): А можете расказать как у вас сделано?
конечно ![]() в качестве наса стоит mpd, адреса клиентам выдаются радиусом, а в конфиге мпд есть пул который будет использован если из радиуса пул/адрес не пришел и все запросы с адреса из этого пула направленные не на станицу статистики заворачиваются на стоящий на том же насе nginx который и рисует страничку "денег нет" ... есть идея переделать это все, чтобы клиенты заворачивались на сквид, а уже тот на основании имени к которому обращаются будет либо пускать либо кидать на nginx, так будет более гибче, IMHO |
Автор: | Rionet [ 30 июл 2009, 22:59 ] |
Заголовок сообщения: | |
Мы делали в логон скрипте бгбиллинга проверку баланса и прочих ошибок, потом скрипт логинился на NAS по телнету и вносил ip юзера в нужную группу (приостановлен по баллансу, приостановлен вручную, неверный мак, можно еще неверный логин/пароль добавить). Далее уже там делалось жесткое перенаправление на ngnix где вместо яндексов юзеру показывалась страничка с подробной инфой о его состоянии. |
Автор: | Maxel [ 04 авг 2009, 10:52 ] |
Заголовок сообщения: | |
snark писал(а): Maxel писал(а): А можете расказать как у вас сделано? конечно ![]() в качестве наса стоит mpd, адреса клиентам выдаются радиусом, а в конфиге мпд есть пул который будет использован если из радиуса пул/адрес не пришел и все запросы с адреса из этого пула направленные не на станицу статистики заворачиваются на стоящий на том же насе nginx который и рисует страничку "денег нет" ... есть идея переделать это все, чтобы клиенты заворачивались на сквид, а уже тот на основании имени к которому обращаются будет либо пускать либо кидать на nginx, так будет более гибче, IMHO Это все конечно хорошо, но, всегда оно мешает, при запросе к радиусу тот же mpd получит отказ, без всяких атрибутов, то есть сессия не поднимется, так как радиус получил единственный ответ от билинга, DENY! и соответственно сессия не с генерируется. ну это ладно. У меня NAS в виде cisco UBR, и вот как на ней сделать поворот, вот вопрос. Я подумываю в сторону route-map, для адресов разданный клиентам по дхцп, и все что проходит через них, отправлять на какой нить unix? где собственно и показывать клиенту, что он не прав. ![]() |
Автор: | snark [ 05 авг 2009, 21:01 ] |
Заголовок сообщения: | |
Maxel писал(а): Это все конечно хорошо, но, всегда оно мешает, при запросе к радиусу тот же mpd получит отказ, без всяких атрибутов, то есть сессия не поднимется, так как радиус получил единственный ответ от билинга, DENY! и соответственно сессия не с генерируется. порядок действий такой (примерно): 1. мпд спрашивает у радиуса разрешения 2. радиус, запускет скрипт на событие RADIUS - Аутентификация" (см. комменты) Код: import bitel.billing.server.radius.*; import bitel.billing.server.script.event.*; import java.util.*; errorCode = event.getErrorCode(); response = event.getResponse(); // если ошибка - это ошибка баланса (ошибки можно добавить по вкусу) if (errorCode == 4) { // то говорим Accept вместо Deny response.setPacketType(RadiusPacket.AUTHENTICATION_ACCEPT); // формируем нужные атрибуты, для примера их 3 radAttrib1 = new RadiusAttribute(6); radAttrib1.setIntValue(2); radAttrib2 = new RadiusAttribute(7); radAttrib2.setIntValue(1); radAttrib3 = new RadiusAttribute(27); radAttrib3.setIntValue(300); // и посылаем эти атрибуты нашему насу response.addAttribute(radAttrib1); response.addAttribute(radAttrib2); response.addAttribute(radAttrib3); } после чего сессия прекрасно поднимается ![]() Maxel писал(а): У меня NAS в виде cisco UBR, и вот как на ней сделать поворот, вот вопрос. Я подумываю в сторону route-map, для адресов разданный клиентам по дхцп, и все что проходит через них, отправлять на какой нить unix?
сделать там редирект - это не вопрос ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |