Якорь | ||||
---|---|---|---|---|
|
Заводим новый тип устройства, назовём его Dlink.
Добавляем устройство этого типа как дочернее к устройству Access+Accounting.
В самом устройстве прописываем хост:порт(порт ставим 22 для ssh), и логин/пароль пользователя для управления.
Заводим тип сервиса:
Тут тип инициации сессий:
...
Так как мы выбрали статический ip, то нам надо создать для него категорию в ресурсах ip-адресов.
И не забываем id этот категории прописать в переменную ip.resource.categoryId в конфигурации устройства:
Добавляем сервис на договор, выбираем устройство и ip.
Для управления доступом у нам используется обработчик активации сервисов, написанные на динамическом коде. Есть несколько стандартных обработчиков активации сервисов(доступные в стандартной поставке), такие как:
...
Пусть для примера мы решили использовать ssh. Тогда мы выбираем ru.bitel.bgbilling.modules.inet.dyn.device.terminal.SSHServiceActivator в типе устройства.
И конфигурации его указываем команды на подключение и отключение.
Блок кода | ||||
---|---|---|---|---|
| ||||
#Команды включения сервиса на устройстве
sa.command.serv.enable=permit ip host $ip any
#Команды выключения сервиса на устройстве
sa.command.serv.create=permit ip host $ip any
#Команды создания сервиса на устройстве.
sa.command.serv.disable=deny ip host $ip any
#Команды удаления сервиса с устройства.
sa.command.serv.cancel=deny ip host $ip any
|
Это команды указаны просто как пример. В данном случае при отправке команд переменная ip будет заменена на тот Ip адрес, который мы поставили в сервисе. Как задавать команды описано в описании ru.bitel.bgbilling.modules.inet.dyn.device.terminal.SSHServiceActivator.
С этого момента можно попробовать проверить открытие/закрытие доступа на устройстве. Если вы не хотите собирать netlow и обсчитывать трафик, а просто хотите открывать/закрывать доступ на устройстве по ip или интерфейсу, то этого будет достаточно . Можно проверять доступ, меняя баланс на договоре(например расходами и платежами) так чтобы состояние сервиса изменилось (когда баланс больше лимита, то подключено, когда меньше - отключено) и смотреть на устройстве правильно ли отработали команды. В этом режиме не создаются никакие сессии, а только управляется доступ в зависимости от баланса. Этот режим можно использовать, например, для безлимитчиков, для которых не нужно собирать трафик. Так же состояние сервиса можно менять вручную из меню вызываемого по правой кнопкой мыши, это бывает полезно для отладки обработчика активации сервиса.
В случае управления по интерфейсу(открывать/закрывать доступ на интерфейсе) нужно будет выбрать его в типе сервиса и поменять команды на типе устройства (макрос $iface). Все макросы ru.bitel.bgbilling.modules.inet.dyn.device.terminal.SSHServiceActivator активатора описаны в wiki. Если вы хотите использовать например не ssh, а telnet,то все настраивается аналогично, только указывает другой порт в устроите (23 вместо 22 ) и другой обработчик активации сервиса - ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator. Для mikrotik есть отдельный обработчик ru.bitel.bgbilling.modules.inet.dyn.device.mikrotik.MikrotikServiceActivator, работающий по mikrotik api(порт 8728). Для протокола snmp есть ru.bitel.bgbilling.modules.inet.dyn.device.snmp.SnmpServiceActivator.
...