SmartPort マクロの概要
SmartPort マクロは、共通の設定を保存および共有するのに便利です。SmartPort マクロを使用すると、ネットワークでのスイッチの場所に基づいて機能および設定をイネーブルにしたり、ネットワークを通じて大規模な設定を配置したりできます。
各 SmartPort マクロは、定義した CLI(コマンドライン インターフェイス)コマンドの集まりです。SmartPort マクロは、既存の CLI コマンドの集まりであり、新しい CLI コマンドは含まれていません。
インターフェイスに SmartPort マクロを適用すると、マクロ内の CLI コマンドがインターフェイスに対して設定されます。インターフェイスに SmartPort マクロを適用しても、インターフェイスの既存の設定は失われません。新しいコマンドがインターフェイスに追加され、実行コンフィギュレーション ファイルに保存されます。
スイッチ ソフトウェアには、シスコの SmartPort のマクロがデフォルトで組み込まれています( 表11-1 を参照)。これらのマクロやコマンドは、 show parser macro ユーザ EXEC コマンドを使用して表示できます。
表11-1 シスコのデフォルト SmartPort マクロ
|
|
cisco-global |
Rapid PVST+、ループガード、リンク ステート障害用のダイナミック ポート エラー回復をイネーブルにするには、このグローバル コンフィギュレーション マクロを使用します。 |
cisco-desktop |
PC などのデスクトップ デバイスをスイッチ ポートに接続する場合、ネットワーク セキュリティと信頼性を高めるために、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-phone |
Cisco IP Phone を装備した PC などのデスクトップ デバイスをスイッチ ポートに接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。このマクロは、 cisco-desktop マクロの拡張機能で、同じセキュリティ機能と復元力機能を提供します。ただし、遅延に影響されやすい音声トラフィックを適切に処理するために、専用音声 VLAN(仮想 LAN)が追加されています。 |
cisco-switch |
アクセス スイッチとディストリビューション スイッチを接続する場合、または Small Form-Factor Pluggable(SFP)を使用して接続したアクセス スイッチの間で、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-router |
スイッチと WAN ルータを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-wireless |
スイッチとワイヤレス アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
また、シスコが推奨するテスト済みのベースライン コンフィギュレーションのテンプレート集も提供されています。オンライン リファレンス ガイドのテンプレートには、利用するポートに応じた SmartPort マクロを作成できる CLI コマンドが含まれています。コンフィギュレーション テンプレートを使用して SmartPort マクロを作成し、シスコ推奨のネットワーク設計および設定を構築し、展開できます。シスコ推奨のコンフィギュレーション テンプレートの詳細については、Smartport のWeb サイトを参照してください。
http://www.cisco.com/go/smartports
SmartPort マクロの設定
新しい SmartPort マクロを作成するか既存の SmartPort マクロをテンプレートにして、アプリケーション専用の新しい SmartPort マクロを作成できます。作成したマクロは、スイッチ、スイッチ インターフェイス、またはインターフェイス範囲にグローバルに適用できます。
ここでは、次の設定情報について説明します。
• 「SmartPort マクロのデフォルト設定」
• 「SmartPort マクロ設定時の注意事項」
• 「SmartPort マクロの作成」
• 「SmartPort マクロの適用」
• 「シスコのデフォルト SmartPort マクロの適用」
SmartPort マクロのデフォルト設定
イネーブル設定の SmartPort マクロはありません。
SmartPort マクロ設定時の注意事項
スイッチでマクロを設定するときには、次の注意事項に従ってください。
• マクロを作成するときは、 exit または end コマンドを使用しないでください。または interface interface-id を使用して、コマンド モードを変更しないでください。 exit または end 、または interface interface-id に続くコマンドが別のコマンド モードで実行されることがあるためです。
• マクロを作成するときは、すべての CLI コマンドを同じコンフィギュレーション モードにします。
• 一意の値を割り当てる必要のあるマクロを作成するときは、 parameter value キーワードを使用して、インターフェイスに特定の値を指定します。キーワードの照合では大文字と小文字が区別されます。キーワードがすべて照合できた場合、それに対応する値に置き換えられます。キーワードの完全一致は、長いキーワード ストリングの一部に完全一致する部分がある場合でも、そのキーワードは一致したとみなされ、それに対応する値に置き換えられます。
• マクロ名は大文字と小文字が区別されます。たとえば、 macro name Sample-Macro および macro name sample-macro は、別々の 2 つのマクロになります。
• 一部のマクロには、パラメータ値を必要とするキーワードを含んでいる場合があります。マクロで必要な値を表示するには、 macro global apply macro-name ? グローバル コンフィギュレーション コマンド、または macro apply macro-name ? インターフェイス コンフィギュレーション コマンドを使用できます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。
• スイッチまたはスイッチ インターフェイスにマクロをグローバルに適用しても、インターフェイスの既存の設定は維持されます。これは、差分設定に適用する場合に役立ちます。
• コマンドを追加または削除してマクロ定義を変更する場合、元のマクロを適用したインターフェイスに変更は反映されません。新規または変更済みのコマンドを適用するには、インターフェイスに更新済みマクロを再適用する必要があります。
• マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name グローバル コンフィギュレーション コマンド、または macro trace macro-name インターフェイス コンフィギュレーション コマンドを使用できます。構文エラーまたは設定エラーが原因でコマンドが失敗した場合でも、マクロは引き続き残りのコマンドを適用します。
• 特定のインターフェイス タイプ固有の CLI コマンドもあります。設定を受け入れないインターフェイスにマクロを適用すると、マクロは構文チェックまたは設定チェックに失敗し、スイッチはエラー メッセージを返します。
• インターフェイス範囲へのマクロの適用は、単一インターフェイスへのマクロの適用と同じです。インターフェイス範囲を使用すると、インターフェイス範囲内の各インターフェイスへマクロが順番に適用されます。1 つのインターフェイスでマクロ コマンドの実行に失敗しても、マクロは残りのインターフェイス上に適用されます。
• スイッチまたはスイッチ インターフェイスにマクロを適用すると、マクロ名が自動的にスイッチまたはインターフェイスに追加されます。 show running-config ユーザ EXEC コマンドを使用して、適用されたコマンドおよびマクロ名を表示できます。
スイッチ ソフトウェアには、シスコの SmartPort のマクロがデフォルトで組み込まれています( 表11-1 を参照)。これらのマクロやコマンドは、 show parser macro ユーザ EXEC コマンドを使用して表示できます。
シスコのデフォルト SmartPort マクロをインターフェイスに適用する場合、次の注意事項に従ってください。
• スイッチ上のマクロをすべて表示するには、 show parser macro ユーザ EXEC コマンドを使用します。特定のマクロの内容を表示するには、 show parser macro macro-name ユーザ EXEC コマンドを使用します。
• $ で始まるキーワードは、一意のパラメータ値が必要であることを意味します。 parameter value キーワードを使用して、シスコのデフォルト マクロに必要な値を加えます。
シスコのデフォルト マクロでは、必要なキーワードを特定するのに $ 文字を使用します。マクロを作成する場合、キーワードの定義に使用する $ 文字に制限はありません。
SmartPort マクロの作成
Smartport マクロを作成するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro name macro-name |
マクロ定義を作成し、マクロ名を入力します。マクロ定義には、最大 3000 文字を使用できます。 1 行ごとに 1 つのマクロ コマンドを指定します。マクロを終了するには、 @ 文字を使用します。マクロ内にコメント テキストを入力するには、行の最初に # 文字を使用します。 (任意)キーワードを指定するのにヘルプ ストリングを使用することで、マクロ内にキーワードを定義できます。マクロで使用するキーワードを定義するには、 # macro keywords word を入力します。スペースで区切って、マクロにヘルプ ストリング キーワードを 3 つまで入力できます。 マクロ名は大文字と小文字が区別されます。たとえば、 macro name Sample-Macro および macro name sample-macro は、別々の 2 つのマクロになります。 exit または end コマンドを使用しないこと、またはマクロで interface interface-id を使用して、コマンド モードを変更しないことを推奨します。 exit または end 、または interface interface-id に続くコマンドが別のコマンド モードで実行されることがあるからです。最良の結果を出すには、マクロ内のすべてのコマンドが同じコンフィギュレーション モードである必要があります。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show parser macro name macro-name |
マクロが作成されたことを確認します。 |
no 形式の macro name グローバル コンフィギュレーション コマンドでは、マクロ定義だけが削除されます。マクロがすでに適用されているインターフェイスの設定に影響はありません。
次に、スイッチポート アクセス VLAN およびセキュア MAC(メディア アクセス制御)アドレス数を定義し、また # macro keywords を使用してヘルプ ストリング キーワードを 2 つ含むマクロを作成する例を示します。
Switch(config)# macro name test
switchport access vlan $VLANID
switchport port-security maximum $MAX
#macro keywords $VLANID $MAX
SmartPort マクロの適用
Smartport マクロを適用するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro global { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロに定義されている個々のコマンドをスイッチに適用するには、 macro global apply macro-name を入力します。マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name を指定します。 (任意)スイッチに固有の一意のパラメータ値を指定します。キーワードの値のペアは、最大 3 つまで入力できます。パラメータ キーワードの照合では大文字と小文字が区別されます。キーワードがすべて照合できた場合、それに対応する値に置き換えられます。 一部のマクロには、パラメータ値を必要とするキーワードを含んでいる場合があります。 macro global apply macro-name ? コマンドを使用すると、マクロで必要な値の一覧が表示されます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 |
ステップ 3 |
macro global description text |
(任意)スイッチに適用するマクロの説明を入力します。 |
ステップ 4 |
interface interface-id |
(任意)インターフェイス コンフィギュレーション モードを開始し、マクロを適用するインターフェイスを指定します。 |
ステップ 5 |
default interface interface-id |
(任意)指定のインターフェイスからすべての設定情報を消去します。 |
ステップ 6 |
macro { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロに定義されている個々のコマンドをインターフェイスに適用するには、 macro apply macro-name を入力します。マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro trace macro-name を指定します。 (任意)インターフェイスに固有の一意のパラメータ値を指定します。キーワードの値のペアは、最大 3 つまで入力できます。パラメータ キーワードの照合では大文字と小文字が区別されます。キーワードがすべて照合できた場合、それに対応する値に置き換えられます。 一部のマクロには、パラメータ値を必要とするキーワードを含んでいる場合があります。 macro apply macro-name ? コマンドを使用すると、マクロで必要な値の一覧が表示されます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 |
ステップ 7 |
macro description text |
(任意)インターフェイスに適用するマクロの説明を入力します。 |
ステップ 8 |
end |
特権 EXEC モードに戻ります。 |
ステップ 9 |
show parser macro description [ interface interface-id ] |
マクロがインターフェイスに適用されたことを確認します。 |
ステップ 10 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチ上のグローバル マクロ適用済みの設定を削除するには、マクロ内にある各コマンドの no バージョンのみを入力します。インターフェイス上のマクロ適用済みの設定を削除するには、 default interface interface-id インターフェイス コンフィギュレーション コマンドを入力します。
次に、 snmp という名前のユーザ作成マクロを適用し、ホスト名アドレスを test-server に設定し、IP precedence 値を 7 に設定する例を示します。
Switch(config)# macro global apply snmp ADDRESS test-server VALUE 7
次に、 macro global trace グローバル コンフィギュレーション コマンドを使用して、 snmp という名前のユーザ作成マクロをデバッグし、スイッチに適用されたときのマクロ内の構文エラーまたは設定エラーを検出する例を示します。
Switch(config)# macro global trace snmp VALUE 7
Applying command...‘snmp-server enable traps port-security’
Applying command...‘snmp-server enable traps linkup’
Applying command...‘snmp-server enable traps linkdown’
Applying command...‘snmp-server host’
Applying command...‘snmp-server ip precedence 7’
次に、 desktop-config という名前のユーザ作成マクロを適用し、設定を確認する例を示します。
Switch(config)# interface gigabitethernet0/2
Switch(config-if)# macro apply desktop-config
Switch# show parser macro description
Interface Macro Description
--------------------------------------------------------------
--------------------------------------------------------------
次に、 desktop-config という名前のユーザ作成マクロを適用し、VLAN 1 での動作を VLAN 25 に置き換える例を示します。
Switch(config-if)# macro apply desktop-config vlan 25
シスコのデフォルト SmartPort マクロの適用
Smartport マクロを適用するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
show parser macro |
スイッチ ソフトウェアに組み込まれたシスコのデフォルト SmartPort マクロを表示します。 |
ステップ 2 |
show parser macro macro-name |
適用する特定のマクロを表示します。 |
ステップ 3 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 4 |
macro global { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
parameter value キーワードを使用して、シスコのデフォルト マクロに必要な値を加え、スイッチにマクロを適用します。 $ で始まるキーワードは、一意のパラメータ値が必要であることを意味します。 macro global apply macro-name ? コマンドを使用すると、マクロで必要な値の一覧が表示されます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 |
ステップ 5 |
interface interface-id |
(任意)インターフェイス コンフィギュレーション モードを開始し、マクロを適用するインターフェイスを指定します。 |
ステップ 6 |
default interface interface-id |
(任意)指定のインターフェイスからすべての設定情報を消去します。 |
ステップ 7 |
macro { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
parameter value キーワードを使用して、シスコのデフォルト マクロに必要な値を加え、インターフェイスにマクロを適用します。 $ で始まるキーワードは、一意のパラメータ値が必要であることを意味します。 macro apply macro-name ? コマンドを使用すると、マクロで必要な値の一覧が表示されます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 |
ステップ 8 |
end |
特権 EXEC モードに戻ります。 |
ステップ 9 |
show running-config interface interface-id |
マクロがインターフェイスに適用されたことを確認します。 |
ステップ 10 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スイッチ上のグローバル マクロ適用済みの設定を削除するには、マクロ内にある各コマンドの no バージョンのみを入力します。インターフェイス上のマクロ適用済みの設定を削除するには、 default interface interface-id インターフェイス コンフィギュレーション コマンドを入力します。
次に、 cisco-desktop マクロを表示してそのマクロを適用し、インターフェイスのアクセス VLAN ID を 25 に設定する例を示します。
Switch# show parser macro cisco-desktop
--------------------------------------------------------------
Macro name : cisco-desktop
# Basic interface - Enable data VLAN only
# Recommended value for access vlan (AVID) should not be 1
switchport access vlan $AVID
# Enable port security limiting port to a single
# MAC address -- that of desktop
switchport port-security maximum 1
# Ensure port-security age is greater than one minute
# and use inactivity timer
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
# Configure port as an edge network port
spanning-tree bpduguard enable
--------------------------------------------------------------
Switch# configure terminal
Switch(config)# gigabitethernet0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25