Catalyst 2975 スイッチ ソフトウェア コンフィギュレーション ガイド,12.2(52)SE
Auto SmartPort マクロの 設定
Auto SmartPort マクロの設定
発行日;2012/02/05 | 英語版ドキュメント(2009/10/12 版) | ドキュメントご利用ガイド | ダウンロード ; この章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 2975 スイッチ コマンド リファレンスには、コマンドの構文および使用方法が記載されています。

「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 コマンドのグループです。ポート上で検出される CISCO_PHONE イベントにより、スイッチは CISCO_PHONE_AUTO_SMARTPORT マクロ内のコマンドを適用します。Cisco IOS Shell スクリプト機能を使用してユーザ定義のマクロを作成することもできます。このスクリプト機能は、コマンドの自動化および変数の置換を行う BASH のような言語構文です。

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

Auto SmartPort は、イベントを使用して、マクロをイベントの送信元ポートにマッピングします。最も一般的なイベント トリガーは、接続されたデバイスから受信される Cisco Discovery Protocol(CDP)メッセージに基づきます。Cisco IP Phone、Autonomous および Lightweight アクセス ポイントを含む Cisco ワイヤレス アクセス ポイント、シスコ製スイッチ、シスコ製ルータ、Cisco IP Video Surveillance Camera などのデバイスの検出により、CDP イベント トリガーは起動します。

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

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

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

ユーザ定義のマクロ ファイルのリモート サーバ場所を指定できます。次に、ネットワーク上の複数のスイッチで使用するための一連の 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 アドレスを使用してシスコ製およびサードパーティ製ビデオ デバイスを識別します(図 13-1 を参照)。スイッチは、該当する Auto SmartPort マクロを適用して、デバイスの適切な VLAN および QoS 設定をイネーブルにします。スイッチは、4400 または 23ac00 の OUI に基づいてレガシー Cisco DMP を検出するために、組み込み MAC アドレス グループも使用します。ビデオ デバイス用のカスタム ユーザ定義マクロも作成できます。

図 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 を設定します。

CISCO_SWITCH_AUTO_
SMARTPORT

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

CISCO_ROUTER_AUTO_
SMARTPORT

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

CISCO_AP_AUTO_
SMARTPORT

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

CISCO_LWAP_AUTO_
SMARTPORT

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

CISCO_IPVSC_AUTO_
SMARTPORT

このマクロは、Cisco IP Video Surveillance Camera の IP カメラ マクロを適用します。QoS の信頼、ポート セキュリティ、およびスパニング ツリー保護をイネーブルにします。インターフェイスのアクセス VLAN を設定し、不明なユニキャスト パケットからのネットワーク保護を提供します。

CISCO_DMP_AUTO_
SMARTPORT

このマクロは、Cisco Digital Media Player のデジタル メディア プレーヤー マクロを適用します。QoS の信頼、ポート セキュリティ、およびスパニング ツリー保護をイネーブルにします。インターフェイスのアクセス 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、ネイティブ 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
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:スペースで区切られた 16 進数で OUI リストを入力します。

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

ステップ 4

macro auto execute address_trigger built-in macro name

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

65 秒の保持時間後に MAC アドレス トリガーがインターフェイスに適用されます。保持時間は、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 自動スティッキー機能をイネーブルにする例を示します。

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_SMARTPOR T
パラメータ値 ACCESS_VLAN=1 を指定します。

CISCO_PHONE_AUTO_SMARTPORT
パラメータ値 ACCESS_VLAN=1 および VOICE_VLAN=2 を指定します。

CISCO_SWITCH_AUTO_SMARTPOR T
パラメータ値 NATIVE_VLAN=1 を指定します。

CISCO_ROUTER_AUTO_SMARTPOR T
パラメータ値 NATIVE_VLAN=1 を指定します。

CISCO_AP_AUTO_SMARTPOR T
パラメータ値 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

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 gigabitethernet1/0/1
Building configuration...
 
Current configuration : 284 bytes
!
interface GigabitEthernet1/0/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 サーバからのアトリビュート値ペアが 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)#
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. メディア プレーヤーを 802.1x または MAB 対応のスイッチ ポートに接続します。

b. RADIUS サーバで、アトリビュート値ペアを auto-smart-port =MP_EVENT に設定します。

c. スイッチで、イベント トリガー MP_EVENT を作成し、次のようにユーザ定義マクロ コマンドを入力します。

d. スイッチは、RADIUS サーバからのアトリビュート値ペアが MP_EVENT の応答を認識し、このイベント トリガーに関連付けられているマクロを適用します。

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
 

 

表 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 マクロ

マクロ名1
説明

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

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

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 gigabitethernet1/0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25
 

Auto SmartPort および静的な SmartPort マクロの表示

Auto SmartPort および静的な SmartPort マクロを表示するには、 表 13-5 の特権 EXEC コマンドを 1 つまたは複数使用します。

 

表 13-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 イベント トリガーおよびマクロに関する情報を表示します。