Catalyst 2960 スイッチ ソフトウェア コンフィギュ レーション ガイド リリース12.2(52)SE
Auto SmartPort マクロの設定
Auto SmartPort マクロの設定
発行日;2012/02/02 | 英語版ドキュメント(2011/07/25 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 15MB) | フィードバック

目次

Auto SmartPort マクロの設定

Auto SmartPort マクロおよびスタティック SmartPort マクロの概要

Auto SmartPort および Cisco Medianet

Auto SmartPort の設定

Auto SmartPort のデフォルト設定

Auto SmartPort 設定時の注意事項

Auto SmartPort のイネーブル化

Auto SmartPort のデフォルト パラメータ値の設定

Auto SmartPort の MAC アドレス グループの設定

Auto SmartPort マクロの永続性の設定

Auto SmartPort 組み込みマクロ オプションの設定

ユーザ定義のイベント トリガーの作成

Auto SmartPort ユーザ定義マクロの設定

スタティック SmartPort マクロの設定

スタティック SmartPort のデフォルト設定

スタティック SmartPort 設定時の注意事項

スタティック SmartPort マクロの適用

Auto SmartPort マクロおよびスタティック SmartPort マクロの表示

Auto SmartPort マクロの設定

『Catalyst 2960 Switch Command Reference』には、コマンド構文および使用方法が記載されています。

「Auto SmartPort マクロおよびスタティック SmartPort マクロの概要」

「Auto SmartPort の設定」

「スタティック SmartPort マクロの設定」

「Auto SmartPort マクロおよびスタティック SmartPort マクロの表示」

Auto SmartPort マクロおよびスタティック SmartPort マクロの概要

Auto SmartPort マクロは、ポートで検出されたデバイス タイプに基づいてポートを動的に設定します。スイッチは、ポートで新しいデバイスを検出すると、そのポートに適切な Auto SmartPort マクロを適用します。ポートにリンクダウン イベントがあると、スイッチはマクロを削除します。たとえば、Cisco IP Phone をポートに接続すると、Auto SmartPort は自動的に IP Phone マクロを適用します。IP Phone マクロが適用されると、遅延に影響されやすい音声トラフィックを正しく処理できるように QoS(Quality Of Service)、セキュリティ機能、および専用の音声 VLAN がイネーブルになります。Auto SmartPort では、デバイスからマクロへのマッピングにイベント トリガーが使用されます。

スイッチ ソフトウェアに組み込まれた Auto SmartPort マクロは、CLI コマンドの集まりです。1 つのポート上で検出された CISCO_PHONE イベントは、スイッチに CISCO_PHONE_AUTO_SMARTPORT でコマンドを適用させます。言語自動化および変数置換のための BASH と同様の言語構文である、Cisco IOS シェルのスクリプト機能を使用してユーザ定義のマクロを作成することもできます。

Auto SmartPort マクロは スタティック SmartPort マクロとは異なります。スタティック SmartPort マクロでは、ポートに接続されているデバイスに基づいて手動で適用するポート設定が提供されます。スタティック SmartPort マクロを適用すると、マクロ内の CLI コマンドが既存のポート設定に追加されます。ポートにリンクダウン イベントがあると、スイッチはスタティック マクロ設定を削除しません。

Auto SmartPort はイベントを使用して、イベントのマクロを送信元ポートにマッピングします。接続されたデバイスから受信した Cisco Discovery Protocol(CDP)メッセージに基づくイベント トリガーが最も一般的です。デバイスが検出されると、CDP イベント トリガーが呼び出されます。これは、Cisco IP Phone、Autonomous アクセス ポイントや Lightweight アクセス ポイントを含む Cisco 無線アクセス ポイント、Cisco スイッチ、または Cisco ルータ、および Cisco IP Video Surveillance Camera に該当します。 

シスコおよびサードパーティのデバイスの追加イベント トリガーは、ユーザ定義の MAC アドレス グループ、MAC Authentication Bypass(MAB; MAC 認証バイパス)メッセージ、802.1x 認証メッセージ、および Link Layer Discovery Protocol(LLDP)メッセージです。

LLDP は一連のアトリビュートをサポートし、これらを使用して隣接するデバイスを検出します。アトリビュートには Type、Length、および Value があり、これらを TLV と呼びます。LLDP をサポートするデバイスは、TLV を使用して情報を送受信します。このプロトコルは、設定情報、デバイス機能、およびデバイス ID のような詳細情報をアドバタイズします。Auto SmartPort は、LLDP システム機能 TLV をイベント トリガーとして使用します。Auto SmartPort の LLDP システム機能 TLV アトリビュート設定の詳細については、「LLDP、LLDP-MED、およびワイヤード ロケーション サービスの設定」を参照してください。

ネットワーク プリンタ、LLDP、レガシー Cisco Digital Media Player のような、CDP、MAB、または 802.1x 認証をサポートしないデバイスの場合は、MAC Operationally Unique Identifier(OUI)に基づくトリガーで MAC アドレス グループを設定できます。MAC アドレスを、組み込みマクロ、または対象となる設定を含むユーザ定義のマクロにマッピングします。

ユーザ定義マクロ ファイルのリモート サーバ ロケーションを指定できます。その後、複数のスイッチがネットワーク全体で使用するために 1 組の Auto SmartPort マクロ ファイルの更新とメンテナンスをおこなえます。

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 アドレスを使用することによって、シスコおよびサードパーティのビデオ デバイスを識別します(図 12-1)。スイッチは、適用可能な Auto SmartPort マクロを使用して、デバイスに適切な VLAN および QoS の設定をイネーブルにします。スイッチは、組み込み型の MAC アドレス グループを使用して、4400 または 23ac00 の OUI に基づいてレガシー Cisco DMP を検出することもします。任意のビデオ デバイスのカスタム ユーザ定義マクロも作成できます。

図 12-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 fallback はグローバルにディセーブルにされ、インターフェイス単位でイネーブルにされます。

Cisco IOS シェルはイネーブルにされます。

Auto SmartPort マクロはデフォルトで、 表 12-1 に示されるデバイスに対して ASP がイネーブルにされているときに使用されます。

 

表 12-1 Auto SmartPort 組み込みマクロ

マクロ名
説明

CISCO_PHONE_AUTO_
SMARTPORT

このマクロは、Cisco IP 電話の IP 電話マクロに適用されます。QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニング ツリー保護をイネーブルにします。また、インターフェイスへのアクセスおよび音声 VLAN の設定もします。

CISCO_SWITCH_AUTO_
SMARTPORT

このマクロは、シスコ スイッチのスイッチ マクロに適用されます。QoS および 802.1Q カプセル化とのトラッキングをイネーブルにします。また、インターフェイス上のネイティブ VLAN も設定します。

CISCO_ROUTER_AUTO_
SMARTPORT

このマクロは、シスコ ルータのルータ マクロに適用されます。QoS、802.1Q カプセル化とのトラッキング、およびスパニング ツリー BPDU 保護をイネーブルにします。

CISCO_AP_AUTO_
SMARTPORT

このマクロは、Cisco AP のワイヤレス アクセス ポイントに適用されます。QoS および 802.1Q カプセル化とのトラッキングをイネーブルにします。また、インターフェイス上のネイティブ VLAN も設定します。

CISCO_LWAP_AUTO_
SMARTPORT

このマクロは、Cisco 軽量ワイヤレス アクセス ポイントの軽量ワイヤレス アクセス ポイント マクロに適用されます。QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニング ツリー保護をイネーブルにします。インターフェイスの VLAN へのアクセスを設定し、不明のユニキャスト パケットからのネットワーク保護を提供します。

CISCO_IPVSC_AUTO_
SMARTPORT

このマクロは、Cisco IP Video Surveillance Camera の IP カメラ マクロに適用されます。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 のメンバーにできません。EtherChannels を使用する場合は、 no macro auto processing インターフェイス コンフィギュレーション コマンドを使用して、EtherChannels のメンバーであるインターフェイス上の Auto SmartPort をディセーブルにします。

組み込みマクロのデフォルトのデータ VLAN は VLAN 1 です。組み込みマクロのデフォルトのデータ VLAN は VLAN 2 です。(VLAN 1 は、すべてのマクロのデフォルト データ VLAN です。VLAN 2 は、すべてのマクロのデフォルト音声データ 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 電話マクロのパラメータ値を表示する例、およびデフォルト音声 VLAN を 20 に変更する例を示します。デフォルト値を変更する場合は、その値は、マクロがすでに適用されているインターフェイスには適用されません。設定された値は、次のリンクアップ イベントで適用されます。正確なテキスト ストリングが VOICE_VLAN に使用されたことに注意してください。エントリでは大文字と小文字が区別されます。

Switch# show macro auto device phone
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(config)# end
Switch# show macro auto device phone
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)list または range を指定します。OUI は MAC アドレスの最初の 3 バイトで示され、これにより製品のメーカー名が識別されます。OUI を指定すると、近接ディスカバリ プロトコルをサポートしないデバイスを認識できます。

list:OUI リストを、スペースで区切られた 16 進数で入力します。

range:OUI 開始範囲を 16 進数で入力します。サイズ(1-5)を入力して連続したアドレスを作成します。

ステップ 4

macro auto execute address_trigger built-in macro name

MAC アドレスのグループを、組み込みマクロまたはユーザ定義マクロにマッピングします。

MAC アドレスのトリガーが、65 秒のホールド タイムの後にインターフェイスに適用されます。このホールド タイムによって、CDP または LLDP のような近接ディスカバリ プロトコルを MAC アドレスの代わりに使用できます。

ステップ 5

exit

コンフィギュレーション モードに戻ります。

ステップ 6

end

特権 EXEC モードに戻ります。

ステップ 7

show macro auto address-group

設定を確認します。

ステップ 8

copy running-config startup-config

(任意)コンフィギュレーション ファイルに設定を保存します。

アドレス グループを削除するには、 no macro auto mac-address-group name グローバル コンフィギュレーション コマンドを使用します。マクロ トリガー、および macro auto execute グローバル コンフィギュレーション コマンドを使用して定義されたマクロにマッピングされている任意の関連付けられたトリガーを削除するには、no macro auto mac-address-group name と入力します。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)# exit
Switch(config)# end
Switch(config)# macro auto execute mac-address-trigger builtin CISCO_PHONE_ATUO_SMARTPORT
Switch(config)# end
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
!
<output truncated>
 

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 の auto-sticky 機能をイネーブルにする例を示します。

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]

イベント トリガーから組み込みマクロへのマッピングを定義します。

イベント トリガー を指定します。

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 組み込みマクロ名 を指定します。

それぞれの名前と値のペアをスペースで区切る形式で新しい値を入力します(例:[<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_SMARTPORT
パラメータ値 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

TFTP の構文: tftp:
[[ // location ]/ directory ] / filename

ステップ 4

end

特権 EXEC モードに戻ります。

ステップ 5

show running-config

設定を確認します。

ステップ 6

copy running-config startup-config

コンフィギュレーション ファイルに設定を保存します。

次の例では、該当するスイッチに Cisco スイッチと 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)#
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)#
Switch(config)#!!!the next command enables auto smart ports globally
Switch(config)# macro auto global processing cdp-fallback
Switch(config)#
Switch(config)# exit
 
Switch# !!!here's the running configuration of the interface connected
Switch# !!!to another Cisco Switch after the Macro is applied
Switch#
Switch# show running-config interface gigabitethernet0/1
Building configuration...
 
Current configuration : 284 bytes
!
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 10
switchport mode trunk
srr-queue bandwidth share 10 10 60 20
queue-set 2
priority-queue out
mls qos trust cos
auto qos voip trust
macro description CISCO_SWITCH_EVENT
end
 

次に、ネイティブ VLAN 5 の設定のリモート マクロを設定する例を示します。

a. macro.txt ファイル内のリモート マクロを設定します。

b. マクロ ファイルのリモート ロケーションを指定するには、 macro auto execute コンフィギュレーション コマンドを使用します。

if [[ $LINKUP -eq YES ]]; then
conf t
interface $INTERFACE
macro description $TRIGGER
auto qos voip trust
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
switchport mode trunk
exit
end
else
conf t
interface $INTERFACE
no macro description
no auto qos voip trust
no switchport mode trunk
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
exit
end
 
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
NATIVE_VLAN=5
Switch#

ユーザ定義のイベント トリガーの作成

MAB または 802.1x 認証を使用して Auto SmartPort マクロを実行させる場合、RADIUS サーバによって送信される Cisco アトリビュート値ペア( 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 サーバで、アトリビュート値ペアを auto-smart-port =RADIUS_MAB_EVENT に設定します。

c. スイッチ上で、イベント トリガー RADIUS_MAB_EVENT を作成します。

d. スイッチは、アトリビュート値ペアが RADIUS_MAB_EVENT であるとの RADIUS サーバからの応答を認識し、マクロ 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)#
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_AP_AUTO_SMARTPORT
CISCO_LWAP_AUTO_SMARTPORT
CISCO_PHONE_AUTO_SMARTPORT
CISCO_ROUTER_AUTO_SMARTPORT
CISCO_SWITCH_AUTO_SMARTPORT
LINE <cr>
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin CISCO_AP_AUTO_SMARTPORT ACCESS_VLAN=10
Switch(config)# exit
Switch# show shell triggers
User defined triggers
---------------------
Trigger Id: RADIUS_MAB_EVENT
Trigger description: MAC_AuthBypass Event
Trigger environment:
Trigger mapping function: CISCO_AP_SMARTPORT
<output truncated>
 

次の例では、 show shell triggers 特権 EXEC コマンドを使用して、スイッチ ソフトウェアにイベント トリガーを表示する方法を示します。

Switch# show shell triggers
 
User defined triggers
---------------------
Built-in 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
#User defined functions:
 
#Built-in functions:
function CISCO_AP_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
conf t
interface $INTERFACE
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
switchport mode trunk
switchport nonegotiate
auto qos voip trust
mls qos trust cos
exit
end
fi
if [[ $LINKUP -eq NO ]]; then
conf t
interface $INTERFACE
no macro description
no switchport nonegotiate
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
no auto qos voip trust
no mls qos trust cos
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport mode
no switchport trunk encapsulation
fi
exit
end
fi
}
 
function CISCO_SWITCH_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
conf t
interface $INTERFACE
macro description $TRIGGER
auto qos voip trust
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
switchport mode trunk
exit
end
else
conf t
interface $INTERFACE
no macro description
no auto qos voip trust
no switchport mode trunk
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
exit
end
fi
}
 
<output truncated>
 

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 サーバで、アトリビュート値ペアを 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
conf t
interface $INTERFACE
macro description $TRIGGER
switchport access vlan 1
switchport mode access
switchport port-security
switchport port-security maximum 1
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
spanning-tree portfast
spanning-tree bpduguard enable
exit
fi
if [[ $LINKUP -eq NO ]]; then
conf t
interface $INTERFACE
no macro description $TRIGGER
no switchport access vlan 1
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport mode access
fi
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
exit
fi
}
Switch(config)# end
 

 

表 12-2 サポートされている Cisco IOS シェルのキーワード

コマンド
説明

{

コマンドのグループ化を開始します。

}

コマンドのグループ化を終了します。

[[

条件構成体として使用します。

]]

条件構成体として使用します。

else

条件構成体として使用します。

-eq

条件構成体として使用します。

fi

条件構成体として使用します。

if

条件構成体として使用します。

then

条件構成体として使用します。

-z

条件構成体として使用します。

$

$ 文字で始まる変数が、パラメータ値に置き換えられます。

#

コメント テキストを入力するには、# 文字を使用します。

 

表 12-3 サポートされていない Cisco IOS シェルの予約済キーワード

コマンド
説明

|

パイプライン

case

条件構成体

esac

条件構成体

for

ループ構成体

function

シェル関数

in

条件構成体

select

条件構成体

time

パイプライン

until

ループ構成体

while

ループ構成体

スタティック SmartPort マクロの設定

「スタティック SmartPort のデフォルト設定」

「スタティック SmartPort 設定時の注意事項」

「スタティック SmartPort マクロの適用」

スタティック SmartPort のデフォルト設定

スイッチに、イネーブルにされているスタティック SmartPort マクロはありません。

 

表 12-4 デフォルト スタティック SmartPort マクロ

マクロ名1
説明

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

スイッチとワイヤレス アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。

1.シスコのデフォルト SmartPort マクロは、スイッチで稼動するソフトウェアのバージョンによって異なります。

スタティック 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
Macro type : default
 
# Basic interface - Enable data VLAN only
# Recommended value for access vlan (AVID) should not be 1
switchport access vlan $AVID
switchport mode access
 
# Enable port security limiting port to a single
# MAC address -- that of desktop
switchport port-security
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 portfast
spanning-tree bpduguard enable
--------------------------------------------------------------
Switch#
Switch# configure terminal
Switch(config)# interface gigabitethernet0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25
 

Auto SmartPort マクロおよびスタティック SmartPort マクロの表示

Auto SmartPort およびスタティック SmartPort のマクロを表示するには、 表 12-5 の特権 EXEC コマンドを 1 つ以上使用します。

 

表 12-5 Auto SmartPort およびスタティック SmartPort マクロの表示コマンド

コマンド
目的

show macro auto

Auto SmartPort マクロに関する情報を表示します。

show parser macro

すべてのスタティック SmartPort マクロを表示します。

show parser macro name macro-name

特定のスタティック SmartPort マクロを表示します。

show parser macro brief

スタティック SmartPort マクロ名を表示します。

show parser macro description [ interface interface-id ]

すべてのインターフェイスまたは指定されたインターフェイスのスタティック SmartPort マクロ説明を表示します。

show shell

Auto SmartPort のイベント トリガーおよびマクロに関する情報を表示します。