SmartPort マクロの概要
SmartPort マクロは、共通の設定を保存および共有するのに便利な方法です。SmartPort マクロを使用して、ネットワークのスイッチの位置に基づく機能および設定をイネーブルにしたり、ネットワーク上で大規模な設定配置を行うことができます。
各 SmartPort マクロは、定義する CLI(コマンドライン インターフェイス)コマンドのセットです。SmartPort マクロは、新しい CLI コマンドを含まず、既存の CLI コマンドのグループを簡略化します。
インターフェイスで SmartPort マクロを適用すると、マクロ内の CLI コマンドがこのインターフェイス上で設定されます。マクロがインターフェイスに適用されても、既存のインターフェイスの設定は失われません。新しいコマンドはインターフェイスに追加され、実行コンフィギュレーション ファイルに保存されます。
スイッチ ソフトウェアに組み込まれたシスコのデフォルトの SmartPort マクロがあります( 表12-1 を参照)。 show parser macro ユーザ EXEC コマンドを使用してこれらのマクロとマクロに含まれているコマンドを表示できます。
表12-1 シスコのデフォルト SmartPort マクロ
|
|
cisco-global |
Rapid PVST+、ループ ガード、リンク ステート障害用のダイナミック ポート エラー回復をイネーブルにするには、このグローバル コンフィギュレーション マクロを使用します。 |
cisco-desktop |
PC などのデスクトップ デバイスをスイッチ ポートに接続する場合、ネットワーク セキュリティと信頼性を高めるために、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-phone |
Cisco IP Phone を装備した PC などのデスクトップ デバイスをスイッチ ポートに接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。このマクロは、 cisco-desktop マクロの拡張機能で、同じセキュリティ機能と復元力機能を提供します。ただし、遅延に影響されやすい音声トラフィックを適切に処理するために、専用音声 VLAN(仮想 LAN)が追加されています。 |
cisco-switch |
アクセス スイッチとディストリビューション スイッチを接続する場合、または Small From-Factor Pluggable(SFP)を使用して接続したアクセス スイッチの間で、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-router |
スイッチと WAN ルータを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-wireless |
スイッチと無線アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
またシスコでは、Catalyst スイッチ用に、事前にテストされているシスコ推奨のベースライン コンフィギュレーション テンプレートを提供しています。オンライン リファレンス ガイド テンプレートには、ポートの使用状況に基づいた SmartPort マクロを作成するのに使用できる CLI コマンドがあります。コンフィギュレーション テンプレートを使用して SmartPort マクロを作成することで、シスコ推奨ネットワーク設計およびコンフィギュレーションを構築し展開できます。シスコ推奨のコンフィギュレーション テンプレートの詳細については、次の Smartport の Web サイトを参照してください。
http://www.cisco.com/go/smartports
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 マクロがあります( 表12-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 |
マクロが作成されたことを確認します。 |
macro name グローバル コンフィギュレーション コマンドの no 形式によって、マクロの定義のみが削除されます。マクロがすでに適用されているインターフェイスの設定には影響しません。
次に、スイッチポート アクセス 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 gigabitethernet1/0/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)# gigabitethernet1/0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25