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

目次

Auto Smartport マクロの設定

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

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 3750 スイッチ コマンド リファレンスには、コマンドの構文と使用方法が記載されています。

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

「Auto Smartport の設定」

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

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

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
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)のリストまたは範囲を指定します。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)# 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]

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

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)#
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 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)#
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 サーバ上で、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
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 が追加されています。

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