Auto Smartport マクロおよびスタティック Smartports マクロの概要
Auto Smartport マクロは、ポートで検出されたデバイス タイプに基づいてポートを動的に設定します。スイッチはポート上で新しいデバイスを検出すると、ポートに適切な Auto Smartport マクロを適用します。ポートでリンクダウン イベントが発生すると、スイッチによってマクロは削除されます。たとえば、Cisco IP Phone をポートに接続すると、Auto Smartport は IP Phone マクロを自動的に適用します。IP Phone マクロを使用すると、QoS(Quality of Service)、セキュリティ機能、および専用の音声 VLAN で遅延に影響されやすい音声トラフィックを適切に処理できます。Auto Smartport では、デバイスからマクロへのマッピングにイベント トリガーが使用されます。
スイッチ ソフトウェアに組み込まれている Auto Smartport マクロは、CLI コマンドのグループです。ポート上で CISCO_PHONE イベントが検出されると、スイッチによって CISCO_PHONE_AUTO_SMARTPORT マクロでコマンドが適用されます。Cisco IOS シェル スクリプト機能(コマンドの自動化や変数の代入を行うための BASH に似ている言語構文)を使用してユーザ定義のマクロを作成することもできます。
スタティック Smartport マクロでは、ポートに接続されているデバイスに基づいて手動で適用するポート設定が提供されるため、Auto Smartport マクロは スタティック Smartport マクロとは異なります。スタティック Smartport マクロを適用すると、マクロ内の CLI コマンドが既存のポート設定に追加されます。ポート上でリンクダウン イベントが発生した場合、スイッチはスタティック マクロ設定を削除しません。
Auto Smartport はイベントを使用してマクロをイベントの発信元ポートにマッピングします。接続されたデバイスからの Cisco Discovery Protocol(CDP)メッセージに基づくイベント トリガーが最も一般的です。デバイス(Cisco IP Phone、(Autonomous アクセス ポイントおよび Lightweight アクセス ポイントを含む)Cisco ワイヤレス Access Point(AP; アクセス ポイント)、シスコ製スイッチ、シスコ製ルータ、および Cisco IP Video Surveillance Camera)の検出により、CDP イベント トリガーが呼び出されます。
シスコ製およびサードパーティ製デバイスのその他のイベント トリガーは、ユーザ定義 MAC アドレス グループ、MAC authentication bypass(MAB; MAC 認証バイパス)メッセージ、802.1X 認証メッセージ、および、Link Layer Discovery Protocol(LLDP)メッセージです。
LLDP は一連のアトリビュートをサポートし、これらを使用して隣接するデバイスを検出します。アトリビュートには Type、Length、および Value があり、これらを TLV と呼びます。LLDP をサポートするデバイスは、情報の送受信に TLV を使用できます。このプロトコルは、設定の情報、デバイスの機能、デバイス ID などの詳細情報をアドバタイズします。Auto Smartport は LLDP system capabilities TLV をイベント トリガーとして使用します。Auto Smartport の LLDP system capabilities TLV アトリビュートの設定の詳細については、「LLDP、LLDP-MED、および接続された場所のサービスの設定」を参照してください。
CDP、MAB、802.1X 認証をいずれもサポートしていないデバイス(ネットワーク プリンタ、LLDP、または、レガシーな Cisco Digital Media Player など)の場合は、MAC Operationally Unique Identifier(OUI)ベースのトリガーを使用して MAC アドレス グループを設定できます。必要な設定を含む、組み込みまたはユーザ定義のマクロに MAC アドレスをマッピングします。
ユーザ定義マクロ ファイルのリモート サーバの場所を指定できます。ネットワークの複数のスイッチによって使用される複数の Auto Smartport マクロ ファイルの 1 セットを更新およびメンテナンスできます。
Auto Smartport マクロ固定機能によって、リンクダウン イベントの検出にかかわらず、マクロ設定をスイッチ ポートに適用されたままにできます。この機能を使用して、スイッチ上の Auto Smartport マクロ設定をスタティックにできます。これは、スイッチにリンクアップ イベントおよびリンクダウン イベントがある場合や、EnergyWise の設定されたネットワークに参加するエンティティである場合に、複数のシステム ログおよび設定変更イベントを防止します。
Auto Smartport および Cisco Medianet
Cisco Medianet は、ネットワーク インフラストラクチャでの幅広いビデオ アプリケーションのインテリジェント サービスを実現します。Medianet のサービスの 1 つは、Auto Smartport による Cisco Digital Media Player および Cisco IP Video Surveillance Camera の自動プロビジョニングです。スイッチは、CDP、802.1X、MAB、LLDP、および MAC アドレスを使用して、Cisco 製およびサードパーティ製のビデオ デバイスを特定します(図 13-1)。スイッチは、適切な Auto Smartport マクロを適用して、デバイスに適切な VLAN および QoS 設定をイネーブルにします。スイッチは、組み込み MAC アドレス グループを使用して、of4400 または 23ac00 の OUI に基づいて、レガシーCisco DMP を検出します。任意のビデオ デバイスのカスタム ユーザ定義マクロも作成できます。
図 13-1 Cisco Medianet 配置例
Auto Smartport の設定
• 「デフォルトの Auto Smartport 設定」
• 「Auto Smartport の設定に関する注意事項」
• 「Auto Smartport のイネーブル化」
• 「Auto Smartport デフォルト パラメータ値の設定」
• 「Auto Smartport MAC アドレス グループの設定」
• 「Auto Smartport マクロ固定の設定」
• 「Auto Smartport 組み込みマクロ オプションの設定」
• 「ユーザ定義イベント トリガーの作成」
• 「Auto Smartport ユーザ定義マクロの設定」
デフォルトの Auto Smartport 設定
• Auto Smartport は、インターフェイス単位でグローバルにディセーブルに設定され、イネーブルに設定されます。
• CDP フォールバックは、インターフェイス単位でグローバルにディセーブルに設定され、イネーブルに設定されます。
• Cisco IOS シェルはイネーブルに設定されます。
• 表 13-1 に示されるデバイスに対して ASP がイネーブルに設定されている場合、Auto Smartport マクロがデフォルトで使用されます。
表 13-1 Auto Smartport 組み込みマクロ
|
|
CISCO_PHONE_AUTO_ SMARTPORT |
このマクロは、Cisco IP Phone に IP Phone マクロを適用します。QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニングツリー保護をイネーブルにします。インターフェイスのアクセス VLAN と音声 VLAN も設定します。 |
CISCO_SWITCH_AUTO_ SMARTPORT |
このマクロは、Cisco スイッチにスイッチ マクロを適用します。QoS および 802.1Q カプセル化によるトランキングをイネーブルにします。インターフェイス上のネイティブ VLAN も設定します。 |
CISCO_ROUTER_AUTO_ SMARTPORT |
このマクロは、Cisco ルータにルータ マクロを適用します。QoS および 802.1Q カプセル化によるとランキング、および、スパニングツリー BPDU 保護をイネーブルにします。 |
CISCO_AP_AUTO_ SMARTPORT |
このマクロは Cisco AP にワイヤレス アクセス ポイント マクロを適用します。QoS および 802.1Q カプセル化によるトランキングをイネーブルにします。インターフェイス上のネイティブ VLAN も設定します。 |
CISCO_LWAP_AUTO_ SMARTPORT |
このマクロは、シスコ製軽量ワイヤレス AP に軽量ワイヤレス アクセス ポイント マクロを適用します。QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニングツリー保護をイネーブルにします。インターフェイスのアクセス VLAN を設定し、未知のユニキャスト パケットからネットワークを保護します。 |
CISCO_IPVSC_AUTO_ SMARTPORT |
このマクロは、Cisco IP Video Surveillance Camera に IP camera マクロを適用します。QoS trust、ポート セキュリティ、およびスパニングツリー保護をイネーブルにします。インターフェイスのアクセス VLAN を設定し、未知のユニキャスト パケットからネットワークを保護します。 |
CISCO_DMP_AUTO_ SMARTPORT |
このマクロは、Cisco Digital Media Player に Digital Media Player マクロを適用します。QoS trust、ポート セキュリティ、およびスパニングツリー保護をイネーブルにします。インターフェイスのアクセス VLAN を設定し、未知のユニキャスト パケットからネットワークを保護します。 |
Auto Smartport の設定に関する注意事項
• 組み込みマクロは削除または変更を行うことはできません。ただし、同じ名前のユーザ定義のマクロを作成して組み込みマクロを上書きすることはできます。元の組み込みマクロを復元するには、ユーザ定義のマクロを削除します。
• macro auto device グローバル コンフィギュレーション コマンドおよび macro auto execute グローバル コンフィギュレーション コマンドの両方をイネーブルにする場合、最後に実行されたコマンドのパラメータがスイッチに適用されます。スイッチ上では 1 つのコマンドだけがアクティブになります。
• Auto Smartport マクロの適用時にシステムの競合を回避するためには、802.1x 認証以外のすべてのポート設定を削除します。
• スイッチ上で Auto Smartport をイネーブルにする場合、ポート セキュリティを設定しません。
• マクロがオリジナルの設定と矛盾する場合は、マクロはオリジナルの設定コマンドの一部を適用しないか、また、アンチマクロがそれらを削除しません(アンチマクロはリンク ダウン イベント時に適用されるマクロを削除する適用済みマクロの一部です)。
たとえば、802.1x 認証がイネーブルの場合は、switchport mode access 設定を削除できません。switchport mode 設定を削除する前に 802.1x 認証を削除します。
• Auto Smartport マクロを適用するときは、ポートを EtherChannel のメンバーにしないでください。EtherChannel を使用する場合、 no macro auto processing インターフェイス コンフィギュレーション コマンドを使用して EtherChannel のメンバーであるインターフェイス上で Auto Smartport をディセーブルにします。
• 組み込みマクロのデフォルトのデータ VLAN は VLAN 1 です。組み込みマクロのデフォルトの音声 VLAN は VLAN 2 です(VLAN 1 はすべてのマクロのデフォルトのデータ VLAN です。VLAN 2 はすべてのマクロのデフォルトの音声 VLAN です)。スイッチが異なるアクセス VLAN 、ネイティブ VLAN または音声 VLAN を使用する場合、macro auto device グローバル コンフィギュレーション コマンドまたは macro auto execute グローバル コンフィギュレーション コマンドを使用して該当する非デフォルトの値を設定します。
• show macro auto device 特権 EXEC コマンドを使用して、デフォルト マクロに加えて、各マクロのデフォルト パラメータ値、現在の値、および、設定可能なパラメータの一覧を表示します。show shell functions 特権 EXEC コマンドを使用しても、組み込みマクロのデフォルト値を表示できます。
• 802.1x 認証または MAB の場合は、Cisco Attribute-Value(AV; アトリビュート値)ペアの auto-smart-port=event trigger をサポートしてシスコ以外のデバイスを検出するように RADIUS サーバを設定します。
• CDP、MAB、802.1X 認証をいずれもサポートしないステーショナリ デバイス(ネットワーク プリンタなど)の場合は、MAC OUI ベースのトリガーを使用して MAC アドレス グループを設定し、必要な設定を含むユーザ定義マクロにマッピングできます。
• スイッチは直接接続されたデバイス上でだけ Auto Smartport マクロをサポートします。ハブのような複数のデバイス接続はサポートされません。複数のデバイスが接続されている場合は、適用されるマクロは、検出された最初のデバイスに割り当てられたマクロです。
• ポートで認証がイネーブルに設定されている場合、認証が失敗したときは、スイッチは MAC アドレス トリガーを無視します。
• マクロ内の CLI コマンドの順序と対応するアンチマクロは異なる場合があります。
• Auto SmartPort はグローバル コンフィギュレーションを実行しません。インターフェイス レベルの Auto Smartport マクロがグローバル設定を必要とする場合は、手動でグローバル コンフィギュレーションを追加する必要があります。
Auto Smartport のイネーブル化
スイッチ上で Auto Smartport マクロをグローバルにイネーブルにするには、次の手順を実行します。この手順は必須です。特定のポート上で Auto Smartport マクロをディセーブルにするには、 no auto global processing インターフェイス コンフィギュレーション コマンドを使用します。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto global processing |
スイッチで Auto Smartport をグローバルにイネーブルにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
Auto Smartport がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルト設定に戻すには、 no macro auto global processing グローバル コンフィギュレーション コマンドを使用します。
show macro auto device、 show shell functions 、および show shell triggers 特権 EXEC コマンドを使用してイベント トリガー、組み込みマクロ、および組み込みマクロのデフォルト値を表示します。
次に、スイッチ上で Auto Smartport をイネーブルにする方法と、特定のインターフェイス上で機能をディセーブルにする例を示します。
Switch(config)# macro auto global processing
Switch(config)# interface interface_id
Switch(config-if)# no macro auto processing
Auto Smartport デフォルト パラメータ値の設定
スイッチはイベント トリガーから組み込みマクロへ自動的にマッピングします。Auto Smartport デフォルト パラメータ値をスイッチ固有の値に置き換えるには次の手順を実行します。この手順は任意です。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
show macro auto device |
マクロ デフォルト パラメータ値を表示します。 |
ステップ 2 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
macro auto device {access-point | ip-camera | lightweight-ap | media-player | phone | router | switch} [parameter=value] |
指定したマクロ デフォルト パラメータ値を置き換えます。それぞれの名前と値のペアをスペースで区切る形式で新しい値を入力します(例:[<name1>=<value1> <name2>=<value2>...])。各マクロ デフォルト パラメータ値のデフォルト値は、次のとおりです。 • access-point NATIVE_VLAN=1 • ip-camera ACCESS_VLAN=1 • lightweight-ap ACCESS_VLAN=1 • media-player ACCESS_VLAN=1 • phone ACCESS_VLAN=1 VOICE_VLAN=2 • router NATIVE_VLAN=1 • switch NATIVE_VLAN=1 (注) パラメータ名のテキストは、組み込みマクロ定義のテキスト文字列に一致する必要があるため、正確なパラメータ名(例:VOICE_VLAN)を入力しなければなりません。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show macro auto device |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルト設定に戻すには、 no macro auto device {macro name} parameter=value グローバル コンフィギュレーション コマンドを使用します。
次に、IP Phone マクロ パラメータ値を表示する方法と、デフォルト音声 VLAN を 20 に変更する例を示します。デフォルト値を変更したとき、すでにマクロが適用されたインターフェイスには適用されません。設定された値は、次のリンクアップ イベント時に適用されます。VOICE_VLAN に正確なテキスト文字列が使用されていることに注意してください。エントリでは大文字と小文字が区別されます。
Switch# show macro auto device phone
Default Macro:CISCO_PHONE_AUTO_SMARTPORT
Current Macro:CISCO_PHONE_AUTO_SMARTPORT
Configurable Parameters:ACCESS_VLAN VOICE_VLAN
Defaults Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Current Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Switch# configure terminal
Switch(config)# macro auto device phone VOICE_VLAN=20
Switch# show macro auto device phone
Default Macro:CISCO_PHONE_AUTO_SMARTPORT
Current Macro:CISCO_PHONE_AUTO_SMARTPORT
Configurable Parameters:ACCESS_VLAN VOICE_VLAN
Defaults Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Current Parameters:voice_vlan=20
Auto Smartport MAC アドレス グループの設定
CDP や LLDP などの近隣探索プロトコルをサポートしないデバイス(プリンターなど)では、Auto Smartport のために MAC アドレス ベースのトリガー設定を使用します。この手順は任意で、次のステップが必要です。
• macro auto mac-address グローバル コンフィギュレーション コマンドを使用して MAC アドレス ベースのトリガーを設定します。
• macro auto execute グローバル コンフィギュレーション コマンドを使用して、MAC アドレス トリガーを組み込みまたはユーザ定義マクロに対応付けます。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto mac-address-group name |
グループ名を指定し、MAC アドレス コンフィギュレーション モードを開始します。 |
ステップ 3 |
[mac-address list list] | [oui [list list | range word size number]] |
スペースで区切られた MAC アドレスのリストを設定します。 Operationally Unique Identifier(OUI)のリストまたは範囲を指定します。OUI は、MAC アドレスの最初の 3 バイトで、製品の製造業者を特定します。OUI を指定することで、近隣探索プロトコルをサポートしないデバイスが認識されます。 • list:スペースで区切られた 16 進数からなる OUI リストを入力します。 • range:OUI 開始範囲を 16 進数で入力します。サイズ(1 ~ 5)を入力して、連続したアドレスを作成します。 |
ステップ 4 |
macro auto execute address_trigger built-in macro name |
MAC アドレス グループ トリガーを組み込みまたはユーザ定義マクロにマッピングします。 65 秒のホールド タイムの後、MAC アドレス トリガーがインターフェイスに適用されます。ホールド タイムは、MAC アドレスの代わりに CDP または LLDP などの近接探索プロトコルが使用されることを可能にします。 |
ステップ 5 |
exit |
コンフィギュレーション モードに戻ります。 |
ステップ 6 |
end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show macro auto address-group |
設定を確認します。 |
ステップ 8 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
アドレス グループを削除するには、 no macro auto mac-address-group name グローバル コンフィギュレーション コマンドを使用します。no macro auto mac-address-group name を入力して、マクロ トリガー、および、macro auto execute グローバル コンフィギュレーション コマンドを使用して定義されたマクロに対応付けられたトリガー マッピングを削除します。no macro auto execute mac-address-group を入力した場合は、マクロへのトリガーのマッピングを削除するだけです。
次に、address_trigger という名前の MAC アドレス グループ イベント トリガーを作成する方法と、設定を確認する例を示します。
Switch# configure terminal
Switch(config)# macro auto address-group mac address_trigger
Switch(config-addr-grp-mac)# mac-address list 2222.3333.3334 22.33.44 a.b.c
Switch(config-addr-grp-mac)# oui list 455555 233244
Switch(config-addr-grp-mac)# oui range 333333 size 2
Switch(config-addr-grp-mac)# exit
Switch(config)# mac auto execute address-trigger builtin macro
Switch(config)# macro auto execute mac-address-trigger builtin CISCO_PHONE_ATUO_SMARTPORT
Switch# show running configuration | include macro
macro auto mac-address-group address_trigger
mac auto mad-address-group hel
mac auto execute mad-address-trigger builtin CISCO_PHONE_AUTO_SMARTPORT
macro description CISCO_DMP_EVENT
mac description CISCO_SWITCH_EVENT
Auto Smartport マクロ固定の設定
スイッチで Auto Smartport をイネーブルに設定する場合、デフォルトで、リンクアップ イベント時にマクロ設定が適用され、リンクダウン イベント時にマクロ設定が削除されます。マクロ固定機能をイネーブルにすると、設定はリンクアップ時に適用され、リンクダウン時に削除されません。スイッチ上でのリンクアップ イベントまたはリンクダウン イベントにかかわらず、適用された設定は維持されます。実行コンフィギュレーションファイルが保存される場合、マクロ固定機能はリブートを経ても設定されたままです。
Auto Smartport マクロをイネーブルにして、リンクダウン イベント後もスイッチ上でアクティブなままにするには、次の手順を実行します。この手順は任意です。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto sticky |
Auto Smartport マクロ設定をイネーブルにし、リンクダウン イベント時にもインターフェイス上で継続されるようにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show macro auto |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
Auto Smartport マクロ固定機能をディセーブルにするには、 no macro auto sticky グローバル コンフィギュレーション コマンドを使用します。
次に、スイッチ上で Auto Smartport 自動スティッキー機能をイネーブルにする方法を示します。
Switch(config)# macro auto sticky
Auto Smartport 組み込みマクロ オプションの設定
この手順を使用してイベント トリガーを組み込みマクロにマッピングし、組み込みマクロ デフォルト パラメータ値をスイッチに固有の値に置き換えます。マクロのデフォルトパラメータ値を置き換える必要がある場合、macro auto device グローバル コンフィギュレーション コマンドを使用します。この手順のすべてのコマンドは任意です。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger builtin built-in macro name [parameter=value] [parameter=value] |
イベント トリガーから組み込みマクロへのマッピングを定義します。 event trigger を指定します。 • CISCO_DMP_EVENT • CISCO_IPVSC_EVENT • CISCO_PHONE_EVENT • CISCO_SWITCH_EVENT • CISCO_ROUTER_EVENT • CISCO_WIRELESS_AP_EVENT • CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT • WORD :ユーザ定義のイベント トリガーを適用します。 builtin built-in macro name を指定します。 それぞれの名前と値のペアをスペースで区切る形式で新しい値を入力します(例:[<name1>=<value1> <name2>=<value2>...])。正確に入力が必要なとおりのデフォルト値は次のとおりです。 • CISCO_DMP_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 を指定します。 • CISCO_IPVSC_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 を指定します。 • CISCO_PHONE_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 および VOICE_VLAN=2 を指定します。 • CISCO_SWITCH_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 • CISCO_ROUTER_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 • CISCO_AP_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 • CISCO_LWAP_AUTO_SMARTPOR T パラメータ値 ACCESS_VLAN=1 を指定します。 |
ステップ 3 |
remote url |
リモート マクロ ファイルのリモート サーバの場所を指定します。 • スタンドアロン スイッチまたはスタック マスター上のローカル フラッシュ ファイル システムの構文: flash : • スタック メンバー上のローカル フラッシュ ファイル システムの構文: flash member number: • FTP の構文: ftp: [[ // username [ : password ] @ location ]/ directory ] / filename • HTTP サーバの構文: http:// [[ username : password ]@]{ hostname | host-ip }[/ directory ] / filename • セキュア HTTP サーバの構文: https:// [[ username : password ]@]{ hostname | host-ip }[/ directory ] / filename • NVRAM の構文: nvram:// [[ username : password ]@][/ directory ] / filename • Remote Copy Protocol(RCP; リモート コピー プロトコル)の構文: rcp: [[ // username @ location ]/ directory ] / filename • Secure Copy Protocol(SCP; セキュア コピー プロトコル)の構文: scp:[[//username@location]/directory]/filename • Trivial File Transfer Protocol(TFTP; 簡易ファイル転送プロトコル)の構文: tftp: [[ // location ]/ directory ] / filename |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config |
設定を確認します。 |
ステップ 6 |
copy running-config startup-config |
コンフィギュレーション ファイルに設定を保存します。 |
次に、シスコ製スイッチと Cisco IP Phone をスイッチに接続するための 2 つの組み込み Auto Smartport マクロを使用する例を示します。次に、トランク インターフェイスのデフォルトの音声 VLAN、アクセス VLAN、およびネイティブ VLAN を変更する例を示します。
Switch# configure terminal
Switch(config)#!!!the next command modifies the access and voice vlans
Switch(config)#!!!for the built in Cisco IP phone auto smartport macro
Switch(config)# macro auto execute CISCO_PHONE_EVENT builtin CISCO_PHONE_AUTO_SMARTPORT ACCESS_VLAN=10 VOICE_VLAN=20
Switch(config)#!!!the next command modifies the Native vlan used for inter switch trunks
Switch(config)# macro auto execute CISCO_SWITCH_EVENT builtin CISCO_SWITCH_AUTO_SMARTPORT NATIVE_VLAN=10
Switch(config)#!!!the next command enables auto smart ports globally
Switch(config)# macro auto global processing cdp-fallback
Switch# !!!here's the running configuration of the interface connected
Switch# !!!to another Cisco Switch after the Macro is applied
Switch# show running-config interface gigabitethernet1/0/1
Building configuration...
Current configuration : 284 bytes
interface gigabitethernet1/0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 10
srr-queue bandwidth share 10 10 60 20
macro description CISCO_SWITCH_EVENT
この例は、リモート マクロをネイティブ VLAN 5 の設定を使用して設定する方法を示します。
a. macro.txt ファイルのリモート マクロを設定します。
b. macro auto execute コンフィギュレーション コマンドを使用して、マクロ ファイルのリモートの場所を指定します。
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
Switch(config)# macro auto execute CISCO_SWITCH_EVENT remote tftp://<ip_address>/macro.txt NATIVE_VLAN=5
Switch# show running configuration | include macro
macro auto execute CISCO_SWITCH_EVENT remote tftp://<ip_address>/macro.txt
ユーザ定義イベント トリガーの作成
MAB または 802.1x 認証を使用して Auto Smartport マクロをトリガーする場合は、RADIUS サーバから送信された Cisco AV ペア( auto-smart-port=event trigger )に対応するイベント トリガーを作成する必要があります。この手順は任意です。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
shell trigger identifier description |
イベント トリガー ID および説明を指定します。 ID の単語の間にはスペースやハイフンを含めないでください。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show shell triggers |
スイッチ上のイベント トリガーを表示します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
no shell trigger identifier グローバル コンフィギュレーション コマンドを使用してイベント トリガーを削除します。
次に、RADIUS_MAB_EVENT という名前のユーザ定義イベント トリガーを組み込みマクロ CISCO_AP AUTO_SMARTPORT にマッピングし、デフォルト VLAN を VLAN 10 に置き換える例と、設定を確認する例を示します。
a. デバイスを MAB 対応スイッチ ポートに接続します。
b. RADIUS サーバ上で、AV ペアを auto-smart-port =RADIUS_MAB_EVENT に設定します。
c. スイッチで、イベント トリガー RADIUS_MAB_EVENT を作成します。
d. スイッチは、RADIUS サーバからの AV pair=RADIUS_MAB_EVENT 応答を認識し、マクロ CISCO_AP_AUTO_SMARTPORT を適用します。
Switch# configure terminal
Enter configuration commands, one per line.End with CNTL/Z.
Switch(config)# !!!create a user defined trigger and map
Switch(config)# !!!a system defined macro to it
Switch(config)# !!!first create the trigger event
Switch(config)# shell trigger RADIUS_MAB_EVENT MAC_AuthBypass Event
Switch(config)#!!!map a system defined macro to the trigger event
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin ?
_ CISCO_DMP_AUTO_SMARTPORT
_ CISCO_IPVSC_AUTO_SMARTPORT
CISCO_LWAP_AUTO_SMARTPORT
CISCO_PHONE_AUTO_SMARTPORT
CISCO_ROUTER_AUTO_SMARTPORT
CISCO_SWITCH_AUTO_SMARTPORT
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin CISCO_AP_AUTO_SMARTPORT ACCESS_VLAN=10
Switch# show shell triggers
Trigger Id: RADIUS_MAB_EVENT
Trigger description: MAC_AuthBypass Event
Trigger mapping function: CISCO_AP_SMARTPORT
次に、 show shell triggers 特権 EXEC コマンドを使用して、スイッチ ソフトウェアでイベント トリガーを表示する例を示します。
Switch# show shell triggers
Trigger Id: CISCO_DMP_EVENT
Trigger description: Digital media-player device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_DMP_AUTO_SMARTPORT
Trigger Id: CISCO_IPVSC_EVENT
Trigger description: IP-camera device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1), The value in parenthesis is a default value
Trigger mapping function: CISCO_IP_CAMERA_AUTO_SMARTPORT
Trigger Id: CISCO_PHONE_EVENT
Trigger description: IP-phone device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1) and $VOICE_VLAN=(2), The value in the parenthesis is a default value
Trigger mapping function: CISCO_PHONE_AUTO_SMARTPORT
Trigger Id: CISCO_ROUTER_EVENT
Trigger description: Router device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_ROUTER_AUTO_SMARTPORT
Trigger Id: CISCO_SWITCH_EVENT
Trigger description: Switch device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_SWITCH_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_AP_EVENT
Trigger description: Autonomous ap device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_AP_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT
Trigger description: Lightweight-ap device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_LWAP_AUTO_SMARTPORT
次に、 show shell functions 特権 EXEC コマンドを使用してスイッチ ソフトウェアの組み込みマクロを表示する例を示します。
Switch# show shell functions
function CISCO_AP_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
if [[ $LINKUP -eq NO ]]; then
no switchport nonegotiate
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport trunk encapsulation
function CISCO_SWITCH_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
Auto Smartport ユーザ定義マクロの設定
Cisco IOS シェルは、ユーザ定義の Auto Smartport マクロを設定するための基本的なスクリプト機能を提供します。これらのマクロには複数の行を含むことができ、どの CLI コマンドでも含めることができます。マクロ内で変数の置換、条件、関数、およびトリガーを定義することもできます。この手順は任意です。
ユーザ定義イベント トリガーをユーザ定義マクロにマップするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger [parameter=value] { function contents } |
イベント トリガーにマップするユーザ定義マクロを指定します。 {function contents}:トリガーに関連付けるユーザ定義のマクロを指定します。マクロの内容を波カッコで囲んで入力します。左波カッコで Cisco IOS シェル コマンドを開始し、右波カッコでコマンドのグループ化を終了します。 (任意) parameter=value : $ から始まるデフォルト値を置き換え、スペースで区切られた名前値のペア([<name1>=<value1> <name2>=<value2>...])の形式で新しい値を入力します。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例では、media player と呼ばれるユーザ定義のイベント トリガーをユーザ定義のマクロにマッピングする方法を示します。
a. media player を 802.1X または MAB 対応のスイッチ ポートに接続します。
b. RADIUS サーバ上で、AV ペアを auto-smart-port =MP_EVENT に設定します。
c. スイッチで、イベント トリガー MP_EVENT を作成し、次のようにユーザ定義マクロ コマンドを入力します。
d. スイッチは、属性と値のペアが MP_EVENT であるとの RADIUS サーバからの応答を認識し、このイベント トリガーに関連付けられているマクロを適用します。
Switch(config)# shell trigger MP_EVENT mediaplayer
Switch(config)# macro auto execute MP_EVENT {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport port-security maximum 1
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
spanning-tree bpduguard enable
if [[ $LINKUP -eq NO ]]; then
no macro description $TRIGGER
no switchport access vlan 1
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport mode access
no switchport port-security
no switchport port-security maximum 1
no switchport port-security violation restrict
no switchport port-security aging time 2
no switchport port-security aging type inactivity
no spanning-tree portfast
no spanning-tree bpduguard enable
表 13-2 サポート対象の Cisco IOS シェル キーワード
|
|
{ |
コマンドのグループ化を開始します。 |
} |
コマンドのグループ化を終了します。 |
[[ |
条件付きコンストラクトとして使用します。 |
]] |
条件付きコンストラクトとして使用します。 |
else |
条件付きコンストラクトとして使用します。 |
-eq |
条件付きコンストラクトとして使用します。 |
fi |
条件付きコンストラクトとして使用します。 |
if |
条件付きコンストラクトとして使用します。 |
then |
条件付きコンストラクトとして使用します。 |
-z |
条件付きコンストラクトとして使用します。 |
$ |
$ 文字で始まる変数はパラメータ値に置き換えられます。 |
# |
コメント テキストを入力するには # 文字を使用します。 |
表 13-3 サポートされない Cisco IOS シェル予約済みキーワード
|
|
| |
パイプライン |
case |
条件付きコンストラクト |
esac |
条件付きコンストラクト |
for |
ルーピング コンストラクト |
function |
シェル関数 |
in |
条件付きコンストラクト |
select |
条件付きコンストラクト |
time |
パイプライン |
until |
ルーピング コンストラクト |
while |
ルーピング コンストラクト |
スタティック Smartport マクロの設定
• 「デフォルトのスタティック Smartport 設定」
• 「スタティック Smartport コンフィギュレーションに関する注意事項」
• 「スタティック Smartport マクロの適用」
デフォルトのスタティック Smartport 設定
スイッチ上ではスタティック Smartport マクロはイネーブルになっていません。
表 13-4 デフォルトのスタティック 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 コンフィギュレーションに関する注意事項
• スイッチまたはスイッチ インターフェイスにマクロをグローバルに適用しても、インターフェイスの既存の設定は維持されます。これは、差分設定に適用する場合に役立ちます。
• 構文エラーまたは設定エラーが原因でコマンドが失敗した場合でも、マクロは引き続き残りのコマンドを適用します。マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name グローバル コンフィギュレーション コマンド、または macro trace macro-name インターフェイス コンフィギュレーション コマンドを使用できます。
• 特定のインターフェイス タイプ固有の CLI コマンドもあります。設定を受け入れないインターフェイスにマクロを適用すると、マクロは構文チェックまたは設定チェックに失敗し、スイッチはエラー メッセージを返します。
• インターフェイス範囲へのマクロの適用は、単一インターフェイスへのマクロの適用と同じです。インターフェイス範囲を使用すると、インターフェイス範囲内の各インターフェイスへマクロが順番に適用されます。1 つのインターフェイスでマクロ コマンドの実行に失敗しても、マクロは残りのインターフェイス上に適用されます。
• スイッチまたはスイッチ インターフェイスにマクロを適用すると、マクロ名が自動的にスイッチまたはインターフェイスに追加されます。 show running-config ユーザ EXEC コマンドを使用して、適用されたコマンドおよびマクロ名を表示できます。
スタティック Smartport マクロの適用
スタティック SmartPort マクロを適用するには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
show parser macro |
スイッチ ソフトウェアに組み込まれたシスコのデフォルト スタティック SmartPort マクロを表示します。 |
ステップ 2 |
show parser macro name macro-name |
適用する特定のマクロを表示します。 |
ステップ 3 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 4 |
macro global { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロに定義されている個々のコマンドをスイッチに適用するには、 macro global apply macro-name を入力します。マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name を指定します。 parameter value キーワードを使用して、マクロに必要な値を加えます。 $ で始まるキーワードには、一意のパラメータ値が必要です。 macro global apply macro-name ? コマンドを使用すると、マクロに必要な値のリストを表示できます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 (任意)スイッチに固有の一意のパラメータ値を指定します。キーワードの値のペアは、最大 3 つまで入力できます。パラメータ キーワードの照合では大文字と小文字が区別されます。対応する値は、一致するキーワードすべてを置き換えます。 |
ステップ 5 |
interface interface-id |
(任意)インターフェイス コンフィギュレーション モードを開始し、マクロを適用するインターフェイスを指定します。 |
ステップ 6 |
default interface interface-id |
(任意)指定のインターフェイスからすべての設定情報を消去します。 |
ステップ 7 |
macro { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }] |
マクロに定義されている個々のコマンドをポートに適用するには、 macro global apply macro-name を入力します。マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name を指定します。 parameter value キーワードを使用して、マクロに必要な値を加えます。 $ で始まるキーワードには、一意のパラメータ値が必要です。 macro global apply macro-name ? コマンドを使用すると、マクロに必要な値のリストを表示できます。キーワード値を入力しないでマクロを適用すると、コマンドは無効になり適用されません。 (任意)スイッチに固有の一意のパラメータ値を指定します。キーワードの値のペアは、最大 3 つまで入力できます。パラメータ キーワードの照合では大文字と小文字が区別されます。対応する値は、一致するキーワードすべてを置き換えます。 |
ステップ 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)# interface gigabitethernet1/0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25