Базовые операции на ExtremeXOS

Решение различных задач на коммутаторах Summit-X480 от Extreme Networks

править

Управление конфигурациями

править
show configuration {<module-name>} [detail]	- показывает весь активный конфиг, или только конфиг модуля. detail - не только изменённые значения.
save configuration [primary | secondary]	- сохранить runing-config в primary.cfg
use configuration [pri | sec | <filename>]	- выбрать активный файл конфигурации, который будет использован после ребута.
tftp put <ip> -vr <name> <src-file> [<dst-file>]- загрузка файла конфигурации со свича на tftp-сервер (xml).
tftp get <ip> {-vr <name>} <src-file> <dst-file>- загрузка файла конфигурации с tftp-сервера на свич (xml).
upload configuration <ip> <file.xsf> vr <name>  - загрузка текущей конфигурации со свича на tftp-сервер (asci).
tftp get <ip> <remote-file>			- загрузка изменённого командного скрипта с tftp на свич (asci).
load script newscript.xsf			- загрузка командного скрипта в текущую конфигурацию (после этого надо сохранить текущий конф в pri или sec.
edit script newscript.xsf			- редактирование командного скрипта прямо на свиче.
unconfigure switch [all]			- вернуть конфиг к заводским настройкам кроме аккаунтов, паролей, даты и времени all - кроме даты и времени.
reboot						- перезагрузка свича.
show switch					- сводная информация по свичу.

Файловая система

править
ls,cp,mv,rm					- список файлов, копирование, переименовывание, удаление.
edit policy <filename>				- редактирование файлов политик.
edit <file-type> <file-name>			- внутренний редактор свича. По командам очень похож на vi.

Для входа надо подключиться с консоли, перезагрузить свич и во время загрузки держать нажатым space пока не появится приглашение «BootStrap>». h — для отображения помощи по командам.

download bootrom <tftp-ip> summitX450-<version>.xbr	- обновление BootROMa. Требуется осторожность, прерывание может повредить BootROM и тогда хана.

Управление Image-файлами

править
show version					- посмотреть текущую версию имиджа.
download image <ip> <file> vr <name> {pri|sec} - загрузить файл имиджа на свич в позицию pri или sec.
use image <primary | secondary>		- установка активного имиджа, который будет загружен после перезагрузки.

Настройка управления свичём

править
show management					- сводная информация по настройке функций управления.
show account					- показать существующие учётные записи.
create account [admin | user] <name> <pass>	- создать аккаунт. 
delete account test				- удалить аккаунт.
configure account test				- задать пароль для пользователя test. (обязательно установить пароль для admin)
configure failsafe-account			- для доступа к свичу, если пароль админа утерян. Никогда не отображается, всегда присутствует.
						  пароль невозможно восстановить. Сразу же сохраняется в NVRAM (не в конфиг).
configure cli max-sessons <n>			- макс. число одновременных пользовательских сессий.
configure cli max-failed-logins <n>		- макс. число неудачных попыток ввода пароля.
configure account [all|<name>] password-policy lockout-in-ligin-failures on - блокировать аккаунт после достижения предела неудачных попыток входа.
clear account [all|<name>] lockout		- снять блокировку аккаунта (из-под другого админского акка).
configure telnet vr admin_vrouter		- определяет виртуальные интерфейсы, по которым можно доступиться через telnet.
enable ssh2					- включить возможность доступа по ssh (установка модуля ssh так же добавляет функциональность https).
scp2 {cipher [3des|blowfish]} {port <n>} {debug <level>} <user>@<host>:<remote_file> <local_file> {vr <name>} - копирование файла по scp.
disable clipaging				- отключить постраничный вывод.
[no-refresh]					- опция обеспечивает вывод инфы без циклического обновления.
show session {{detail} {<sessID>}} {history}
clear session [<sessID> | all]
enable snmp access				- включает snmp
configure snmp sysname <str>			- задаёт имя узла
configure snmp syslocation <str>		- задаёт расположение узла
configure snmp syscontact <str>		- контактная информация.
configure snmp add community [readonly|readwrite] <str>	- добавляет комьюнити.
configure snmp traps				- включает рассылку трапов.
configure snmp add trapreceiver <ip> community <str>	- определяет получателя трапов.

Логгирование

править
configure syslog {add} [ip] {vr <name>} [local0 .. local7] {<severity>}
enable syslog
show log {<severity>}			- посмотреть локальный лог. Локальное логгирование: до 20000 сообщений (по по умолчанию 1000).

SNTP (периодический опрос серверов NTP)

править
configure sntp-client [pri|sec] server <host> {vr <name>}
enable sntp-client

Настройка слотов расширений

править
configure slot <num> module [ G48T | G48P | G24X | 10G4X ]	- настройка типа модуля, установленного в данном слоте расширения.
unconfiugre slot 						- сброс конфигурации указанного модуля.
clear slot <num>						- удалить всю конфигурацию слота.

SVI (L3-интерфейсы во вланах)

править
configure vlan mgmt ipaddress 10.0.0.1 255.255.255.0		- повесить ip-адрес на SVI влана
configure vlan default ipaddress 10.0.0.1/24			- повесить ip-адрес на SVI влана
unconfigure vlan mgmt ipaddress				- убрать ip-адрес с SVI влана

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

править

Обозначения для модульных свичей: 2:4 — второй слот, четвёртый порт; 3:6-8,11 — с группа с 6 по 8 порты и 11 порт в модуле 3.

  • Диагностика
show ports <port-list> configuration				- отображение конфигурации порта.
show ports <port-list> information				- отображение информации о работе порта.
  • Настройка:
enable ports <port-list>					- включить группу портов.
disable ports <port-list>					- отключить группу портов.
configure ports 1 auto off speed 100 duplex full		- настройка неготиации, скорости и дуплекса.
configure ports 1 auto-polariry				- настройка автоопределения типа кабеля.
enable jumbo-frame ports [all | <port-list>]			- разрешение jubmo-фреймов.
configure jumbo-frame size <jumbo_frame_mtu>			- установка размера (1523-9216).


Функции таблицы коммутации

править
show fdb								- посмотреть всю таблицу коммутации.
create fdbentry <dst-mac> vlan <name> [ports <port_list>|blackhole]	- создание статической fdb-записи.
delete fdbentry {all | <mac> [vlan <name>] }				- удаление статической fdb-записи.
clear fdb { <mac> | blackhole | ports <port-list> | vlan <name>}	- удаление динамической(их) fdb-записи(ей).
disable learning drop-packets port 5					- на порту 5(in) форвардить пакеты только по статической fdb. Остальные отбрасывать.
disable learning forward-packets port 5				- не запоминать маки на 5 порту, но форвардить входящий трафик.
show ports 5 information		- проверить настроенный режим обучения (флаг m говорит, что функция запоминания активна).
configure fdb agingtime <15-1000000>	- время жизни записи в таблице коммутации. 0 - бесконечно.

Функции безопасности уровня коммутации

править

1. Egress Flood Control — ограничивает исходящий флуд разного типа трафика (unknown-unicast, broadcast, multicast).

disable flooding unicast port 1	- запретить флуд юникаст пакетов с неизвестным dst-mac в порт 1.
enable flooding broadcast port all	- разрешить флудить бродкастом на всех портах.
show port 1 info detail		- проверить настроенные режимы функции на порту 1.

2. Limit-Learning — ограничивает число маков, которые могут быть запомнены на порту в определённом влане. Трафик незапомненных маков блокируется (в обоих направлениях).

configure ports <port> vlan <name> learning-limit 3		- во влане <name> на порту <port> может быть запомнено не более 3 маков.
configure ports <port> vlan <name> unlimited-learnings	- снять ограничение для связки порт/влан.

3. Lock-Learning — запоминает текущие маки на порту во влане и блокирует трафик всех остальных маков.

configure ports <port> vlan <name> lock-learning		- запомнить текущие маки на порту <port> во влане <name>
configure ports <port> vlan <name> unlock-learning		- снять блокировку.
для диагностики работы функций:
show fdb
show vlan <name> security

4. Extreme Link Status Monitoring (ELSM) Проприетарный протокол, который следит за сбоями CPU и удалённых линков, предотвращая возможное образование колец. Работает по принципу point-to-point, настраивается на обоих конечных точках (свичах), соединённых через L2-облако. Если ELSM ложится, пакеты данных не принемаются и не передаются через этот порт.

show elsm port 3	- проверка работы функции на порту 3.
configure ports <port_list> rate-limit flood [broadcast | multicast | unknown-destmac] [no-limit | <pps>]
show vlan [detail] [<name>]			- посмотреть список существующих вланов, либо инфу по конкретному влану.
  • Port-Based VLAN
create vlan <name>				- создание port-based влана <name>
delete vlan <name>				- удаление port-based влана <name>
enable vlan <name>				- активизация работы port-based влана на свиче.
disable vlan <name>				- отключение работы port-based влана.
configure vlan <old_name> name <new_name>	- переименовывание влана.
configure vlan <name> add port <port-list>	- добавление портов в port-based влан.
configure vlan <name> delete port <port-list>	- удаление портов из port-based влана.
  • Tagged VLAN
create vlan <name>				- создание влана
configure vlan <name> tag <number>		- назначение влану тэга
configure vlan <name> delete port <port-list>	- удаление влана из указанных портов.
configure vlan <name> add port <port-list> [tagged|untagged] - добавление влана в указанные порты. По-умолчанию нетегировано, поэтому помним про tagged.

Настройка в режиме 802.1w

править
create stpd <name> [description <stpd-description>]		- создаём домен STP c именем <name>. По-умолчанию присутствует домен s0.
configure stpd <stpd_name> mode dot1w				- задание режима работы STP домену.
configure stpd <stpd_name> add vlan <name> port <port-list>	- добавляет вланы в домен STP на портах (перед этим вланы должны быть выброшены в эти
								  порты). Порты, на которых обеспечивать работу STP задаются в ручную. ИЛИ...
configure stpd <name> auto-bind vlan <name>			- или можно автоматически включать в домен stp все порты, куда выбрасываются вланы.
configure stpd <stpd_name> priority <pri>			- Для RSTP и MSTP должны быть кратными 4096.
configure stpd <stpd_name> ports cost <auto|cost> <port-list>  - Задание специфичной стоимости линков на портах.
configure stpd <stpd_name> ports priority <pri> <port-list>	- задание значения приоритета порта (для определения назначенного).
confugure stpd <stpd_name> hellotime <sec>
configure stpd <stpd_name> forwarddelay <sec>
configure stpd <stpd_name> maxage <sec>
enable stpd <stpd_name> 					- включает использование протокола STP. Домен по-умолчанию s0.
disable stpd {<stpd_name>}					- отключить STP
unconfig stpd {<stpd_name>}					- восстановить умолчательные настройки работы STP.

Настройка в режиме 802.1s (MSTP)

править

I) Настройка домена MSTP CIST

править
create stpd <name> [description <stpd-description>]		- создаём домен
configure stpd <name> mode mstp cist				- говорим, что этот домен будет MSTP CIST
enable stpd <name>						- включаем stp домен cist

HINT: Чтобы расконфигурить домен из CIST надо поставить ему режим dot1d.

II) Настройка MSTI (инстансов) в регионе

править
create stpd <iname>						- создаём домен инстанса
configure stpd <iname> mode mstp msti <inst_num>		- назначаем домену ID инстанса <1-4096>. max(MSTIs) для региона = 64.
								  ID должны быть уникальны только в пределах региона.
configure stpd <iname> add vlan <name> ports <port-list>	- привязка вланов к MSTI на указанных портах (влан на портах должен уже присутствовать).
	или с помощью auto-bind:
enable stpd <iname> auto-bind vlan <name>
enable stpd <iname>						- включаем msti домен.

III) Настройка MSTP аттрибутов (идентификаторы региона)

править

Следующие параметры должны быть идентичны на всех свичах в регионе.

  • имя региона;
  • номер ревизии конфигурации;
  • таблица соответствия привязки номеров вланов к MSTI-инстансам;
configure mstp region <RegionName>				- обозначение принадлежности свича к региону
configure mstp revision <rev_num>				- номер ревизии конфигурации.
configure mstp format <format_id>				- <0-255> - номер, определяющий формат MSTP BPDUs. по-умолчанию 0.

Диагностика

править
show configuration stp					- отобразить секцию конфига, посвященного stp
show stpd						- общая инфа о настройке STP + список и основные параметры доменов.
show stpd <domain-name>					- общая инфа о работе конкретного домена STP.
show stpd <domain-name> ports [detail]			- информация о настройках, ролях и статусах портов в указанном домене STP.
show stpd <domain-name> {[detail | <port_list> {detail}]} - подробная информация о домене или статусах портов.
show vlan <vlan_name> stpd				- информация, к какому инстансу относится влан.
править
configure sharing address-based custom ipv4 source-and-destination - выбор алгоритма распределения нагрузки по портам.
enable sharing <port> grouping <port-list> {algorithm address-based {L2|L3|L3_L4}} {lacp}
			Сформировать канальную группу. Первый порт в группе настраивается как логический порт
			группы и представляет собой группу с т.з. конфигурации.
disable sharing <logic-port>				- расформировать канальную группу.
configure sharing lacp system-priority 3		- установить приоритет lacp у свича. 0 - удаляет на стройку. По-умолчанию приоритет = MAC.
configure sharing <logic-port> add ports <port-list>	- динамически добавить порт к группе (должен быть предварительно enabled).
configure sharing <logic-port> delete ports <port-list> - динамически удалить порты из канальной группы.
configure sharing <logic-port> lacp activity-mode <{active|passive}> - установка режима работы LACP в канальной группе.
configure sharing <logic-port> lacp system-priority <1..65535> - установить приоритет lacp свича в конкретной канальной группе.
clear lacp counters					- сбросить счётчики.

Диагностика

править
show lacp					- список групп и их статус.
show lacp lag <masterport> [detail]		- подробный статус lacp конкретной группы (представляемой мастер-портом).
show ports sharing 				- информация по группе агрегации (не обязательно с lacp).
show lacp member-port <port-list>		- информация о статусе lacp на конкретных портах из группы.
show lacp counters				- счётчики PDU.
enable lldp ports [all|<port-list>] {receive-only|transmit-only}	- включает LLDP TLVs на портах.
configure lldp transmit-interval <seconds>
configure lldp transmit-hold <hold>
configure lldp transmit-delay [auto|<seconds>]
configure lldp ports [all|<port-list>] [advertise|no-advertise] system-name

Диагностика

править
show lldp {port [all|<port-list>]} {neighbors} {detailed}

Extreme Discovery Protocol (EDP)

править
enable edp ports all
show edp ...
edit policy <PNAME>					- редактировать политику (ACL).
configure access-list <PNAME> ports 1 ingress		- навесить лист на порт
unconfigure access-list ports <port-list>		- снять лист с порта

Пример: аналог BPDU-filter на портах

править

entry BPDUfilter1 {
    if {
        ethernet-destination-address 01:00:0c:cc:cc:cd;
    } then {
        deny;
    }
}
entry BPDUfilter2 {
    if {
        ethernet-destination-address 01:80:C2:00:00:00;
    } then {
        deny;
    }
}

Сервисные фичи

править
configure timezone 420 noautodst
configure sntp-client primary 195.49.169.1 vr "VR-Default"
enable sntp-client

Баннеры

править
configure banner { after-login | { before-login } { acknowledge } }

Таймаут простоя консоли

править
conf idletimeout <min>

Настройка Egress Port Rate Limits

править
configure ports <port_list> rate-limit egress [no-limit | <cir-rate> [Kbps | Mbps | Gbps] {max-burst-size <burst-size> [Kb | Mb]}]

Мирроринг

править

Настройка зеркалирование трафика в один мониторинговый порт

править

enable mirroring to port 4				- включает мирроринг в 4 порт.
configure mirroring add port 8 [ingress]		- мирорит весь [входящий] трафик порта 8 на порт 4
configure mirroring add vlan red			- мирорить трафик влана red на порт 4
configure mirroring add vlan red port 5			- мирорить трафик влана red на порту 5 в порт 4

Настройка зеркалирование трафика в несколько мониторинговых портов

править

Следующий пример демонстрирует как зеркалировать трафик в более чем один мониторинговый порт (порты 5, 6, 7). Для этого необходимо назначить какой-нибудь свободный порт (в примере 1) как loopback-port. После настройки этот loopback порт не может быть использован для передачи трафика, но так как его ресурсы используются для зеркалирования, на нём горит линк независимо от присутствия провода.

enable mirroring to port-list 5-7 loopback-port 1
configure mirroring add port 10 ingress

show ports 24 qosmonitor				- статистика по сброшенным из-за QoSa пакетам
show ports 24 information
configure port <list> shared-packet-buffer <1-100>	- задать % буфера, который может использовать порт для буферизации пакетов в очереди.
configure dot1p replacement {qosprofile} <qosprofile> priority <vpri> {ports <port_list>}
enable dot1p replacement ports [<port_list> | all]	- To enable 802.1p priority replacement on egress.
disable dot1p replacement ports [<port_list> | all]
enable diffserv replacement ports [<port_list> | all]	- To enable replace DSCPs
disable diffserv replacement ports [<port_list> | all]
show diffserv replacement
configure diffserv replacement [{qosprofile} <qosprofile> | priority <priority>] code-point <code_point>
unconfigure diffserv replacement

Пример установки DSCP

править
configure access-list qp3sub any
entry QP3-subnet {
    if {
        source-address 10.1.2.0/24
    } then {
        Qosprofile qp3;
        replace-dscp;
   }
}
enable diffserv examination ports all

Настройка исходящего QoS Profile Rate Shaping

править
create qosprofile [QP2| QP3 | QP4 | QP5 | QP6 | QP7]	- создавать/удалять дополнительные очереди.
delete qosprofile [QP2| QP3 | QP4 | QP5 | QP6 | QP7]
configure qosprofile egress <qosprofile> [{minbw <minbw_number>} {maxbw <maxbw_number>} | {peak_rate <peak_bps> [K|M]}] [ports [<port_list>|all]]
configure qosprofile <qosprofile> [{minbw <minbw_number>} {maxbw <maxbw_number>} | {{committed_rate <committed_bps> [K|M]} {peak_rate <peak_bps> [K|M]} | [ports [<port_list>|all]]
configure {qosprofile} <qosprofile> [[{maxbuffer <buffer_percentage>} {weight <weight_value> | use-strict-priority}] | [maxbuffer <buffer_percentage> ports [<port-list> | all]]]
configure qosprofile {egress} <qosprofile> [{minbw <minbw_number>} {qos-weight <weight>} {maxbw <maxbw_number>} | {{committed_rate <committed_bps> [K | M]} {qos-weight <weight>} {peak_rate <peak_bps> [K | M]}] {priority [<priority> | <priority_number>]} [ports [<port_list> | all]]
show qosprofile {ingress | egress} ports [ all | <port_list>]	- посмотреть, как настроено.