forum.bitel.ru
http://forum.bitel.ru/

Загрузка сервисов ISG
http://forum.bitel.ru/viewtopic.php?f=5&t=5688
Страница 1 из 1

Автор:  vasco [ 08 июл 2011, 13:33 ]
Заголовок сообщения:  Загрузка сервисов ISG

Не знаю как быть, может разъясните мне такое поведение
И так имею
Код:
   Сервер: вер. 5.1 сборка 673 от 21.06.2011 13:29:08
os:Windows 7; java:Sun Microsystems Inc., v.1.6.0_24

   dialup вер. 5.1 сборка 182 от 26.05.2011 11:58:58


Код:
Cisco IOS Software, 7200 Software (C7200-A3JK91S-M), Version 12.2(31)SB16, RELEASE SOFTWARE (fc2)


Пользователь 2 имеет в тарифе набор атрибутов isgfrombg
Код:
attrset.6.title=isgfrombg
attrset.6.attributes=Cisco-Service-Info=NServiceISG;Cisco-SSG-Account-Info=AServiceISG;Cisco-SSG-Account-Info=NServiceISG


Пользователь ServiceISG имеет свой набор атрибутов
Код:
cisco-avpair=ip:traffic-class=out access-group 195 priority 6
cisco-avpair=ip:traffic-class=out access-group 195 priority 6


Есть скрипт поведения подключенный к ServiceISG для удаления Framed-IP-Address
Код:
request = event.getRequest();
response = event.getResponse();

List attributesToRemove = new ArrayList();

un = request.getStringAttribute(-1,RadiusStandartAttributes.User_Name,"");

if (un.equals("ServiceISG")){
  list = response.getAttributes(-1,RadiusStandartAttributes.Framed_IP_Address);
  if (list != null)
  {
    for (it = list.iterator(); it.hasNext();)
    {
      ra = (RadiusAttribute.RadiusAttributeIpAddr)it.next();
      attributesToRemove.add(ra);
    }
    //Удаляем ненужные атрибуты из списка
    for(it = attributesToRemove.iterator(); it.hasNext();){
      list.remove(it.next());
      }
  }
}


Есть скрипт предобработки подключенный к NAS, который меняет атрибут NAS-Port у пользователя ServiceISG с текущего на 1
Код:
import bitel.billing.server.radius.*;
import ru.bitel.bgbilling.kernel.network.radius.*;
import bitel.billing.common.IPUtils;

un = request.getStringAttribute(RadiusStandartAttributes.User_Name);
np = request.getIntAttribute(-1,RadiusStandartAttributes.NAS_Port,Integer.valueOf(0));

if (un.equals("ServiceISG")){
   request.removeAttributes(-1,RadiusStandartAttributes.NAS_Port);
   request.setIntAttribute(-1,RadiusStandartAttributes.NAS_Port,1);
}


Теперь вопрос, будет ли такое работать (проверял на 1 пользователе), чисто гипотетически?

Вложение:
Комментарий к файлу: Лог подключения пользователя и сервиса
radius.log [8.89 КБ]
Скачиваний: 503

Автор:  snark [ 08 июл 2011, 17:38 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

vasco писал(а):
Код:
Cisco IOS Software, 7200 Software (C7200-A3JK91S-M), Version 12.2(31)SB16, RELEASE SOFTWARE (fc2)


Кажется именно на этом билде у меня vlan-range не работал :(

Автор:  vasco [ 08 июл 2011, 17:54 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Мне интересно другое :)

Почему, если не изменять NAS-Port, то тогда сессия сервиса [ServiceISG] будет висеть в мониторе, а сессия пользователя отвалится в BGB с ошибкой в radius.log
Код:
07-08/17:42:57 ERROR [radiusListener-p-2-t-2] DialUpNasConnection - Stop without start!

хотя Acct-Session-Id у пользователя и сервиса разные!!!
И самое, что замечательное, это Accounting-Request приходящие от пользователя будут привязаны к сервису!!!

p.s. на cisco будут висеть и сервис и пользователь
Вложение:
Комментарий к файлу: radius.log
radius.log [8.03 КБ]
Скачиваний: 504

Автор:  vasco [ 11 июл 2011, 13:21 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Разработчики :), ребята, помогите!!!
Пожалуйста дайте ответ, нормально ли так изменять NAS-Port и убирать Framed-IP-Address?
Не поламается ли логика работы при этом?

Автор:  Cromeshnic [ 11 июл 2011, 13:26 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Ну биллинг различает сессии только по NAS-Port и NAS-IP-Address (если мне память не изменяет).

У нас чтобы сессии сервисов не склеивались, во-первых они авторизуются в отдельном экземпляре модуля dialup, а во-вторых скриптом предобработки изменяется NAS-Port в зависимости от сервиса.

Автор:  vasco [ 11 июл 2011, 14:41 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Т.е. у вас сервисы по каждому пользователю будут видны в мониторе? Или они сразу отваливаются?
Не совсем логику пойму, зачем было выносить в отдельный модуль?

Автор:  Dmitri [ 11 июл 2011, 22:42 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Cromeshnic писал(а):
Ну биллинг различает сессии только по NAS-Port и NAS-IP-Address (если мне память не изменяет).

У нас чтобы сессии сервисов не склеивались, во-первых они авторизуются в отдельном экземпляре модуля dialup, а во-вторых скриптом предобработки изменяется NAS-Port в зависимости от сервиса.


А можете подробнее рассказать про отдельный экземпляр?

Автор:  Cromeshnic [ 12 июл 2011, 06:26 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Блин, кто ж меня за язык тянул :/
Если нужно просто авторизовывать сессии сервисов, то можно завести отдельный договор, в котором всех их перечислить.
У нас ещё аккаунтинг с них собирается, для чего вынесли их в отдельный экземпляр модуля, подняли отдельный радиус-сервер для него. Ну там куча скриптов, довольно сложная схема..

Автор:  Dmitri [ 12 июл 2011, 14:39 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Cromeshnic писал(а):
Блин, кто ж меня за язык тянул :/
Если нужно просто авторизовывать сессии сервисов, то можно завести отдельный договор, в котором всех их перечислить.
У нас ещё аккаунтинг с них собирается, для чего вынесли их в отдельный экземпляр модуля, подняли отдельный радиус-сервер для него. Ну там куча скриптов, довольно сложная схема..


Опа.... Вот это как? Цитирую: " то можно завести отдельный договор, в котором всех их перечислить".

Давайте рассказывайте! :)

Автор:  Cromeshnic [ 13 июл 2011, 06:53 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

viewtopic.php?t=4352&p=30734#p30734

Автор:  vasco [ 13 июл 2011, 12:34 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

А поделиться скриптами можете? :)
Схему то я уже рассматривал, не очень хочется заморачиваться на это.
Да и я так понимаю, не надо нам считать аккаунтинг по сервисам пока что.

Автор:  Cromeshnic [ 13 июл 2011, 12:59 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Ой, я перепутал. В простом случае по ссылке тоже отдельный модуль, чтобы сессии не склеивались, и, главное, чтобы разделить pppoe-логины и isg-логины (чтобы юзеры не могли логиниться под именем INET : cisco).

А какие именно скрипты нужно? Там много накручено, я уже сам забыл всё. Лучше сейчас 5.2 пилить имхо :)

Автор:  vasco [ 13 июл 2011, 15:14 ]
Заголовок сообщения:  Re: Загрузка сервисов ISG

Как я уже написал, с помощью подмены Nas-Port у меня сессии не склеиваются.
Интересно то, что вы за скрипты написали и их логику работы.

p.s. А по поводу пользователей, им еще надо знать пароль от сервисов :)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/