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
Default Macro:CISCO_PHONE_AUTO_SMARTPORT
Current Macro:CISCO_PHONE_AUTO_SMARTPORT
Configurable Parameters:ACCESS_VLAN VOICE_VLAN
Defaults Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Current Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Switch# configure terminal
Switch(config)# macro auto device phone VOICE_VLAN=20
Switch# show macro auto device phone
Default Macro:CISCO_PHONE_AUTO_SMARTPORT
Current Macro:CISCO_PHONE_AUTO_SMARTPORT
Configurable Parameters:ACCESS_VLAN VOICE_VLAN
Defaults Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Current Parameters:voice_vlan=20
Auto SmartPort の MAC アドレス グループの設定
CDP または LLDP のような近接ディスカバリ プロトコルをサポートしないプリンタなどのデバイスの場合は、Auto SmartPort に MAC アドレスに基づくトリガー コンフィギュレーションを使用します。この手順は任意であり、次の手順に従う必要があります。
• macro auto mac-address グローバル コンフィギュレーション コマンドを使用して、MAC アドレスに基づくトリガーを設定します。
• macro auto execute グローバル コンフィギュレーション コマンドを使用して、MAC アドレス トリガーを、組み込みマクロまたはユーザ定義マクロに関連付けます。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto mac-address-group name |
グループ名を指定し、MAC アドレス コンフィギュレーションモードを開始します。 |
ステップ 3 |
[mac-address list list] | [oui [list list | range word size number]] |
スペースで区切られた MAC アドレスのリストを設定します。 Operationally Unique Identifier(OUI)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)# macro auto execute mac-address-trigger builtin CISCO_PHONE_ATUO_SMARTPORT
Switch# show running configuration | include macro
macro auto mac-address-group address_trigger
mac auto mad-address-group hel
mac auto execute mad-address-trigger builtin CISCO_PHONE_AUTO_SMARTPORT
macro description CISCO_DMP_EVENT
mac description CISCO_SWITCH_EVENT
Auto SmartPort マクロの永続性の設定
スイッチで Auto SmartPort をイネーブルにする場合は、デフォルトで、マクロ コンフィギュレーションがリンクアップ イベントで適用され、リンクダウン イベントで削除されるようになっています。マクロの永続性機能をイネーブルにすると、コンフィギュレーションは、リンクアップで適用され、リンクダウンで削除されます。適用されたコンフィギュレーションは、スイッチ上のリンクアップ イベントまたはリンクダウン イベントに関係なく、そのままになります。マクロの永続性機能は、実行中のコンフィギュレーション ファイルを保存すると再起動後も設定されたままになります。
Auto SmartPort マクロをリンクダウン イベント後もスイッチでアクティブのままにするには、次の手順に従います。この手順は任意です。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto sticky |
Auto SmartPort マクロ コンフィギュレーションがリンクダウン イベントでインターフェイスにそのまま適用されるようにします。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show macro auto |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
Auto SmartPort マクロの永続性機能をディセーブルにするには、 no macro auto sticky グローバル コンフィギュレーション コマンドを使用します。
次に、Auto SmartPort の 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)#!!!the next command modifies the Native vlan used for inter switch trunks
Switch(config)# macro auto execute CISCO_SWITCH_EVENT builtin CISCO_SWITCH_AUTO_SMARTPORT NATIVE_VLAN=10
Switch(config)#!!!the next command enables auto smart ports globally
Switch(config)# macro auto global processing cdp-fallback
Switch# !!!here's the running configuration of the interface connected
Switch# !!!to another Cisco Switch after the Macro is applied
Switch# show running-config interface gigabitethernet0/1
Building configuration...
Current configuration : 284 bytes
interface GigabitEthernet0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 10
srr-queue bandwidth share 10 10 60 20
macro description CISCO_SWITCH_EVENT
次に、ネイティブ VLAN 5 の設定のリモート マクロを設定する例を示します。
a. macro.txt ファイル内のリモート マクロを設定します。
b. マクロ ファイルのリモート ロケーションを指定するには、 macro auto execute コンフィギュレーション コマンドを使用します。
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
Switch(config)# macro auto execute CISCO_SWITCH_EVENT remote tftp://<ip_address>/macro.txt NATIVE_VLAN=5
Switch# show running configuration | include macro
macro auto execute CISCO_SWITCH_EVENT remote tftp://<ip_address>/macro.txt
ユーザ定義のイベント トリガーの作成
MAB または 802.1x 認証を使用して Auto SmartPort マクロを実行させる場合、RADIUS サーバによって送信される Cisco アトリビュート値ペア( 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)#!!!map a system defined macro to the trigger event
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin ?
_ CISCO_DMP_AUTO_SMARTPORT
_ CISCO_IPVSC_AUTO_SMARTPORT
CISCO_LWAP_AUTO_SMARTPORT
CISCO_PHONE_AUTO_SMARTPORT
CISCO_ROUTER_AUTO_SMARTPORT
CISCO_SWITCH_AUTO_SMARTPORT
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin CISCO_AP_AUTO_SMARTPORT ACCESS_VLAN=10
Switch# show shell triggers
Trigger Id: RADIUS_MAB_EVENT
Trigger description: MAC_AuthBypass Event
Trigger mapping function: CISCO_AP_SMARTPORT
次の例では、 show shell triggers 特権 EXEC コマンドを使用して、スイッチ ソフトウェアにイベント トリガーを表示する方法を示します。
Switch# show shell triggers
Trigger Id: CISCO_DMP_EVENT
Trigger description: Digital media-player device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_DMP_AUTO_SMARTPORT
Trigger Id: CISCO_IPVSC_EVENT
Trigger description: IP-camera device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1), The value in parenthesis is a default value
Trigger mapping function: CISCO_IP_CAMERA_AUTO_SMARTPORT
Trigger Id: CISCO_PHONE_EVENT
Trigger description: IP-phone device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $ACCESS_VLAN=(1) and $VOICE_VLAN=(2), The value in the parenthesis is a default value
Trigger mapping function: CISCO_PHONE_AUTO_SMARTPORT
Trigger Id: CISCO_ROUTER_EVENT
Trigger description: Router device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_ROUTER_AUTO_SMARTPORT
Trigger Id: CISCO_SWITCH_EVENT
Trigger description: Switch device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_SWITCH_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_AP_EVENT
Trigger description: Autonomous ap device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_AP_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT
Trigger description: Lightweight-ap device event to apply port configuration
Trigger environment: Parameters that can be set in the shell - $NATIVE_VLAN=(1), The value in the parenthesis is a default value
Trigger mapping function: CISCO_LWAP_AUTO_SMARTPORT
次の例では、 show shell functions 特権 EXEC コマンドを使用して、スイッチ ソフトウェアに組み込みマクロを表示する方法を示します。
Switch# show shell functions
function CISCO_AP_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
if [[ $LINKUP -eq NO ]]; then
no switchport nonegotiate
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport trunk encapsulation
function CISCO_SWITCH_AUTO_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport trunk encapsulation dot1q
switchport trunk native vlan $NATIVE_VLAN
switchport trunk allowed vlan ALL
no switchport trunk encapsulation dot1q
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
Auto SmartPort ユーザ定義マクロの設定
Cisco IOS シェルは、ユーザ定義の Auto SmartPort マクロを設定する基本スクリプト機能を提供します。これらのマクロは複数行を含むことができ、任意の CLI コマンドを含むことができます。変数の置換、条件、機能、およびマクロ内のトリガーも定義できます。この手順は任意です。
ユーザ定義イベント トリガーをユーザ定義マクロにマッピングするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger [parameter=value] { function contents } |
イベント トリガーにマッピングするユーザ定義のマクロを指定します。 {function contents}:トリガーに関連付けるユーザ定義のマクロを指定します。マクロの内容は、波カッコで囲んで入力します。左波カッコで Cisco IOS シェル コマンドを開始し、右波カッコでコマンドのグループ化を終了します。 (任意) parameter=value : $ で始まるデフォルト値を置き換えて、それぞれの名前と値のペアをスペースで区切る形式で新しい値を入力します(例:[<name1>=<value1> <name2>=<value2>...])。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例では、Media Player と呼ばれるユーザ定義のイベント トリガーをユーザ定義のマクロにマッピングする方法を示します。
a. Media Player を 802.1x または MAB 対応のスイッチ ポートに接続します。
b. RADIUS サーバで、アトリビュート値ペアを auto-smart-port =MP_EVENT に設定します。
c. スイッチで、イベント トリガー MP_EVENT を作成し、次のようにユーザ定義マクロ コマンドを入力します。
d. スイッチは、アトリビュート値ペアが MP_EVENT であるとの RADIUS サーバからの応答を認識し、このイベント トリガーに関連付けられているマクロを適用します。
Switch(config)# shell trigger MP_EVENT mediaplayer
Switch(config)# macro auto execute MP_EVENT {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport port-security maximum 1
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
spanning-tree bpduguard enable
if [[ $LINKUP -eq NO ]]; then
no macro description $TRIGGER
no switchport access vlan 1
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport mode access
no switchport port-security
no switchport port-security maximum 1
no switchport port-security violation restrict
no switchport port-security aging time 2
no switchport port-security aging type inactivity
no spanning-tree portfast
no spanning-tree bpduguard enable
表 12-2 サポートされている Cisco IOS シェルのキーワード
|
|
{ |
コマンドのグループ化を開始します。 |
} |
コマンドのグループ化を終了します。 |
[[ |
条件構成体として使用します。 |
]] |
条件構成体として使用します。 |
else |
条件構成体として使用します。 |
-eq |
条件構成体として使用します。 |
fi |
条件構成体として使用します。 |
if |
条件構成体として使用します。 |
then |
条件構成体として使用します。 |
-z |
条件構成体として使用します。 |
$ |
$ 文字で始まる変数が、パラメータ値に置き換えられます。 |
# |
コメント テキストを入力するには、# 文字を使用します。 |
表 12-3 サポートされていない Cisco IOS シェルの予約済キーワード
|
|
| |
パイプライン |
case |
条件構成体 |
esac |
条件構成体 |
for |
ループ構成体 |
function |
シェル関数 |
in |
条件構成体 |
select |
条件構成体 |
time |
パイプライン |
until |
ループ構成体 |
while |
ループ構成体 |