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

Радиус сервер не может найти логин если в нём есть собака @
http://forum.bitel.ru/viewtopic.php?f=5&t=11002
Страница 1 из 1

Автор:  max [ 19 окт 2015, 13:42 ]
Заголовок сообщения:  Радиус сервер не может найти логин если в нём есть собака @

Добрый день!
Подскажите плиз что сделать что бы биллинг стал видеть логины в которых есть собака?
В наследство достался нас с 1000 клиентов и у всех есть собака в имени логина.
Как вы понимаете ездить по ним и убирать собаку не вариант.
Заранее спасибо.

Автор:  Phricker [ 19 окт 2015, 13:48 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Версии?

Автор:  max [ 19 окт 2015, 14:04 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

6.1

Автор:  Phricker [ 19 окт 2015, 14:09 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

1) Этот NAS так и остался отдельным?
2) В биллинге логины занесены с @?

P.S. Можно попробовать скрипт предобработки RADIUS запроса повесить на RADIUS-аутентификацию, который будет отрезать эту @ из запроса и искать без нее.

Автор:  max [ 19 окт 2015, 14:14 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

нас был микротик с локальной базой переносим на цыску + биллинг, забить в биллинг придётся с собаками так как иначе придётся менять у абонентов.

Автор:  max [ 19 окт 2015, 14:15 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

не увидел сразу серый шрифт, я бы повесил если бы шарил в яво коде.

Автор:  Phricker [ 19 окт 2015, 14:22 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

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

Автор:  stark [ 19 окт 2015, 14:25 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

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

Автор:  max [ 19 окт 2015, 14:28 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

alm4gch1@scdc.ru
adl4bol@scdc.ru

Автор:  stark [ 19 окт 2015, 14:35 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

если у всех после собаки идет один домен, то как решение в лоб , просто настроить realm.

Автор:  max [ 19 окт 2015, 14:36 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

в конфигурации модуля стоит:
#разрешение пользователям без определённой группы REALM ов использовать группу default
realmgr.default=default

но как отключить эти реалмы не понятно.....

Автор:  max [ 19 окт 2015, 14:36 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Не у всех, есть два типа с доменом и без.
соотношение 70/30

Автор:  max [ 19 окт 2015, 14:37 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Поможете с конфигурацией?

Автор:  Phricker [ 19 окт 2015, 14:40 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

http://docs.bitel.ru/pages/viewpage.act ... Id=1606297

Код:
realm.scdc.ru=Framed-Pool=<pool_name>;
realmgr.new_users=scdc.ru


И попробуйте пользователю привесить этот реарм и авторизоваться
Те у кого нет реарма - будут с дефолтовым.
Потом приучайте пользователей не пользоваться @ и удаляете эту настройку

Автор:  Phricker [ 19 окт 2015, 14:43 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Изображение

Единственное, я не знаю будут ли выдаваться остальные атрибуты согласно опциям указанным в тарифе.
Проверить надо

Автор:  max [ 19 окт 2015, 14:50 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

ок, спасибо проверим

Автор:  skn [ 19 окт 2015, 15:13 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

скриптом в обработке радиус запроса обрезать @ и все что после нее (или заменять @ и точку на какой нибудь символ, например дефис)
в базе завести логины до @
(главное проверить что бы не было совпадений обрезанных логинов и тех что были без @)

Автор:  max [ 19 окт 2015, 23:03 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

код скрипта можете дать? а то я сам не алё в яве

Автор:  Phricker [ 19 окт 2015, 23:33 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Реалм не помог?

Автор:  max [ 20 окт 2015, 14:05 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Phricker писал(а):
http://docs.bitel.ru/pages/viewpage.action?pageId=1606297

Код:
realm.scdc.ru=Framed-Pool=<pool_name>;
realmgr.new_users=scdc.ru


И попробуйте пользователю привесить этот реарм и авторизоваться
Те у кого нет реарма - будут с дефолтовым.
Потом приучайте пользователей не пользоваться @ и удаляете эту настройку

а без пула можно? у нас каждому клиенту индивидуальный адрес выдаётся.

Автор:  Phricker [ 20 окт 2015, 14:07 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Попробуй :) У меня никогда не было реалмов.

Автор:  max [ 20 окт 2015, 17:04 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Нет не заработало, биллинг в мониторе пишет что логин не найден

Автор:  Phricker [ 20 окт 2015, 17:59 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Хз правда будет ли работать. DialUp'а нет рабочего, проверить не на чем.
Логины в биллинг должны быть добавлены без @sdsc.ru
Добавь в динамический код, потом динкод привяжи на событие радиус аутентификации и повесь этот скрипт на тестовый
договор.
Изображение

Код:
package ru.ellcom.bgbilling.scripts.dialup;

import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.modules.dialup.radius.event.RadiusAuthenticationEvent;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

import java.sql.Connection;

public class RemoveAtFromUserName
extends EventScriptBase<RadiusAuthenticationEvent >
{
   @Override
   public void onEvent(RadiusAuthenticationEvent event, Setup setup, ConnectionSet connectionSet)
         throws Exception {

      int cid = event.getContractId();
      Connection con = connectionSet.getConnection();
      if(event.getUserName().contains("@scdc.ru")){
         RadiusPacket request = (RadiusPacket) event.getRequest();
         String userName = request.getStringAttribute(-1, 1, null);
         userName.replace("@scdc", "");
         request.setStringAttribute(-1,1,userName);
      }
   }
}

Автор:  Amir [ 20 окт 2015, 18:04 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Мне кажется лучше сделать в предобработке RADIUS-запросов.
Тем более что они вроде как привязаны к одному NAS?
И просто @ заменять на '-'

Автор:  Phricker [ 20 окт 2015, 18:20 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Amir, и точно.
Забыл про предобработку RADIUS запросов.

max, то что советует Amir.

Код:
import bitel.billing.server.radius.*;

userName = request.getStringAttribute(RadiusStandartAttributes.User-Name);
if(userName.contains("@scdc.ru")
   request.setStringAttribute(RadiusStandartAttributes.User-Name, userName.replace("@", "-"));
}


Добавляется на вкладке "Скрипт предобработки" вашего NAS'а
Изображение

логин должен быть заведен через тире вместо @

Автор:  max [ 20 окт 2015, 20:12 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

гранд мерси!

Автор:  Phricker [ 20 окт 2015, 20:34 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Работает что ли?

Автор:  max [ 20 окт 2015, 21:37 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

это за скрипт, проверить смогу тока завтра. но думаю что проблем быть не должно

Автор:  Phricker [ 20 окт 2015, 23:27 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Код:
import bitel.billing.server.radius.*;

userName = request.getStringAttribute(RadiusStandartAttributes.User-Name);
if(userName.contains("@scdc.ru")
   request.setStringAttribute(RadiusStandartAttributes.User-Name, userName.replace("@", "-"));
}

Исправил... UserName через тире идет судя по словарю. Проверяйте лучше этот вариант :)
p.s. исходный тоже изменил, но мало ли скопировал уже

Автор:  max [ 22 окт 2015, 17:41 ]
Заголовок сообщения:  Re: Радиус сервер не может найти логин если в нём есть собак

Да спасибо второй вариант работает!

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