Поиск по этому блогу

16.03.2009

Применение макросов

Однажды столкнулся с тем, что коммутатор Cisco Catalyst 500 Express можно настроить только через web-интерфейс и доступ к консоли, доступ по telnet'у, snmp для управления им даже не предполагается. Там на выбор предлагалось несколько макросов:
  • Cisco-desktop
  • Cisco-phone
  • Cisco-switch
  • Cisco-router
  • Cisco-wireless
С макросами удобно работать, если настраивается диапазон портов, настройки портов на разных коммутаторах одинаковые и отличаются только номером VLAN. Идея была перенесена в повседневное использование для конфигурирования коммутаторов командами через command line interface (CLI).



С имеющимися макросами, а так же с командами, из которых они состоят можно знакомиться так:
switch#show parser macro

В режиме конфигурирования составляется макрос:
macro name lan-user
switchport access vlan $access_vlan
switchport mode access
no logging event link-status
no cdp enable
spanning-tree portfast
spanning-tree bpduguard enable
@

Здесь lan-user - название макроса, а $access_vlan - переменная. В самом макросе описываются команды управления портом, как если бы вы их вводили в режиме конфигурации. При создании макроса есть подсказка заканчивать символом @.

Данный макрос создается на множестве коммутаторов сети. На switch1 пользователи находятся во VLAN 231, а на switch2 - 232 Начинаем...
switch1(config)#int range fa3/0/1 - 24
switch1(config-if-range)#macro trace lan-user $access_vlan 231
Applying command... ' switchport access vlan 231'
Applying command... ' switchport mode access'
Applying command... ' no logging event link-status'
Applying command... ' no cdp enable'
Applying command... ' spanning-tree portfast'
Applying command... ' spanning-tree bpduguard enable'
... пропущено...
switch2(config)#int range fa1/0/1 - 48
switch2(config-if-range)#macro trace lan-user $access_vlan 232
Applying command... ' switchport access vlan 232'
Applying command... ' switchport mode access'
Applying command... ' no logging event link-status'
Applying command... ' no cdp enable'
Applying command... ' spanning-tree portfast'
Applying command... ' spanning-tree bpduguard enable'
... пропущено...

В итоге работать стало проще и веселее.
interface FastEthernet1/0/1
switchport access vlan 231
switchport mode access
no logging event link-status
macro description lan-user
no cdp enable
spanning-tree portfast
spanning-tree bpduguard enable