UNIVERSAL PORT MANAGEMENT в ExtremeXOS

Материал из Xgu.ru

Перейти к: навигация, поиск

< ExtremeXOS

Здесь описываются основные с практической точки зрения моменты по настройке и взаимодействию с 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


[править] Дополнительная информация

[править] Примечания