BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 май 2024, 19:56

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
СообщениеДобавлено: 14 сен 2016, 21:40 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
Сервер: вер. 7.0.1086 / 04.08.2016 16:06:54

isg+ipoe
имеем 2 сессии в мониторе(Inet) на 1 сервис:
- сначала пользователь получает статический ip, который ему выдает BGInetAccess - сессия-1 (привязана к порту коммутатора)
- потом проходит авторизация на ISG с навешиванием сервисов - доступ в мир по тарифу - сессия-2 (привязана к ISG)

В типе сервиса указано "кол-во сессий": - 1 сессия и "тип адреса": статический адрес

Для нормальной смены роутера/компьютера указан параметр
dhcp.connection.closeOnNew=1,
который закрывает все предыдущие DHCP-сессии

dhcp.option.leaseTime=3600

Для сброса и закрытия сессии в биллинге при получении запроса Access-Request при наличии активной сессии
radius.connection.checkDuplicate=8

Это всё работает.

Но есть ещё другой сервис (WiFi-Hotspot), где на один порт коммутатора требуется назначить статическую сеть. "кол-во сессий": - не ограничено и "тип адреса": статический диапазон

немного о схеме подключения:
К порту коммутатора подключается WiFi точка доступа, ip-ы wifi-клиентам должен назначать BGInetAccess из диапазона, назначенной статической сети.

Но при использовании параметра dhcp.connection.closeOnNew=1 не получается подключить к wifi более одного клиента так как завершаются предыдущие сессии.

При dhcp.connection.closeOnNew=0 схема wifi работает, но в тоже время клиент использующий сервис с одним статическим ip не может самостоятельно менять устройства (комп, роутер, ноут), по крайней мере приходится ждать dhcp.option.leaseTime=3600 или звонить в тех.поддержку.

Можно как то реализовать для dhcp такой же параметр как radius.connection.checkDuplicate, когда завершается не любая сессия, а по какому то критерию
или может можно closeOnNew задавать в типе сервиса? так можно будет под каждый тип сервиса выбирать подходящее действие

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуем сделать на следующей неделе.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили пока dhcp.connection.closeOnNew= в конфиге типа сервиса.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2016, 13:29 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
Спасибо. Уже тестирую. Пока всё впорядке

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 окт 2016, 16:35 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
тесты провалились:

указал в типе сервиса WiFi-Hotspot ("кол-во сессий": - не ограничено и "тип адреса": статический диапазон)
dhcp.connection.closeOnNew=0
и ip-адреса раздавались с одного порта коммутатора, к которому подключена wifi точка доступа.

в то же время указал на другом типе сервиса ("кол-во сессий": - 1 сессия и "тип адреса": статический адрес)
dhcp.connection.closeOnNew=1
- получить ip-адрес на другой mac-адрес не удалось, пока сессия не завершилась

полагаю, что по умолчание dhcp.connection.closeOnNew=0 и по такой схеме всё и отрабатывает, а прописанные в типах сервиса "dhcp.connection.closeOnNew" эффекта не оказывают

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
На тестовом dhcp.connection.closeOnNew=1 в типе сервиса отработало нормально. InetAccess точно обновили?

Сегодня выложили, добавили поддержку dhcp.connection.checkDuplicate (serv.dhcp.connection.checkDuplicate в конфиге типа сервиса)
Должно работать также как radius.connection.checkDuplicate.

Попробуйте указать radius.connection.checkDuplicate=90 или radius.connection.checkDuplicate=80 (в зависимости от схемы).
Должно завершать самую старую сессию, если кол-во активных сессий будет превышено при новом подключении.


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

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
обновил сервер и приложения ещё раз
прописал serv.dhcp.connection.closeOnNew=1 в типе сервиса - сработало.

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

c serv.dhcp.connection.checkDuplicate чёт не получается...
у меня в типе сервиса под хот-спот указан статический диапазон, и ip-адреса последовательно выдаются устройствам.
как только выдается последний ip- адрес из диапазона, при всех последующих подключениях ip-адреса не выдаются даже если самые первые подключенные устройства давно уже не активны.
Полагаю, что при динамической выдаче должно заработать, но как тогда привязать пул адресов под динамическую выдачу к типу сервиса?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
приставка serv. в типе сервиса обязательна или можно и без неё??
В типе сервиса - лучше с ней, по аналогии с другими параметрами, но сейчас работать будет и без нее.

Цитата:
как только выдается последний ip- адрес из диапазона, при всех последующих подключениях ip-адреса не выдаются даже если самые первые подключенные устройства давно уже не активны.
Этот параметр работает только с ограничением на кол-во сессий (а не с кол-вом адресов в статическом диапазоне) - оно указано?


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

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
Цитата:
Этот параметр работает только с ограничением на кол-во сессий (а не с кол-вом адресов в статическом диапазоне) - оно указано?

т.е. serv.dhcp.connection.checkDuplicate=90 - это аналогия serv.dhcp.connection.closeOnNew=1 ?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
как мне решить вопрос:
Цитата:
у меня в типе сервиса под хот-спот указан статический диапазон, и ip-адреса последовательно выдаются устройствам.
как только выдается последний ip- адрес из диапазона, при всех последующих подключениях ip-адреса не выдаются даже если самые первые подключенные устройства давно уже не активны.
Полагаю, что при динамической выдаче должно заработать, но как тогда привязать пул адресов под динамическую выдачу к типу сервиса?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Можно скриптом на событие сохранение сервиса на договоре указывать ограничение на кол-во сессий вручную по кол-ву адресов в диапазоне.
Можем попробовать сделать, чтобы ограничение можно было указывать вручную (а не как сейчас, список до 30).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 окт 2016, 14:40 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
1) какое действие надо выполнить, чтобы применились новые значения параметров в "типе сервиса":
- нажать кнопку "перечитать конфигурацию серверов" на вкладке "дерево"?
- перезагрузить InetAccess?

2) что означает 0 во втором разряде параметра serv.dhcp.connection.checkDuplicate=80?

3) схема isg+opt.82
Если я указываю в "типе сервиса" статический диапазон, то при создании сервиса задаю определенные диапазон ip-адресов.
в таком случае мне обязательно задавать на сервисе количество сессий=статическому диапазону?
ведь если оставить кол-во сессий "неограниченно", то всё равно не выдастся ip-адрес, если диапазон закончился.

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
1) какое действие надо выполнить, чтобы применились новые значения параметров в "типе сервиса":
- нажать кнопку "перечитать конфигурацию серверов" на вкладке "дерево"?
- перезагрузить InetAccess?
Должно примениться без этого.
Однако нужно учитывать, что без галочки "неизменно" ограничение по кол-ву сессий в типе сервиса работает просто как значение по умолчанию при создании сервиса.

Цитата:
2) что означает 0 во втором разряде параметра serv.dhcp.connection.checkDuplicate=80?
Аналогично https://docs.bitel.ru/pages/viewpage.action?pageId=43385867#id-Процессорru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor-ДействиеприполученииAccess-Requestприналичииактивнойсессии
Но для DHCP вместо Calling-Station-Id используется MAC-адрес и ситуации для первого разряда (есть активная сессия, но идет запрос на новую с таким же MAC-адресом) не должно быть.

Цитата:
3) схема isg+opt.82
Если я указываю в "типе сервиса" статический диапазон, то при создании сервиса задаю определенные диапазон ip-адресов.
в таком случае мне обязательно задавать на сервисе количество сессий=статическому диапазону?
ведь если оставить кол-во сессий "неограниченно", то всё равно не выдастся ip-адрес, если диапазон закончился.
Если нужно, чтобы отключало старые сессии при попытке подключения новой - это работает только по ограничению на кол-во сессий.
К тому же если в устройстве настроена динамическая выдача, то после того как диапазон закончился, если ограничения на кол-во сессий нет - начнет выдавать динамический адрес.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 окт 2016, 16:58 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
Цитата:
1) какое действие надо выполнить, чтобы применились новые значения параметров в "типе сервиса":
- нажать кнопку "перечитать конфигурацию серверов" на вкладке "дерево"?
- перезагрузить InetAccess?

Цитата:
Должно примениться без этого.

т.е. если я в типе сервиса на вкладке конфигурация меняю значение параметра serv.dhcp.connection.checkDuplicate, то изменения вступают в силу сразу после нажатия кнопки "сохранить"?

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

это понятно. без галочки "неизменно" я на сервисе могу менять значение по умолчанию на другое, но в пределах 30 сессий.
здесь, действительно было бы лучше:
Цитата:
Можем попробовать сделать, чтобы ограничение можно было указывать вручную


Цитата:
К тому же если в устройстве настроена динамическая выдача, то после того как диапазон закончился, если ограничения на кол-во сессий нет - начнет выдавать динамический адрес.

динамическая выдача на устройстве не используется.
Но очень хотелось бы, что бы "динамическую выдачу" можно было привязать к сервису, что бы на разных типах сервисов, которые используют одни и те же устройства можно было задавать свои пулы динамической выдачи. и тогда сюда же в тип сервиса нужны будут свои dhcp.option.serverIdentifier и dhcp.option.leaseTime

Цитата:
Но для DHCP вместо Calling-Station-Id используется MAC-адрес и ситуации для первого разряда (есть активная сессия, но идет запрос на новую с таким же MAC-адресом) не должно быть.

хммм, я про 2-ой разряд спрашивал.
8 и 80 - это одно и тоже? или имелось ввиду 08
Поясните, пожалуйста, варианты для serv.dhcp.connection.checkDuplicate
8 - ?
88 - ?
888 - ?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
т.е. если я в типе сервиса на вкладке конфигурация меняю значение параметра serv.dhcp.connection.checkDuplicate, то изменения вступают в силу сразу после нажатия кнопки "сохранить"?
Да.

Цитата:
Но очень хотелось бы, что бы "динамическую выдачу" можно было привязать к сервису, что бы на разных типах сервисов, которые используют одни и те же устройства можно было задавать свои пулы динамической выдачи.
На данный момент можно сделать только через опцию, которая будет указана в тарифе.
https://docs.bitel.ru/pages/viewpage.ac ... 385867#id-Процессорru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor-ВыдачаIP-адреса
Цитата:
и тогда сюда же в тип сервиса нужны будут свои dhcp.option.serverIdentifier и dhcp.option.leaseTime
Не понятно, зачем. serverIdentifier довольно специфичная вешь, а leaseTime связан с connection.close.timeout (т.к. закрытие сессии идет по таймауту DHCP-пакетов).

Цитата:
хммм, я про 2-ой разряд спрашивал.
8 и 80 - это одно и тоже? или имелось ввиду 08
Поясните, пожалуйста, варианты для serv.dhcp.connection.checkDuplicate
8 - ?
88 - ?
888 - ?
Разное. Значение по умолчанию - 000 (просто не пускаем при превышении ). Каждая из трех цифр для своего случая. Для DHCP вроде как нужен только второй разряд.
В документации по ссылке:
Цитата:
Для обработки ситуации, когда количество активных соединений превышено, но соединения с таким Calling-Station-Id не найдено, и нужно отключить просто самое старое соединение, нужно указать цифру во втором разряде


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 окт 2016, 19:36 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
а в вашем сообщении
Цитата:
Попробуйте указать radius.connection.checkDuplicate=90 или radius.connection.checkDuplicate=80 (в зависимости от схемы).
Должно завершать самую старую сессию, если кол-во активных сессий будет превышено при новом подключении.

80 или 90 - тут в каком разряде указана цифра?
как разряды считают: справа налево или слева направо?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Вроде справа налево.
Подразумевалось, что во втором.
Т.е. 90 или 090, 80 или 080.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 окт 2016, 19:57 
Не в сети

Зарегистрирован: 01 июл 2016, 19:39
Сообщения: 17
Карма: 0
Цитата:
Не понятно, зачем. serverIdentifier довольно специфичная вешь, а leaseTime связан с connection.close.timeout (т.к. закрытие сессии идет по таймауту DHCP-пакетов).

т.к. у меня к каждому типу сервиса привязан свой ip-ресурс, решил serverIdentifier указывать в конфигурациях ip-ресурсов

Мне как то надо у типа сервиса WiFi-Hotspot сделать длительность сессии в районе 15 минут,
в тоже время на корневом устройстве для остальных сервисов сессия должна быть выставлена 1 час

Сейчас на корневом устройстве указано:
connection.suspend.timeout=900
connection.close.timeout=3600
dhcp.option.leaseTime=3600

leaseTime оказалось, что в конфигурации ip-ресурса задавать можно, но вот как connection.close.timeout привязать либо к Ip-ресурсу или типу сервиса?

_________________
BGBilling 7.0
Centos 6.6 (Linux amd64, 2.6.32-504.8.1.el6.x86_64)


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление:
Цитата:
Возможность указать в типе сервиса serv.connection.close.timeout/serv.connection.suspend.timeout/serv.connection.disable.close.timeout/serv.connection.disable.suspend.timeout.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

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


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

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


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

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