Управление коммутаторами

Настройка портов коммутатора

После указания где размещено оборудование, необходимо описать порты коммутатора. Для этого, в правом меню на странице устройства, используется пункт “Настройки портов”. На этой странице для каждого порта коммутатора можно заполнить произвольный комментарий, и так же указать что подключено в этот порт.
_images/device_port.png
В выпадающем списке перечислены абоненты, которые попадают в зону действия узла связи где установлен коммутатор, другие устройства, а также линии связи.
Привязку портов к абонентам делать не обязательно. Информационная система позволяет производить привязку абонентов к портам автоматически на основании сравнения MAC таблицы устройства с данными о MAC адресах абонента, при нахождении совпадений и если порт считается не привязанным, то система сама привязывает порт к абоненту. Автоматическую привязку можно запустить на странице “Авто привязка портов”, или делать автоматически по расписанию используя CLI команду device auto_port_binding, которая выполнит привязку для всех устройств поддерживающих такую функциональность.

Warning

До запуска автоматической привязки абонентов к портам коммутатора, необходимо вручную привязать все магистральные порты коммутаторов. Если этого не сделать, то система привяжет магистральный порт к первому абоненту, если в этот момент он будет единственным автивным пользователем порта.

Так же привязка абонентов к портам может осуществляется автоматически при разборе SNMP трапов с данными MAC-Notification (если это поддерживается для этого типа оборудования) или при разборе MAC-IP-PORT fail трапов
_images/device_user_port_binding.png
Привязку портов коммутатора к абоненту можно сделать со страниц управления абонентом. Для этого используется страница “Привязка портов”, на этой странице можно посмотреть текущие порты связанные с абонентом, добавить новый порт (указав устройство и номер порта), а так же при открытии этой страницы система выполнит поиск MAC адресов абонента среди портов всех коммутаторов установленных в подходящий узлах связи, и сама предложит варианты привязки. Это позволяет осуществить привязку даже в том случае если автоматическая привязка не сработает, например если абонента воткнули в порт который до этого был привязан к другому абоненту, то автоматическая привязка не сработает, т.к. порт считается занятым, но поиск абонента на страница “Привязка портов” покажет где сейчас виден абонент, и предложит заменить привязку порта на нового абонента.

Получение информации о портах коммутатора на основании SNMP

Если в описании типа оборудования включена поддержка “получение списка портов по SNMP”, то вместо указания точного количества портов при добавлении устройства, можно получить эти данные по SNMP. Для этого внизу страницы настройки портов появляется ссылка “SNMP определение портов”.
_images/monitoring_snmp_scan.png
Данные о портах устройства получаются по SNMP, и на этой страницу нужно указать какие именно порты должны отображаться в списке портов.

Note

По SNMP, помимо физических портов, устройство может отдавать различные виртуальные порты, например L3 порты для каждого VLAN или RS-232 интерфейс управления. Отображение этих портов можно отключить на этой странице.

Состояние порта коммутатора на странице абонента

Основное преимущество интеграции системы мониторинга в Pyzzle.ISP - возможность просмотра состояния абонентского порта коммутатора прямо на основной странице абонента.
Если порт коммутатора привязан к абоненту, то при открытии основной страницы с информацией об абоненте, в правой части странице появится табличка связки с портом коммутатора.
_images/monitoring_user_port1.png
При нажатии на “Показать состояние порта”, табличка развернется, и система покажет информацию о текущем состоянии порта коммутатора.
_images/monitoring_user_port2.png

В этой таблице показывается:

  • MAC адреса на порту, при этом цветом обозначается: Зеленый - этот мак адрес зарегистрирован за этим абонентом. Красный - этот MAC принадлежит другому абоненту. серый - MAC в системе не используется. Розовый - MAC заблокирован на коммутаторе в результате срабатывания MAC-IP-PORT привязки
  • Номер порта. Если навести на него появится уменьшенное изображение трафика на порту, а при клике откроется полноценная страница с графиком трафика порта.
  • Статус порта: включен/выключен
  • Скорость: 10/100/1000 мегабит
  • Текущее значение счетчиков интерфейса, при наличии ошибок (например CRC) они тоже будут отображены и по ним тоже можно посмотреть график
  • Дополнительно возможно отображение мультикаст подписок для порта, длинны кабеля, наличие замыканий (при поддержки получения таких данных со стороны оборудования)
Сбор данных происходит непосредственно при разворачивании таблицы. Если еще раз нажать на “Показать состояние порта” то система снова произведет сбор данных с коммутатора.
В этом же блоке можно провести рад манипуляций с портом: сбросить блокировку MAC адресов на коммутаторе, изменить физическую скорость порта, отключить порт.

Управление параметрами портов коммутаторов

Модуль мониторинга позволяет управлять настройками портов коммутаторов: блокировка портов, управление скоростью, привязка MAC-IP-PORT. Параметры, которыми может управлять система, зависят от модели устройства, и возможностей для конфигурирования используя протокол SNMP. Управление каждым параметром отдельно включается в описании класса коммутатора. Для каждого устройства возможно отдельное включение функций управления. Реальное применения параметров выполняется отдельным процессом snmpmanagement_daemon. Управление каждым параметром состоит из считывания текущих настроек коммутатора, вычисления различий с описанием портов в базе и применением изменившихся настроек.
Сохранение настроек в NVRAM может выполняться сразу после конфигурирования устройства, либо отдельно в удобное время (например ночью). Это сделано для того, чтобы сохранение конфигурации в рабочее время не приводило с замедлению работы с коммутатором. Например, если изменить параметры порта на коммутаторах Dlink DES-35XX, то сохранение конфигурации может занимать несколько минут, в течении которых коммутатор не отвечает по SNMP, и посмотреть текущее состояние порта будет невозможно, что неудобно при редактировании настроек порта на странице управления абонентом.
При перезагрузке коммутатора (при получении соответствующего SNMP трапа), может выполняться проверка настроек портов, поэтому даже если последние изменения не были сохранены в NVRAM, то после перезагрузки, они будут применены автоматически.
Настройка параметров портов коммутатора делается на странице “Настройка портов” в разделе управления устройством, или на основной страницы абонента, для портов привязанных к конкретному абоненту.
_images/port_setup1.png
Так же внизу этой странице размещены кнопки для выполнения типовых действий с портами коммутатора. Кнопка “Прочитать параметры портов из текущей конфигурации коммутатора” - считывает текущие настройки и записывает их в базу данных информационной системы, эта кнопка может использоваться после ручной правки настроек коммутатора, или для считывания параметров свежезаведенного в систему коммутатора. Считать параметры с коммутатора так же можно используя команды CLI интерфейса информационной системы такие как device <id> save_cur_admin_status.

Warning

Если используется управления настройками портов коммутатора через информационную систему, то все правки сделанные вручную на самом коммутаторе будут потеряны при очередном обновлении параметров портов используя интерфейсы информационной системы. Поэтому если эта функциональность включена для коммутатора, то править конфигурацию портов используя telnet или web-интерфейс коммутатора не рекомендуется, либо после правки нужно, чтобы информационная система считала текущие настройки.

Настройка режима работы порта

В случае если устройство позволяет управлять режимом работы NWAY по SNMP (например коммутаторы Dlink), в настройках порта коммутатора появляется графа “скорость порта”, с вариантами значений: 10Mbit, 100Mbit 1Gbit и Авто. Такая же графа становится доступной в блоке состояния порта коммутатора на основной странице абонента.
Если указать недопустимое значение скорости порта (например 1Gbit на 100 мегабитном порту), то при попытке сохранить конфигурацию система не сможет этого сделать, и тогда в настройках порта будет сохранено текущее значение скорости.
Если устройство позволяет управлять отключением портов (port admin status), то в настройках коммутатора появится графа “Статус порта”, которое принимает одно из значений “Авто: включен”, “Авто: выключен”, “Вручную: включен”, “Вручную выключен”. Выключенные состояния приводят к тому что порт полностью блокируется на уровне физического линка.
Автоматический и ручной режим, позволяет информационной системе самостоятельно принимать решение о блокировке порта коммутатора при соблюдении определенных условий (например физическое отключение порта, при наличии задолженности у абонента в течении 30 дней). Система может принимать решения только для портов находящихся в автоматическом режиме, система может менять только значения “Авто: включен”, на “Авто: выключен” и наоборот.

Note

Условия блокировки, разблокировки порта описываются в конфигурационном файле enviroment.py путем определения соответствующих функций, такая настройка выполняется разработчиком при внедрении и сопровождении информационной системы.

Если необходимо заблокировать порт абонента, у которого с деньгами все в порядке (например из-за вирусной активности), то нужно переключать порт в состояние “Вручную: выключен”, если переключить в состояние “Авто: выключен”, то система при очередной проверке, может решить, что порт должен быть разблокирован и разблокирует его обратно.
Если коммутатор позволяет ограничивать скорость трафика на порту (bandwidth control), то система может управлять этими параметрами, для этого используются графы “Скорость от абонента”, “Скорость к абоненту”.
_images/port_setup2.png

Note

Доступ к редактированию свойств портов коммутатора в целом и свойств клиентского порта настраивается отдельно, что позволяет дать доступ службе тех. поддержке возможность управлять портом коммутатора связанным с абонентом, но при этом не давать возможность править свойства коммутатора в целом.

Привязка MAC-IP-PORT

Для управления привязкой MAC-IP-PORT может использоваться две возможности управляемых коммутаторов, информирование коммутатора о MAC адресах на порту (mac notification) и управление привязкой MAC-IP-PORT (mac-ip address binding, ip source guard).
Включение “MAC оповещения” приводит к тому, что коммутатор начинает отправлять SNMP трапы при появлении MAC адреса на портах коммутатора.

Warning

Система управляет включением параметров MAC оповещения на портах, для работы этой функции необходимо, чтобы MAC оповещение было глобально включено на коммутаторе,и настроена отправка SNMP трапов на соответствующий сервер информационной системы.

Получив SNMP трап, информационная система анализирует данные и если находит несоответствия (неизвестный или чужой MAC на клиентском порту): то регистрирует событие мониторинга, который можно просмотреть на странице “Мониторинг” - “События устройств”, указав фильтр этого типа события. Получив MAC оповещение на свободном порту (не привязанном к абоненту или магистральным линкам), система может автоматически привязать этот порт к абоненту MAC адрес которого был засвечен.
Функция привязки MAC-IP-PORT, позволяет автоматически управлять настройкой коммутатора ограничивая доступ с порта, только для разрешенных пар MAC-IP или для отдельно разрешенных IP адресов (если поддерживается оборудованием), так же эта функциональность включает разбор SNMP трапов о попытках нарушения и региструюет события.
Дополнительно система может быть настроена на выполнение дополнительных действий при получении mac-ip-port трапа:
  • Если трап был получен из свободного порта, то привязать порт к абоненту (тут для выяснения абонента, доступен не только MAC но и IP адрес, поэтому возможна авто-привязка портов, даже если MAC адреса абонентов изначально не известны. (так же может заполняться пустой MAC в свойствах абонента)
  • Замена MAC адреса в свойствах абонента, система может заменять MAC адрес, если пришел трап с порта абонента, IP совпадает с IP абонента, а MAC не совпадает, то система может изменить MAC в свойствах абонента. Такая функция настраивается индивидуально для каджого коммутатора, и это позволяет при внедрении системы реализовать “режим обучения”, в случае если данные по MAC-IP привязкам в биллинг могут быть устаревшими.
Привязка MAC-IP-PORT включается отдельно для каждого коммутатора, соответствующей галочкой в его настройках, и активируется для портов связанных с определенным абонентом. Список допустимых пар MAC-IP определяется автоматически на основании IP и MAC адресов абонента. Переформирование правил запускается автоматически при изменении в привязках портов к абонентам, или при изменении IP или MAC адресов у абонента.
Помимо разрешения пар MAC-IP адресов, система может настроить коммутатор на пропускание определенных IP адресов без привязки к MAC. Это могут быть как адреса абонентов, для которых не указан MAC или служебные адреса используемые технической поддержкой.

Note

Список технических адресов, доступ с которых разрешен на всех портах указывается в файле billing.cfg и настраивается разработчиком индивидуально при внедрении системы, например пропускать адрес X.X.X.254, если этот адрес используется на ноутбуках инженеров тех. поддержки.

Note

Это реализуется используя параметр permit ip pool который поддерживается не всеми коммутаторами (протестировано только с коммутаторами D-Link 3526 и 3550)

Рекомендуемый алгоритм внедрения управления портами коммутаторов на существующей сети оператора связи

Внедрение управления коммутаторами и привязка MAC-IP-PORT может осуществляться на сети оператора связи отдельными сегментами. Внедрение этих функций на существующей сети рекомендуется делать следующим образом.
  1. Заведение коммутатора в систему.

  2. Описание магистральных линий и связей с другим оборудованием.

  3. Включение режима управления.

  4. Считывание текущих настроек портов коммутатора.

    После этого этапа информационная система хранит актуальные настройки скоростей и режимов работы портов коммутатора, и теперь блокировать/разблокировать порты можно используя интерфейс управления системой.

  5. Выполнения авто привязки абонентов к портам коммутатора используя страницу “Авто привязка портов”.

    Эти действия позволяет определить абонентов за активными портами коммутатора.

  6. Включение MAC оповещений на всех не магистральных портах коммутатора.

    После этого система автоматически свяжет абонентов и порты коммутатора по мере включения абонентского оборудования, а так же будет регистрировать события на все найденные несоответствия. В таком режиме коммутатор должен проработать несколько дней, после которых станут полностью понятны подключения абонентов к портам, и будут выявлены все несоответствия реальности с описанием в базе данных (у абонента сменился MAC адрес, магистральный порт по ошибке был привязан к абоненту и т.п.). Блокирование некорректных соединений в тот момент не будет происходить - только регистрация проблем.

  7. Включение привязки MAC-IP-PORT на коммутаторе.

    После выполнения этого действия на коммутатор загрузятся настройки ограничения доступа, и кроме указанного абонента никто воспользоваться портом коммутатора не сможет.

  8. Выключение MAC-оповещения на клиентских портах.

    В конечном итоге MAC-оповещение должно остаться включенным только на свободных портах коммутатора. Это резко снизит нагрузку на коммутатор и сервер обработки SNMP трапов, т. к. в этом случае будут приходить трапы только при подключении новых абонентов, или при попытки доступа с чужими MAC-IP данными.

    Warning

    До выполнения привязки клиентских портов и включения MAC оповещения необходимо обязательно вручную привязать все магистральные порты коммутатора. Если этого не сделать, то система привяжет магистральный порт к первому абоненту которого там увидит, что приведет к резкому увеличению записей в таблице MAC-IP событий, а если при этом включить привязку MAC-IP-PORT, то коммутатор заблокирует работу магистрального порта.

Note

Если MAC адреса абонентов не известны, то можно вредрять привязку MAC-IP по другому: В настройках коммутатора включаем MAC-IP-PORT на всех портах (включая свободные) В результате любая попытка выйти в сеть будет приводить к блокировки и получению трапа, Анализируя трап система будет пытаться привязать порт к абоненту, и при необходимости изменять MAC в свойствах абонента.

Работа с коммутаторами по протоколу TFTP

Информационная система позволяет работать с конфигурационными файлами по протоколу TFTP: скачивать файлы с устройств и закачивать конфигурацию на устройства обратно, естественно при поддержки этого со стороны устройств.
Для работы этого компонента необходимо запустить на сервере TFTP сервер, и включить поддержку работы с TFTP в настройках класса устройства (для каждого типа устройств она реализуется индивидуально) и указать путь к каталогу TFTP сервера. Настройка делается путем указания константы LOCAL_TFTP_DIR в определении класса устройства. Значение по умолчанию /opt/billing/tftp/
Конфигурационные файлы всех устройств лежат в одном каталоге и имя файла содержит в себе ID устройства в биллинге, например для коммутаторов Dlink имя файла имеет вид dlink_345_mega_config.cfg, где 345 это ID устройства, а mega_config это произвольная строка позволяющая идентифицировать конфиг, при работе к конфигурационными файлам в системе в качестве имени используется только дополнение к имени, которые преобразуется в реальный файл в файловой системе в соответствии с правилам для нужного типа устройств.
Из командной строки (CLI) можно загрузить конфигурацию с устройства командой get_config_by_tftp, а загрузить конфигурацию в устройство командой upload_config_by_tftp. Команды даются в контексте управления устройством, в качестве аргумента команды можно передать имя.
Pyzzle> device 161
Billing(device=161)> get_config_by_tftp cur_config
Device id=161 Ok
Работа с конфигурационными файлами возможна и через web-интерфейс, для этого в разделе управления устройством предназначена страница “Конф. файлы по TFTP”
_images/device_tftp1.png
На этой странице показан список скачанных конфигураций с устройства, а так же форма для скачки текущей конфигурации с оборудования. Для скачанных файлов можно провести сравнение, для этого нужно выбрать два файла для анализа и нажать на кнопку “Сравнить”, в результате откроется страница где наглядно будут показаны различия между файлами (color diff). Если нажать на имя файла, то в браузере откроется его содержимое. Если нажать на ссылку “Залить”, то откроется окно подтверждения и и после него устройству будут даны команды загрузить конфигурационный файл с сервера.
В форме подтверждения загрузки сохраненной конфигурации на коммутатор можно выбрать IP куда производить загрузку или указать другой. В списке адресов используется текущий адрес коммутатора, а так же адрес коммутатора в заводской конфигурации (если указан в описании класса устройства). Это позволяет заливать сохраненные конфигурационные файлы на новый коммутатор с заводскими настройками.
Специальной галочкой можно указать, что после загрузки конфигурации нужно послать в устройство команду сохранения конфигурации в NVRAM.

Note

IP адрес 10.90.90.90 используется в коммутаторах Dlink, и для корректной загрузки конфигурации на такие устройства, сеть должна быть должным образом настроена: устройство должно быть доступно по IP и оно должно мочь работать с TFTP сервером.

Автоматическое получение конфигураций со всех устройств

В реальной эксплуатации сети бывает удобно периодически скачивать конфигурацию со всех устройств, чтобы при необходимости посмотреть сделанные изменения, залить конфигурацию при замене устройства и т. п.
Для этого можно использовать простой скрипт, прописав который в системный crontab можно скачивать конфигурацию со всех устройств с любой периодичностью (например каждую ночь)
#!/bin/sh

cd /opt/billing
./cli device all get_config_by_tftp --add-sleep `date +%y%m%d`
sleep 600 # to be sure that all config files downloaded to tftp server
./cli device all check_tftp_file_for_dups `date +%y%m%d`
При выполнении этого shell скрипта, со всех свитчей скачается конфигурация и сохранится под именем содержащим текущую дату. После скачивания файлов запускается процедура проверки на дубликаты, эта процедура удаляет свежескачанные файле если ранее уже был скачан аналогичный файл, таким образом в системе останутся файлы для устройств конфигурация которых была изменена с момента предыдущего скачивания. Просмотреть различия можно через web-интерфейс.

Создание типовых конфигурационных файлов

Обычно коммутаторы уровня доступа имеют практически одинаковые конфигурации, информационная система позволяет формировать конфигурационные файлы для новых коммутаторов, упрощая внедрение нового оборудования в сеть.
Поддержка типовых конфигурационных файлов настраивается для каждой модели коммутатора, и состоит в создании шаблона конфигурационного файла, в которых подставляются уникальные параметры коммутатора (IP, клиентский VLAN). Путь к шаблону указывается в конфигурационном файле billing.cfg в параметре tftp_typical_config_<model_name>.
enable telnet 23
disable web 80
debug error_log auto_reboot enabled

disable password encryption

enable loopdetect
config loopdetect recover_timer 60
config loopdetect interval 10
config loopdetect mode port-based
config loopdetect ports 1-24 state enabled
config loopdetect ports 25-26 state disabled

config ports 1-24 speed auto flow_control disable mdix auto learning enable state enable trap enable
config ports 25-26 medium_type copper speed auto flow_control disable mdix auto learning enable state enable trap enable
config ports 25-26 medium_type fiber speed auto flow_control disable learning enable state enable trap enable

create snmp host 10.0.1.253 v1  public

# MANAGEMENT

enable snmp traps
enable snmp authenticate traps
config snmp system_name D-Link
config snmp system_contact support@kurkino.net.ru
disable rmon

# VLAN

disable asymmetric_vlan
config vlan default delete 1-26
config vlan default add untagged 25-26
config vlan default advertisement enable
create vlan vlan%(vlan)d tag %(vlan)d
config vlan vlan%(vlan)d add tagged 25-26
config vlan vlan%(vlan)d add untagged 1-24
config vlan vlan%(vlan)d advertisement disable

# FDB

config fdb aging_time 300
config multicast port_filtering_mode 1-26 filter_unregistered_groups

# MAC_ADDRESS_TABLE_NOTIFICATION

config mac_notification interval 1 historysize 1
enable mac_notification
config mac_notification ports 25-26 disable
config mac_notification ports 1-24 enable

disable stp


create access_profile ip tcp dst_port_mask 0xFFFF profile_id 1
config access_profile profile_id 1 add access_id 1 ip tcp dst_port 135 port 25 deny
config access_profile profile_id 1 add access_id 2 ip tcp dst_port 139 port 25 deny
config access_profile profile_id 1 add access_id 3 ip tcp dst_port 445 port 25 deny
config access_profile profile_id 1 add access_id 4 ip tcp dst_port 135 port 26 deny
config access_profile profile_id 1 add access_id 5 ip tcp dst_port 139 port 26 deny
config access_profile profile_id 1 add access_id 6 ip tcp dst_port 445 port 26 deny

create access_profile ip udp dst_port_mask 0xFFFF profile_id 2
config access_profile profile_id 2 add access_id 1 ip udp dst_port 137 port 25 deny
config access_profile profile_id 2 add access_id 2 ip udp dst_port 138 port 25 deny
config access_profile profile_id 2 add access_id 3 ip udp dst_port 137 port 26 deny
config access_profile profile_id 2 add access_id 4 ip udp dst_port 138 port 26 deny

enable sntp
config time_zone operator + hour 4 min 0
config sntp primary 10.0.1.1 secondary 10.0.1.1 poll-interval 600
config dst disable

# IPBIND
config address_binding ip_mac ports 1-26 allow_zeroip enable
disable address_binding acl_mode
enable address_binding trap_log
disable address_binding dhcp_snoop
config address_binding dhcp_snoop max_entry ports 1-26 limit 5

create iproute default 10.0.1.1 1

# SNOOP

enable igmp_snooping
config igmp_snooping vlan%(vlan)d host_timeout 260 router_timeout 260 leave_timer 2 state enable
config igmp_snooping querier vlan%(vlan)d query_interval 125 max_response_time 10 robustness_variable 2
config igmp_snooping querier vlan%(vlan)d last_member_query_interval 1 state enable
config limited_multicast_addr ports 1-26 access deny state disable

# IP

config ipif System vlan default ipaddress %(ip)s/24 state enable
disable autoconfig
config autoconfig timeout 50

enable dhcp_relay
config dhcp_relay hops 4 time 0
config dhcp_relay option_82 state enable
config dhcp_relay option_82 check enable
config dhcp_relay option_82 policy replace
config dhcp_relay option_82 remote_id default
config dhcp_relay option_60 state disable
config dhcp_relay option_60 default mode drop
config dhcp_relay option_61 state disable
config dhcp_relay option_61 default drop
config dhcp_relay add ipif System 10.0.1.252

# DHCP_LOCAL_RELAY

enable dhcp_local_relay
В примере настраиваются клиентские порты в отдельные VLAN, в гигабитных портах клиентский VLAN тегирован, включен igmp snooping на клиентском VLAN, настроены стандартные правила блокировки NetBios портов, сервер точного времени, включены SNMP trap и DHCP-relay. Строки %(vlan)d и %(ip)s будут замены на реальные параметры устройства.
Для создания и загрузки типового конфигурационного файла на странице “Конф. Файлы по TFTP” используется ссылка “Загрузить типовую конфигурацию”, которая появляется только если определен шаблон для данной модели.
_images/device_tftp_upload2.png

Note

В рамках внедрения информационной системы в целом, и модуля мониторинга в частности, разработчик может настроить типовые конфигурации, в том числе и более сложные, чем просто указание клиентского VLAN.

Обновление прошивки

Информационная система позволяет упростить процесс обновление прошивок на устройствах. Обновление прошивки реализована используя интерфейс командной строки, и позволяет обновить прошивку для указанного устройства.
Для этого используется команда upgrade_firmware в контексте устройства:
$ cli
Welcome to Pyzzle CLI
Pyzzle> device 313
Pyzzle(device=313)> upgrade_firmware
Error: На устройстве уже нужная версия прошивки
В настройках класса устройства определяется константа TFTP_FIRMWARE_FILE, в которой указываются актуальные версии прошивок для разных моделей устройств, и где эти файлы лежат на TFTP сервере:
TFTP_FIRMWARE_FILE={ "DES-3526 Fast-Ethernet Switch":('"6.00.B23"','DES3526R6_6.00-B23.had'),
                     "DES-3550 Fast-Ethernet Switch":('"6.00.B22"','DES3550R6_6.00.B22.had'),
                  }
В данном случае для DES-3526 используются прошивка версии 6.00.b23. Модель коммутатора должна соответствовать тому как это отдает устройство по SNMP.
При запуске команды upgrade_firmware система смотрит какая прошивка стоит на устройстве в данные момент, и если они отличаются, то сохраняет текущую конфигурацию устройства в NVRAM, выполняет обновление используя SNMP и TFTP и потом через 10 минут перезагружает устройство. Перезагрузку можно отметить указав команде ключ noreboot.

Групповое управление устройствами

Информационная система позволяет выполнять различные операции над произвольной группой устройств: включать разные настройки, сохранять конфигурацию или выполнять telnet команды. Для этого используется страница “Групповое управление устройствами”.
_images/device_group.png
Принцип формирования группы аналогичен групповым операциям над абонентами: группа формируется в несколько итераций добавляем/удалением устройств фильтруя по различным критериям. Сформированные группы можно сохранять и передавать на чтение другим операторам системы. Различные действия над сформированной группой устройств перечислены в нижней части страницы.

Групповой запуск telnet команд

Наиболее мощным инструментом является групповой запуск telnet команд на всех коммутаторах группы. Для работы этой функции необходимо чтобы telnet поддерживался устройством и параметры доступа к устройству по telnet были настроены в биллинге. Если все коммутаторы имеют идентичные параметры для входа, то логин с паролем может быть указан в конфигурационном файле, в противном случае класс устройства может быть настроен на указание логина и пароля для доступа для каждого устройства индивидуально среди других параметров.
Форма запуска Telnet команд позволяет указать команды которые нужно выполнить, дополнительно может быть указан фильтр которые позволяет отфильтровать результат выполнения, оставив только строки содержащие фильтр (используется для фильтрации определенного параметра в выводе команд типа: show switch). Если команды приводят к изменению конфигурации устройства то галочкой “Отложенное сохранение конфигурации” устройства будут поставлены в очередь на запись текущего конфига в NVRAM (используя snmpmanagement_daemon который выполняет эту операцию ночью).
Система позволяет иметь заранее заполненные шаблоны команд для наиболее часто встречающихся действий. Для этого в конфигурационном файле billing.cfg нужно указать параметр device_group_telnet_template_file - путь к файлу с шаблонами команд (по умолчанию /opt/billing/etc/device_group_telnet.tpl). В этом файле перечисляются блоки команд с следующем виде:
<template key="some_key" name="some_value">
command 1
command 2
</template>
Где some_key внутреннее имя группы команды (должно быть уникальным), some_value - значение используемое в выпадающем списке для выбора группы, а command 1 и command 2 сами команды, которые должные быть выполнены. Например:
<template key="trap" name="Enable port trap">
config mac_notification interval 1 historysize 1
enable mac_notification
create snmp host 10.0.1.253 v1  public
config ports all trap enable
enable address_binding trap_log
</template>
_images/device_group1.png