UNIVERSAL PORT MANAGEMENT в ExtremeXOS
Материал из Xgu.ru
Здесь описываются основные с практической точки зрения моменты по настройке и взаимодействию с ExtremeXOS на коммутаторах от Extreme Networks. В качестве основного источника информации используется ExtremeXOS Concepts Guide.
Профайлы можно получать на сайте Extreme Networks, от разработчиков или создавать самому.
На свиче может быть много профайлов, но одновременно может быть запущенным только один.
Профайлы бывают статические и динамические.
- Статические не запускаются по каким-то событиям. Только вручную или из других скриптов. Не применяются к индивидуальным портам, устройствам или пользователям. Могут делать общеситсемные изменения конфигурации. Изменения, сделанные в статических профайлах являются постоянными, записываются в конфиг и сохраняются при перезагрузках. Применяются в основном для автоматизации начального конфигурирования свичей, либо для ручного применения каких-то конфигурационных шаблонов.
- Настройки сделанные в динамических профайлах являются временными, не добавляются в конфиг и не переживают перезагрузки. Это поведение настраивается.
Динамические профайлы запускаются по возникновению следующих событий:- обнаружение или отключение устройства.
- аутентификация и разлогинивание пользователя.
- время дня.
- сообщения от Event Management System (EMS).
Правила написания профайлов:
- максимум 5000 символов в профайле;
- максимум 128 профайлов на свич;
- профайлы хранятся как часть файла конфигурации свича;
- copy/past - единственный метод для перемещения данных профайла с помощью CLI.
- по-умолчанию статические профайлы всегда persistent а динамические - non-persistent.
[править] Триггеры запуска профайлов
- Device Triggers
Запускаются, когда устройства подключается (device-detect type) или отключается(device undetect type) от порта. Используются для подготовки настроек порта. Для работы на порту должен быть включён LLDP. На порту может быть один device-detect и один device-undetect профайл.
- User authentication Triggers
Активируется, когда пользователь или устройство логинится в сети используя фичу Network Login. Для Network Login нужен RADIUS. Так же аутентификация может быть по маку или на основе веба.
- Time Triggers
Запускают профайлы на основе времени дня или с заданным периодом.
- EMS Triggers
Обычно используются для изменения настроек свича в ответ на событие свича или сети. События на которые нужно реагировать задаются фильтром. Формат component.subcomponent.condition. Все компоненты и подкомпоненты, для которых можно фильтровать события показываются по команде
show log components show log enents all - отображает все условия и события которые можно фильтровать.
[править] Команды конфигурации категории Non-Persistent-Capable
ACL
configure access-list add <dynamic_rule> [ [[first | last] {priority <p_number>} {zone <zone>} ] | [[before|after] <rule>] | [ priority <p_number> {zone <zone>} ]] [ any | vlan <vlanname> | ports <portlist> ] {ingress | egress} configure access-list delete <ruleName> [ any | vlan <vlanname> | ports <portlist> | all] {ingress | egress}
LLDP
configure lldp ports <portlist> [advertise|don't-advertise]...
PORT
disable port [<port-list>|all] enable port [<port_list> | all] disable jumbo-frame ports [<port-list>|all] enable jumbo-frame ports [<port-list>|all]
PoE
configure inline-power label <string> ports <port_list> configure inline-power operator-limit <milliwatts> ports [all |<port_list>] configure inline-power priority [critical | high | low] ports <port_list> disable inline-power enable inline-power disable inline-power ports [all | <port_list>] enable inline-power ports [all | <port_list>] disable inline-power slot <slot> enable inline-power slot <slot> unconfigure inline-power priority ports [all | <port_list>]
VLAN
configure {vlan} <vlan_name> add ports [<port_list> |all] {tagged | untagged} {{stpd} <stpd_name>} {dot1d | emistp | pvst-plus}} configure ip-mtu <mtu> vlan <vlan_name>
QoS/RateLimit
configure ports <port_list> {qosprofile} <qosprofile>
[править] Universal Port Variables
[править] Общие переменные (доступны во всех скриптах)
$STATUS - статус выполнения последней команды $CLI.USER - имя пользователя, который запустил CLI. $CLI.SESSION_ID - Этот идентификатор доступен для обратного события, когда девайс или юзер отваливается по таймауту. $CLI.SESSION_TYPE - тип сессии (telnet, ssh...) $EVENT.NAME - событие, которое активировало этот профайл. $EVENT.TIME - время, когда произошло событие (с начала unix-эпохи?) $EVENT.TIMER_TYPE - тип таймера (периодичный и непериодичный) $EVENT.TIMER_NAME - имя таймера, который вызывает Universial Port. $EVENT.TIMER_LATE_SECS - разница между временем, когда тикнул таймер и когда запустился профайл (в секундах) $EVENT.PROFILE - имя профайла, который сейчас запущен.
[править] Переменные пользовательских профайлов
$EVENT.USERNAME - имя аутентифицированного пользователя. Содержит мак-адрес в случае доступа на основе мака. $EVENT.NUMUSERS - количество аутентифицированных посетителей на порту, после того, как случилось событие. $EVENT.USER_MAC - мак-адрес пользователя. $EVENT.USER_PORT - порт, ассоциированный с этим событием. $EVENT.USER_VLAN - влан, ассоциированный с этим событием или пользователем. $EVENT.USER_ALL_VLANS - когда пользователь аутентифицирован во множество вланов, эта переменная содержит их список. $EVENT.USER_IP - ip-адрес пользователя (если применим). Если нет, эта переменная пуста.
[править] Переменные профайлов устройств (device-profile)
$EVENT.DEVICE - Device identification string. Возможные занчения: AVAYA_PHONE, GEN_TEL_PHONE, ROUTER, BRIDGE, REPEATER, WLAN_ACCESS_PT, DOCSIS_CABLE_SER, STATION_ONLY, OTHER. $EVENT.DEVICE_IP - ip-адрес девайса (если доступен). Если нет, пусто. $EVENT.DEVICE_MAC - мак-адрес девайса. $EVENT.DEVICE_POWER - мощьность девайса в миливаттах. Пусто, если не доступна. $EVENT.DEVICE_MANUFACTURER_NAME - производитель устройства. $EVENT.DEVICE_MODEL_NAME - модель устройства. $EVENT.USER_PORT - порт, соответствующий событию.
[править] Переменные профайлов EMS
$EVENT.NAME - сообщение события. $EVENT.LOG_DATE - дата события. $EVENT.LOG_TIME - время события. $EVENT.LOG_COMPONENT_SUBCOMPONENT - компонент и подкомпонент события, которые отображаются в show log components $EVENT.LOG_EVENT - состояние события, из списка show log events $EVENT.LOG_FILTER_NAME - EMS-фильтр, который активировал профайл. $EVENT.LOG_SEVERITY - уровень северити этого события, который определён в EMS. $EVENT.LOG_MESSAGE - сообщение о событии с аргументами в формате %1% $EVENT.LOG_PARAM_0 to _9 - аргументы события.
[править] Настройка Universal Port
show upm event <event-type> - посмотреть, какие события соответствуют каким профайлам. show upm profile <name> - посмотреть содержимое профайла. show upm timers - посмотреть список таймеров. show upm history {profile <profile-name> | event <upm-event> | status [pass | fail] | timer <timer-name> | detail} - история запуска. show upm history exec-id <number>
configure upm profile <profile-name> maximum execution-time <seconds> - создать и настроить новый профайл. edit upm profile <name> - редактирование профайла. disable upm profile <profile-name> - выключение/включение профайла. enable upm profile <profile-name> delete upm profile <profile-name> - удаление профайла. configure upm event <upm-event> profile <profile-name> ports <port_list> - настройка device-event-trigger, где <upm-envent> может быть device-detect или device-undetect
create upm timer <timer-name> - создание таймера upm. configure upm timer <timer-name> after <time-in-secs> [every <seconds>] - настройка таймера upm. configure upm timer <timer-name> at <month> <day> <year> <hour> <min> <sec> [every <seconds>] configure upm timer <timer-name> profile <profile-name> - настройка триггера по таймеру. delete upm timer <timer-name> - удаление таймера upm.
create log filter <name> {copy <filter-name>} - создание фильтра журнальных событий EMS configure log filter <name> [add|delete] {exclude} events [<event-condition> | [all | <event-component>] {severity <severity> {only}}] configure log filter <name> [add|delete] {exclude} events [<event-condition> | [all | <event-component>] {severity <severity> {only}}] [match | strict-match] <type> <value> - его настройка. create log target upm {<upm_profile_name>} - создание журнальной цели для получения сообщения о событии delete log target upm {<upm_profile_name>} - удаление журнальной цели (триггера). configure log target upm {<upm_profile_name>} filter <filter-name> {severity [[<severity>] {only}]} configure log target upm {<upm_profile_name>} match {any | <regex>} enable log target upm {<upm_profile_name>} - после завершения настроек включение работы триггера.
unconfigure upm event <upm-event> profile <profile-name> ports <port_list> - удаление триггера устройства или пользователя. unconfigure upm timer <timerName> profile <profileName> - удаление триггера времени.
run upm profile <profile-name> {event <event-name>} {variables <variable-string>} - ручной запуск профайла для теста. run upm profile afterhours
[править] Дополнительная информация
[править] Примечания
Extreme Networks | ||
---|---|---|
ExtremeXOS | ExtremeXOS | |
Управление платформой | Управление конфигурациями • Файловая система • BootStrap • Управление Image-файлами • Настройка удалённого управления • SNMP • Параметры журналирования • SNTP (периодический опрос серверов NTP) • Настройка слотов расширений • Другие сервисные функции | |
Базовый функционал коммутации (L2) |
Настройка портов • Функции таблицы коммутации • VLAN • STP • Агрегирование каналов • LLDP • Зеркалирование портов | |
Маршрутизация (L3) | IP-интерфейсы (SVI) • Virtural Routers • Маршрутизация L3 • OSPF • BGP | |
Прочее | ACL • QoS • Скриптование • Примеры скриптов |