Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Якорь
inet_ipoe
inet_ipoe

Заводим новый тип устройства, назовём его Dlink.

Добавляем устройство этого типа как дочернее к устройству Access+Accounting.

Image Modified

В самом устройстве прописываем хост:порт(порт ставим 22 для ssh), и логин/пароль пользователя для управления.

Image Modified

Заводим тип сервиса:

Image Modified

Тут тип инициации сессий:

...

Так как мы выбрали статический ip, то нам надо создать для него категорию в ресурсах ip-адресов.

Image Modified

И не забываем id этот категории прописать в переменную ip.resource.categoryId в конфигурации устройства:

Image Modified

Добавляем сервис на договор, выбираем устройство и ip.

Image Modified

Image Modified

Для управления доступом у нам используется обработчик активации сервисов, написанные на динамическом коде. Есть несколько стандартных обработчиков активации сервисов(доступные в стандартной поставке), такие как:

...

Пусть для примера мы решили использовать ssh. Тогда мы выбираем ru.bitel.bgbilling.modules.inet.dyn.device.terminal.SSHServiceActivator в типе устройства.

И конфигурации его указываем команды на подключение и отключение.

Блок кода
languageruby
linenumbersfalse
#Команды включения сервиса на устройстве
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.

...