corban писал(а):
конкретизирую вопрос:
Есть cisco catalyst 2960 и есть куча простых неуправляемых коммутаторов, подключенных к cisco.
абоненты сидят на портах простых коммутаторов.
Есть dhcp сервер, который выдает абонентам ip-адреса (с использованием option 82, в качестве relay выступает cisco).
При этом блокировка/разблокировка абонента происходит по mac адресу на порту cisco c использованием списка разрешенных MAC-адресов.
Управление cisco производится внешней программой, которая просматривает базу биллинга на предмет какие mac-и можно записать на порт cisco, и, если произошло изменение статуса договора в биллинге, эта программа изменяет список mac-ов, удалив (добавив) нужный MAC на порту cisco посредством SNMP. Сам MAC записывается в виде атрибута объекта, вместе с идентификатором порта.
эта схема очень сложна
Мне хотелось бы чтобы бгбиллинг мог управлять такими портами cisco в зависимости от состояния договора (или услуги) и давать доступ клиенту или нет. Можно ли это решить на уровне новых скриптовых шлюзов?
.
Не совем понятно как это сейчас работает .. Вы кроме базы биллинга не используете другую базу вообще ? "MAC записывается в виде атрибута объекта, вместе с идентификатором порта." Вы для каждого mac клиента созадали объект в договоре биллинга ? так ? и читаете эти данные внешним скриптом ? ну тогда по идее можно всю. эту логику работы перетащить в beanshell и реализовать скриптовым шлюзом .. Специальной структуры данных для хранения именно mac для шлюза пока нет