1.Описание задачи
2.Схема работы ПО
3.Требования к ПО
4.Описание функций ожидаемых от реализации проекта
1.Описание задачи
Необходимо реализовать механизм управления доступом на домовых коммутаторах D-link 3526. Для этого необходимо разработать программное обеспечение (далее – ПО) способное на основание информации выгружаемой из биллинг системы генерировать ACL листы на коммутаторах доступа.
2.Схема работы ПО:
1.С сервера под управлением ОС Solaris version 9 (далее - NFC) необходимо забрать 2 текстовых файла выгруженных биллинг системой. Информация в файлах обновляется с периодом 30 минут. В одном файле информация о клиентах, у которых есть доступ к внешней сети, во втором файле клиенты у которых доступ закрыт.
Имена файлов:
Kill.lst – информация об ip адресах клиентов, у которых доступ закрыт
Live.lst – информация об ip адресах клиентов у которых доступ открыт
2. На основании IP адресов клиентов, ПО должно определять IP адрес коммутатора. IP адрес коммутатора определяется по значению 4 октета IP адреса клиента. Если 4 октет меньше 125, то IP адрес коммутатора определяется, как первые три октета клиента + 4 октет равный 125, если 4 октет больше 125, то IP адрес коммутатора определяется, как первые три октета клиента + 4 октет равный 253.
Пример:
IP клиента - 10.1.1.40, IP коммутатора – 10.1.1.125
IP клиента - 10.1.11.132, IP коммутатора – 10.1.11.253
3. ПО должно поддерживать шаблоны. Шаблон – текстовый файл. По-умолчанию в ПО будет 2 файла шаблонов:
первый файл называется kill.tpl – для клиентов, у которых нет доступа
второй файл называется live.tpl. – для клиентов, у которых доступ открыт
При генерации ACL для клиента, у которого есть доступ ПО берет шаблон из файла live.tpl заменяет переменные на атрибуты клиента и отправляет участок конфигурации коммутатора (acl) на коммутатор. Переменные подлежащие замене в шаблоне выделяются квадратными скобками.
Пример шаблона:
config access_profile profile_id 1 add access_id 11 ip source_ip [IP] port 11 permit
B данном примере переменная подлежащая замене - [IP].
B случае для клиента с IP равным 10.1.17.41, на коммутатор будет передана строка следующего вида:
config access_profile profile_id 1 add access_id 11 ip source_ip 10.1.17.41 port 11 permit
4. Количество обращений ПО к коммутаторам должно быть минимизировано. За одно обращение к коммутатору должен передаваться полный участок кода для всех клиентов на этом коммутаторе. Т.е. передача строк конфигурации на коммутатор не должна происходить по мере работы с IP адресом клиента с этого коммутатора. Информация должна накапливаться и потом за 1 итерацию передаваться на коммутатор по всем клиентам.
3. Требования к ПО
1.ОС приемлемые для использования в качестве платформы (WinXP, Windows server 2003, Mandriva, Solaris 9, freebsd 6.2)
2.ПО может быть написано языке высокого уровня (с предоставлением исходников), скриптовых языках (perl, bash).
3.Протокол взаимодействия ПО c коммутатором SNMP
4.В качестве протокола взаимодействия ПО с NFC для скачивания файла можно использовать любой протокол, поддерживающий передачу файлов по сети.
5.ПО должно иметь возможность установки периода между запусками обработки
6.Должна иметься возможность ведения лог файлов выполнения операций с коммутатором. Для каждого коммутатора в папке /Log/ должен быть файл с историей изменений на коммутаторе. Шаблон имени файла для коммутатора следующий:
Ip адрес коммутатора в котором точки заменены на подчеркивания + расширение «txt». Пример: 10_1_1_125.txt. Должна иметься возможность отключения ведения логов.
4.Описание функций ожидаемых от реализации проекта
1.В результате реализации механизма мы получаем инструмент для управления доступом на домовых коммутаторах D-link 3526
2.Отказываемся от использования ACL листов на NFR. ACL листы переносим на домовые коммутаторы.
3.Получаем возможность управления локальным трафиком на уровне агрегаций
Иван, вознаграждение маловато :). Ну и написать это одно, а дебажить другое, должен быть испытательный стенд :). Или юзеров предупредить что будут проблемы :)
Вы бы с топикстартером свезались сначала, перед тем как здесь воду лить. Решение найдено: все будет сделано топикстартером на пых-пыхе. Всем спасибо, все свободны.