SmartPort マクロの概要
SmartPort マクロは、共通の設定を保存および共有するのに便利です。SmartPort マクロを使用すると、ネットワークでのスイッチの場所に基づいて機能および設定をイネーブルにしたり、ネットワークを通じて大規模な設定を配置したりできます。
各 SmartPort マクロは、定義したコマンドライン インターフェイス(CLI)コマンドの集まりです。SmartPort マクロは、既存の CLI コマンドの集まりであり、新しい CLI コマンドは含まれていません。
インターフェイスに SmartPort マクロを適用すると、マクロ内の CLI コマンドがインターフェイスに対して設定されます。インターフェイスに SmartPort マクロを適用しても、インターフェイスの既存の設定は失われません。新しいコマンドがインターフェイスに追加され、実行コンフィギュレーション ファイルに保存されます。
スイッチ ソフトウェアには、シスコの 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 が追加されています。
|
cisco-switch
|
アクセス スイッチとディストリビューション スイッチを接続する場合、または Small Form-Factor Pluggable(SFP)モジュールを使用してアクセス スイッチ同士を接続する場合は、このインターフェイス コンフィギュレーション マクロを使用します。
|
cisco-router
|
スイッチと WAN ルータを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。
|
cisco-wireless
|
スイッチとワイヤレス アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。
|
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 のマクロがデフォルトで組み込まれています(
表 12-1
を参照)。これらのマクロやコマンドは、
show parser macro
ユーザ EXEC コマンドを使用して表示できます。
インターフェイスにシスコ デフォルト Smartports マクロを適用する場合は、次の注意事項に従ってください。
•
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 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