BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 июн 2025, 10:46

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 26 сен 2014, 14:54 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Если скорость зависит от тарифа, то нужно это делать через опции inet. В опцию inet помещать имя листа. И в тарифы ставить опции inet.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2014, 20:07 
Не в сети

Зарегистрирован: 03 фев 2014, 23:32
Сообщения: 27
Карма: 0
в вики нашел это
Код:
#Команды включения опций сервиса на устройстве(1 - это код опции).
sa.command.inetOption.1.enable=
#Команды выключения опций сервиса на устройстве(1 - это код опции).
sa.command.inetOption.1.disable=
#Команды включения опций соединения на устройстве( 1 - код опции).
sa.command.connection.inetOption.1.enable=
#Команды включения опций соединения на устройстве( 1 - код опции).
sa.command.connection.inetOption.1.disable=
чем отличаются эти два вида опций? и как их можно использовать в вики не написано...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2014, 20:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
sa.command.inetOption.1.enable - это для сервиса, sa.command.connection.inetOption.1.enable - это для соединения.
Т.е. если соединений три и активируется опция с ID=1, то один раз выполнится sa.command.inetOption.1.enable (здесь $ip - это статический адрес, если он задан в сервисе, иначе пустая строка), и три раза sa.command.connection.inetOption.1.enable для каждого соединения (здесь $ip - это IP-адрес сессии).

Создайте опцию-папку Скорость, все опции отвечающие за скорость переместите туда.
В конфигурации опции-скорости укажите соответствующий list=list_30
Предположим у созданной опции-папки Скорость ID=10.

Код:
removeList=/ip firewall address-list remove [/ip firewall address-list find comment=$ip]
replaceList={@removeList};/ip firewall address-list add address=$ip list=$param($option(10),list,list_NOMONEY) comment=$ip

sa.command.onAccountingStart={@replaceList}
sa.command.onAccountingStop={@removeList}

sa.command.connection.inetOption.1.enable={@replaceList}
sa.command.connection.inetOption.2.enable={@replaceList}
sa.command.connection.inetOption.3.enable={@replaceList}
sa.command.connection.inetOption.4.enable={@replaceList}


$option(10) вернет активную опцию, у которой есть предок с ID=10
$param($option(10),list,list_NOMONEY) вернет значение из конфига этой опции по ключу list. Если опции скорости нет или в конфиге опции нет параметра list=, то вернется list_NOMONEY.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2014, 22:17 
Не в сети

Зарегистрирован: 03 фев 2014, 23:32
Сообщения: 27
Карма: 0
Amir писал(а):
$option(10) вернет активную опцию, у которой есть предок с ID=10
$param($option(10),list,list_NOMONEY) вернет значение из конфига этой опции по ключу list. Если опции скорости нет или в конфиге опции нет параметра list=, то вернется list_NOMONEY.
ок, хорошо завтра попробую.
в случае если тариф не выбран, есть спец ACL - NOTAR, в котором заглушка с сообщением о том что тариф не выбран.

в случае если баланс отрицательный, биллинг вроде не даёт установить pppoe?
можно ли в таком случае разрешить установить pppoe, а юзера переносить в отдельный ACL?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2014, 22:58 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jone31 писал(а):
в случае если баланс отрицательный, биллинг вроде не даёт установить pppoe?

да
jone31 писал(а):
можно ли в таком случае разрешить установить pppoe, а юзера переносить в отдельный ACL?

Можно разрешить
Код:
radius.disable.accessCodes

http://bgbilling.ru/v6.1/doc/ch17s13s03s01.html

Вот насчет юзера в отдельный ACL - это надо подумать как. Возможно надо добавить отдельный вид команд в TelnetServiceAcivator.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2014, 23:07 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Биллинг при ошибках умеет пускать и выдавать другие атрибуты, адреса из других ресурсов/подсетей.
Есть страница, которая показывает подробности об ошибке доступа. Так что нужно только одно правило, которое будет перенаправлять на эту страницу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2014, 04:03 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
jone31 писал(а):
отслеживание входов физика из мест для юрика
...
физики сидят во 2 влане, юрики сидят в 3 влане, в каждом влане свой pppoe сервер. все заведены в билинге и авторизуются по радиусу
...
Текущий билинг не разделяет юзеров на физики и юрики, поэтому делали такие костыли.

Позвольте вопрос: а зачем тащить старые костыли в биллинг, который прекрасно сумеет разделить мух от котлет?
Хрен знает когда, еще до inet, я прекрасно разделял доступ не то что по VLAN-ам, а еще хитрее. Что мешает вам сравнить при авторизации всего 2 вещи: ID группы и разрешенный для этой группы VLAN? Скрипт будет довольно простеньким, зато не надо будет заморачиваться заходами на микротик и правкой его списков. Может я чего-то не понимаю, но ... Зачем вы плодите сущности? Может стоит бритвой Оккама побриться? :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2014, 13:27 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Если я правильно понял, то задача вообще просто в том чтобы на одном NAS'е (или на одной группе NAS'ов) авторизовать только одних абонентов, на другом - другой.
Это можно сделать через тариф, указав в тарифе разрешенные NAS'ы. Можно сделать через привязку сервисов договора к определенному NAS'у (или папке устройств-NAS'ов), например, создав два разных типа сервиса и указав в них привязку к нужному устройству-NAS'у вместо обычного Access+Accounting.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 сен 2014, 13:49 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Привязать к NAS не получится, т.к., насколько я понял, тут работает несколько РРРоЕ серверов параллельно (для балансировки нагрузки).

Тут надо сделать что-то типа такого:
Код:
int vlan = Integer.parseInt(request.getStringAttribute(<код атрибута где МТ хранит VLAN ID>));
long contractGroups = contract.getGroups();
boolean allowAccess = false;

switch (vlan)
{
    case 3:
    case <еще один VLAN с юриками>:
    case <и еще один VLAN с юриками>:
        if ((contractGroups & (1L << <ID группы юриков>)) > 0 || (contractGroups & (1L << <еще один ID группы юриков>)) > 0)
        {
            allowAccess = true;
        }
        break;
    default:
        allowAccess = true;
        break;
}

if (allowAccess)
{
    ...
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 сен 2014, 20:40 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Привязать к NAS не получится, т.к., насколько я понял, тут работает несколько РРРоЕ серверов параллельно (для балансировки нагрузки).
Можно привязывать к группе. Если в дереве устройства NAS'ы - это потомки какого-нибудь устройства, например, устройства-папки, то можно привязывать к этому устройству-папке.
Дополнительно нужно указать в типе сервиса или в устройстве
Код:
serv.device.link=2
0 - по умолчанию, все равно к какому устройству привязано, главное чтобы было либо корневым либо потомком корневого.
1 - пустит только с того, к которому привязан сервис
2 - пустит с того, к которому привязан сервис, либо с его потомков.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 фев 2017, 11:15 
Не в сети
Клиент

Зарегистрирован: 12 мар 2012, 11:50
Сообщения: 85
Карма: 0
del


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.124s | 38 Queries | GZIP : On ]