マクロの設定
• 「Auto Smartports の設定ガイドライン」
• 「Auto Smartports マクロのイネーブル化」
• 「デフォルトの Auto Smartports 設定」
• 「Auto Smartports のパラメータ値の設定」
• 「MAC アドレス グループの設定」
• 「マクロの永続性の設定」
• 「組み込みマクロのオプションの設定」
• 「ユーザ定義イベント トリガーの作成」
• 「イベント トリガー コントロールの設定」
• 「ユーザ定義マクロ用のユーザ定義トリガーの設定」
• 「ユーザ定義マクロの設定」
• 「スイッチでのマクロの適用」
• 「デフォルトの Static Smartports 設定」
• 「Static Smartports の設定ガイドライン」
• 「NEAT 設定」
• 「Static Smartports マクロの適用」
Auto Smartports の設定ガイドライン
• 組み込みマクロは削除または変更できません。ただし、ユーザ定義マクロを同じ名前で作成すると、組み込みマクロを無効にすることができます。元の組み込みマクロを復元するには、ユーザ定義マクロを削除します。
• macro auto device および macro auto execute グローバル コンフィギュレーション コマンドの両方をイネーブルにした場合は、最後に実行したコマンドに指定されたパラメータがスイッチに適用されます。スイッチ上でアクティブにできるコマンドは片方だけです。
• マクロを適用した場合のシステム競合を回避するには、802.1x 認証以外のポート認証をすべて削除します。ポート上で Auto Smartports マクロを有効にする 前に 、ポート セキュリティおよびブリッジ プロトコル データ ユニット(BPDU)ガード機能を削除するコマンドを入力してください。
• スイッチ上でデバイス固有の Auto Smartports をイネーブルにしたあとは、ポート セキュリティを設定しないでください。スイッチが適切なポートベース コマンドを適用します。
• 元の設定とマクロが競合した場合は、マクロが元のいくつかのコンフィギュレーション コマンドに適用されないか、またはアンチマクロでこれらのコマンドが削除されません (アンチマクロは適用済みのマクロの一部で、リンクダウン イベントのときにマクロを削除します)。
たとえば、802.1x 認証がイネーブルになっている場合は、 switchport-mode access 設定を削除できません。この場合は、 switchport-mode 設定を削除する前に 802.1x 認証を削除する必要があります。
• Auto Smartports マクロを適用する場合は、ポートを EtherChannel のメンバにはできません。EtherChannel を使用する際、 no macro auto processing インターフェイス コンフィギュレーション コマンドを使用して、EtherChannel インターフェイスの Auto Smartports をディセーブルにします。
• 組み込みマクロのデフォルトのデータ VLAN は VLAN 1 です。組み込みマクロのデフォルトの音声 VLAN は VLAN 2 です スイッチが異なるアクセス、ネイティブ、または音声 VLAN を使用する場合は、 macro auto device または macro auto execute グローバル コンフィギュレーション コマンドを使用して値を設定します。
• マクロで VLAN 名を使用する場合は、VLAN Trunking Protocol(VTP)ドメイン内のすべてのスイッチに対して、VLAN データベース内の名前と同じにする必要があります。
• デフォルトのパラメータ値を持つデフォルトのマクロ、現在の値、および各マクロに対する設定可能なパラメータ リストを表示するには、 show macro auto device 特権 EXEC コマンドを使用します。また、 show shell functions 特権 EXEC コマンドを使用して、組み込みマクロのデフォルト値を表示することもできます。
• 802.1x 認証または MAC 認証バイパス(MAB)を使用して他社製のデバイスを検出するには、シスコの属性と値のペア auto-smart-port=event trigger をサポートするように RADIUS サーバを設定します。
• ネットワーク プリンタなど、CDP、MAB、または 802.1x 認証をサポートしない固定デバイスについては、MAC OUI ベースのトリガーで MAC アドレス グループを設定し、目的の設定を持つユーザ定義マクロにマッピングします。
• 802.1x 認証ベースのトリガーは、Cisco Discovery Protocol(CDP)メッセージ、Link Layer Discovery Protocol(LLDP)メッセージ、ユーザ定義の MAC アドレス グループなどのその他すべてのイベント トリガーよりも優先されます。
• スイッチが Auto Smartports マクロをサポートするのは、直接接続されているデバイスだけです。複数のデバイスが接続されている場合(ハブの使用など)は、適用されているマクロは、最初に検出されたデバイスに関連付けられます。
• ポート上で認証がイネーブルになっている場合は、スイッチは、認証が失敗した場合の MAC アドレス トリガーを無視します。
• MAC アドレスベースの検出を使用するときは、Auto Smartports をイネーブルにするのは、アクセス デバイスに接続されているポート のみ とし、ネットワーク スイッチまたは中間ゲートウェイ スイッチに接続されているポートではディセーブルにします。
• マクロ内と対応するアンチマクロ内では、CLI コマンドの順序が異なる場合があります。
• デバイス ID が設定されているデバイスがスイッチ ポートで認証されている場合、次の RADIUS 属性がダウンロード可能です。
– VLAN ID とスイッチ ACL 名、または Cisco アクセス コントロール サーバ(ACS)の番号
– 属性と値(AV)のペアの ASP トリガー名
AV ペアがダウンロードされると、スイッチはポートでマクロを適用します。
ダウンロードされた VLAN ID または ACL 名が、スイッチによって適用されたユーザ定義マクロまたは組み込みマクロの設定と競合する場合があります。
• Auto Smartports は、リモート エッジ アクセス ポイント(REAP)またはハイブリッド リモート エッジ アクセス ポイント(HREAP)モードの Lightweight アクセス ポイントをサポートしません。
Auto Smartports マクロのイネーブル化
スイッチ上でマクロをグローバルにイネーブルにするには、次の必須のプロシージャに従います。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure termina l
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto global processing
Switch(config)# macro auto global processing |
スイッチ上でマクロをグローバルにイネーブルにします。 |
ステップ 3 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config
Switch# show running-config |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルト設定に戻すには、 no macro auto global processing グローバル コンフィギュレーション コマンドを使用します。
特定のポート上でマクロをディセーブルにするには、 no macro auto processing インターフェイス コンフィギュレーション コマンドを使用します。
show macro auto device 、 show shell functions 、および show shell triggers 特権 EXEC コマンドを使用すると、イベント トリガーおよび組み込みマクロを表示できます。
次の例では、スイッチ上でマクロをイネーブルにし、特定のインターフェイス上でマクロをディセーブルにする方法を示します。
Switch(config)# macro auto global processing
Switch(config)# interface interface_id
Switch(config-if)# no macro auto processing
デフォルトの Auto Smartports 設定
• Auto Smartports は、グローバルにディセーブルになっており、インターフェイスごとにイネーブルにします。
• マクロの永続性は、グローバルにディセーブルになっており、インターフェイスごとにイネーブルにします。
• Cisco IOS シェルはイネーブルになっています。
• スイッチは、特定のデバイスに対して Auto Smartports がイネーブルになっている場合に、これらの組み込みマクロ(デフォルト)を使用します。
表 3-1 デバイス特有の組み込みマクロ
|
|
CISCO_AP_AUTO_ SMARTPORT |
このマクロは、Cisco アクセス ポイントのワイヤレス アクセス ポイントに適用されます。これにより、標準の QoS、auto-QoS、および 802.1q のカプセル化トランキングが可能になります。インターフェイス上でネイティブ VLAN を設定します。また、リンク ダウン イベント後にマクロがアクティブのままになるようにマクロの永続性をイネーブルにします。 |
CISCO_DMP_AUTO_ SMARTPORT |
このマクロは、Cisco デジタル メディア プレーヤーのデジタル メディア プレーヤー マクロに適用されます。これにより、QoS trust、auto-QoS、ポート セキュリティ、およびスパニングツリーの保護が可能になります。このマクロは、インターフェイスに対するアクセス VLAN を設定し、不明なユニキャスト パケットからネットワークを保護します。 インターフェイス コンフィギュレーション コマンドを入力すると、スイッチは Cisco デジタル メディア プレーヤーの有無の検出に CDP を自動的に使用します。 |
CISCO_IPVSC_AUTO_ SMARTPORT |
このマクロは、Cisco IP ビデオ サーベイランス カメラの IP カメラ マクロに適用されます。これにより、QoS trust、auto-QoS、ポート セキュリティ、およびスパニングツリーの保護が可能になります。このマクロは、インターフェイスに対するアクセス VLAN を設定し、不明なユニキャスト パケットからネットワークを保護します。 |
CISCO_LWAP_AUTO_ SMARTPORT |
このマクロは、Cisco lightweight ワイヤレス アクセス ポイントの lightweight ワイヤレス アクセス ポイント マクロに適用されます。これにより、QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニングツリーの保護が可能になります。このマクロは、インターフェイスに対するアクセス VLAN を設定し、不明なユニキャスト パケットからネットワークを保護します。 |
CISCO_PHONE_AUTO_ SMARTPORT |
このマクロは、Cisco IP phone の IP phone マクロに適用されます。これにより、QoS、ポート セキュリティ、ストーム制御、DHCP スヌーピング、およびスパニングツリーの保護が可能になります。また、対象のインターフェイスに対するアクセスおよび音声 VLAN も設定します。 |
CISCO_ROUTER_AUTO_ SMARTPORT |
このマクロは、Cisco ルータのルータ マクロに適用されます。これにより、QoS、および 802.1Q カプセル化を使用したトランキング、およびスパニングツリー Bridge Protocol Data Unit(BPDU;ブリッジ プロトコル データ ユニット)の保護が可能になります。 |
CISCO_SWITCH_AUTO_ SMARTPORT |
このマクロは、Cisco スイッチのスイッチ マクロに適用されます。これにより、QoS および 802.1q カプセル化を使用したトランキングが可能になります。また、インターフェイス上でネイティブ VLAN も設定します。 |
スイッチでデバイス特有のマクロを使用しない場合は、これらのマクロを使用します。
表 3-2 グローバル マクロとカスタム マクロ
|
|
CISCO_CUSTOM_AUTO_ SMARTPORT |
このマクロは、スイッチ ポート上でアンチマクロが適用された後で、ポートごとのユーザ定義設定に適用されます。マクロ内で設定を指定します。 |
CISCO_LAST_RESORT_AUTO_ SMARTPORT |
このマクロは、スイッチがデバイスに対して組み込みマクロを持たない場合に、ポートごとのデバイス特有のマクロに適用されます。このマクロには、データ VLAN による基本設定が 1 つあります。 |
CISCO_SWITCH_AAA_ ACCOUNTING |
このマクロは、認証、許可、およびアカウンティング(AAA)のアカウンティング設定に適用されます。 |
CISCO_SWITCH_AAA_ AUTHENTICATION |
このマクロは、認証、許可、およびアカウンティング(AAA)の認証設定に適用されます。 |
CISCO_SWITCH_AAA_ AUTHORIZATION |
このマクロは、認証、許可、およびアカウンティング(AAA)の許可設定に適用されます。 |
CISCO_SWITCH_AUTO_IP_ CONFIG |
このマクロは、IP 設定に適用されます。 |
CISCO_SWITCH_AUTO_PCI_ CONFIG |
このマクロは、Payment Card Industry(PCI)準拠の設定に適用されます。 |
CISCO_SWITCH_DOMAIN_NAME_CONFIG |
このマクロは、ドメイン名に適用されます。 |
CISCO_SWITCH_ETHERCHANNEL_CONFIG |
このマクロは、EtherChannel の設定に適用されます。 |
CISCO_SWITCH_HOSTNAME_ CONFIG |
このマクロは、ホスト名に適用されます。 |
CISCO_SWITCH_HTTP_SERVER_ CONFIG |
このマクロは、HTTP サーバの設定に適用されます。 |
CISCO_SWITCH_LOGGING_ SERVER_CONFIG |
このマクロは、ロギング サーバの設定に適用されます。 |
CISCO_SWITCH_MGMT_VLAN_ CONFIG |
このマクロは、管理 VLAN の設定に適用されます。 |
CISCO_SWITCH_NAME_SERVER_CONFIG |
このマクロは、ネーム サーバの設定に適用されます。 |
CISCO_SWITCH_NTP_SERVER_ CONFIG |
このマクロは、ネットワーク タイム プロトコル(NTP)サーバの設定に適用されます。 グローバル コンフィギュレーション コマンドは適用されません。 |
CISCO_SWITCH_RADIUS_ SERVER_CONFIG |
このマクロは、RADIUS サーバの設定に適用されます。 |
CISCO_SWITCH_SETUP_SNMP_ TRAPS |
このマクロは、簡易ネットワーク管理プロトコル(SNMP)のトラップ設定に適用されます。 |
CISCO_SWITCH_SETUP_USR_ CONFIG |
このマクロは、ユーザ設定に適用されます。 |
CISCO_SWITCH_SNMP_SOURCE_CONFIG |
このマクロは、SNMP ソース インターフェイスの設定に適用されます。 |
CISCO_SWITCH_TACACS_ SERVER_CONFIG |
このマクロは、TACACS サーバの設定に適用されます。 |
CISCO_SWITCH_USER_PASS_ CONFIG |
このマクロは、ユーザ名およびパスワードの設定に適用されます。 |
• スイッチは、Cisco IP Phone に CISCO_PHONE_AUTO_SMARTPORT マクロを適用します。
• アクセス ポイント マクロには、次の拡張機能があります。
– スイッチは、アクセス ポイントのタイプ(autonomous または lightweight)を特定し、適切なマクロを適用します。
– アクセス ポイントのイーサネット レシーバ上の入力インターフェイスでオーバーラン エラーを減らすために、スイッチは、auto-QoS タイプ、長さ、および値の属性(TLV)を持つ CDP メッセージを受け取ったときに、QoS 帯域幅の設定をアクセス ポイント マクロに追加します。QoS は、auto-QoS TLV から帯域幅の値を取得します。
CDP メッセージに auto-QoS TLV がない場合、スイッチは、マクロに帯域幅の設定を追加しません。
(注) アクセス ポイント イメージを、auto-QoS TLV を持つイメージにアップグレードしない場合、スイッチはアクセス ポイント マクロに帯域幅の設定を追加しません。レシーバへのリンクがダウンする前に設定した帯域幅は、リンクが確立された時点でその設定が削除されます。
QoS 帯域幅を設定するマクロ コマンドを追加し、スイッチがそのマクロを、auto-QoS TLV をサポートしていないアクセス ポイントに適用しても、コマンドはアクセス ポイントに適用されません。そのコマンドを使用していないユーザ定義マクロを作成してください。
– Catalyst 3750-E および 3560-E スイッチを Cisco Aironet 1250 アクセス ポイントに接続している場合、スイッチは最大 20 W を割り当てる電力設定を適用します。
Cisco IOS Release 15.0(2)EX を実行しているスイッチが CISCO_DMP_AUTO_
SMARTPORT マクロを CDP 対応のデジタル メディア プレーヤーに適用すると、デジタル メディア プレーヤーの自動 QoS 設定が生成されます。
アクセス ポイント マクロは Control And Provisioning of Wireless Access Points(CAPWAP)プロトコルをサポートします。
Auto Smartports のパラメータ値の設定
イベント トリガーから、デバイス特有の組み込みマクロへのマッピングは、スイッチで自動的に実行されます。次の任意のプロシージャに従って、マクロのデフォルト パラメータ値を、スイッチ特有の値に置き換えることができます。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
show macro auto device
Switch# show macro auto device |
マクロのデフォルト パラメータ値を表示します。 |
ステップ 2 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
macro auto device { access-point | ip-camera | lightweight-ap | media-player | phone | router | switch } [ parameter=value ]
Switch(config)# macro auto device router |
指定したマクロのデフォルト パラメータ値を置き換えます。 それぞれの名前と値のペアをスペースで区切る形式で新しい値を入力します(例:[<name1>=<value1> <name2>=<value2>...])。 VLAN パラメータ値を指定するときに、VLAN ID または VLAN 名を入力できます。 デフォルト値は、各マクロのデフォルト パラメータ値に対して示されます。 • 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
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show macro auto device
Switch# show macro auto device |
入力を確認します。 |
ステップ 6 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例では、IP phone のマクロ パラメータ値を表示し、デフォルトの音声を VLAN から 20 に変更する方法を示します。デフォルト値を変更しても、現在マクロが適用されているインターフェイス上で、変更内容がすぐに適用されるわけではありません。設定された値は、次のリンクアップ イベントで適用されます。VOICE_VLAN に正しいテキスト文字列が使用されていることを確認してください。このエントリでは大文字と小文字が区別されます。
Switch# show macro auto device phone
Default Macro:CISCO_PHONE_AUTO_SMARTPORT
Current Macro:CISCO_PHONE_AUTO_SMARTPORT
Configurable Parameters:ACCESS_VLAN VOICE_VLAN
Defaults Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Current Parameters:ACCESS_VLAN=1 VOICE_VLAN=2
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
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
MAC アドレス グループの設定
CDP や LLDP などのネイバー探索プロトコルをサポートしていないデバイス(プリンタなど)については、MAC アドレスベースのトリガー設定を使用します。この任意のプロシージャでは、次のステップが必要です。
1. macro auto mac-address グローバル コンフィギュレーション コマンドを使用して MAC アドレスベースのトリガーを設定する。
2. macro auto execute グローバル コンフィギュレーション コマンドを使用して、MAC アドレス トリガーを組み込みマクロまたはユーザ定義マクロに関連付ける。
(注) Cisco IOS Release 12.2(58) SE 以降を実行しているスイッチでは、MAC アドレス グループの MAC アドレスを学習するとすぐにマクロが適用されます。
Cisco IOS Release 12.2(58) SE より前のリリースを実行しているスイッチでは、MAC アドレス グループの MAC アドレスを学習してから 60 秒後にマクロが適用されます。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto mac-address-group name
Switch(config)# macro auto mac-address-group address_trigger |
グループ名を指定し、MAC アドレス コンフィギュレーション モードを開始します。 |
ステップ 3 |
[ mac-address list list ] | [ oui [ list list | range start-value size number ]]
Switch(config-addr-grp-mac)# mac-address list 2222.3333.3334 22.33.44 a.b.c |
スペースで区切った MAC アドレスのリストを設定します。 operationally unique identifier(OUI)の リスト または 範囲 を指定します。OUI は MAC アドレスの最初の 3 バイトで、製品の製造業者を識別します。OUI を指定すると、ネイバー探索プロトコルをサポートしていないデバイスを認識できます。 • list :OUI リストを、スペースで区切った 16 進形式で入力します。 • range :OUI の開始値を 16 進数で入力します( start-value )。 • size :連続したアドレス リストを作成するための range の長さ( number )を 1 ~ 5 で入力します。 |
ステップ 4 |
exit
Switch(mac-adress-config) exit |
コンフィギュレーション モードに戻ります。 |
ステップ 5 |
macro auto execute address_trigger built-in macro name
Switch(config)# macro auto execute address_trigger builtin CISCO_PHONE_AUTO_SMARTPORT |
MAC アドレスグループ トリガーを、組み込みマクロまたはユーザ定義マクロにマッピングします。 MAC アドレス トリガーは、65 秒後にインターフェイスに適用されます。スイッチはこのホールド時間を使用して、MAC アドレス トリガーの代わりに CDP または LLDP ベースのイベント トリガーを適用します。 |
ステップ 6 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 7 |
show macro auto address-group name
Switch# show macro auto address-group group2 |
入力を確認します。 |
ステップ 8 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次に、 address_trigger という名前で MAC アドレス グループ イベント トリガーを作成し、電話機の組み込みマクロにマッピングし、入力を確認する例を示します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# macro auto mac-address-group 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)# macro auto execute address_trigger builtin CISCO_PHONE_AUTO_SMARTPORT
Switch# show running configuration | include macro
macro auto mac-address-group address_trigger
mac auto mac-address-group hel
mac auto execute address_trigger builtin CISCO_PHONE_AUTO_SMARTPORT
macro description CISCO_DMP_EVENT
mac description CISCO_SWITCH_EVENT
次の例は、00000A から始まる 5 つの連続したアドレスで OUI リストを作成する方法、およびエントリを検証する方法を示しています。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# macro auto mac-address-group size5ouilist
Switch(config-addr-grp-mac)# oui range 00000A size 5
Switch(config-addr-grp-mac)# exit
Switch(config)# mac auto execute size5-ouilist builtin macro
Switch(config)# macro auto execute address_trigger builtin CISCO_PHONE_AUTO_SMARTPORT
Switch# show running configuration | include oui
マクロの永続性の設定
スイッチで Auto Smartports をイネーブルにすると、デフォルトではリンクアップ イベントのときにマクロ設定が適用され、リンクダウン イベントのときに削除されます。マクロの永続性をイネーブルにすると、リンクアップのときに設定が適用され、リンクダウンのときに削除されます。適用された設定は保持されます。実行中のコンフィギュレーション ファイルを保存しておくと、リブート後もマクロの永続性が設定されたままになります。
この任意のプロシージャに従って、リンクダウン イベントの後でも、スイッチ上でマクロがアクティブになるようにします。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-id
Switch(config)# interface gigabitethernet 2/0/1 |
インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
macro auto sticky
Switch(config-if)# macro auto port sticky |
リンクダウン イベントの後でも、インターフェイス上でマクロがアクティブになるようにします。 |
ステップ 4 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config interface interface-id
Switch# show running-config interface gigabit ethernet 2/0/1 |
入力を確認します。 |
ステップ 6 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例では、インターフェイス上でマクロの永続性をイネーブルにする方法を示します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 2/0/1
Switch(config-if)# macro auto port sticky
Switch# show running-config interface gigabitethernet 2/0/1
Building configuration...
Current configuration : 243 bytes
interface GigabitEthernet2/0/1
srr-queue bandwidth share 1 30 35 5
mls qos trust device cisco-phone
service-policy input AUTOQOS-ENHANCED-CISCOPHONE-POLICY
組み込みマクロのオプションの設定
イベント トリガーを組み込みマクロにマッピングし、組み込みマクロのデフォルト パラメータを、スイッチ特有の値で置き換えるには、このプロシージャを使用します。デフォルトのパラメータ値をマクロで置き換える必要がある場合は、 macro auto device グローバル コンフィギュレーション コマンドを使用します。このプロシージャのすべてのコマンドはオプションです。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger builtin built-in macro name [ parameter=value ] [ parameter=value ]
Switch(config)# macro auto execute CISCO_PHONE_EVENT builtin CISCO_PHONE_AUTO_SMARTPORT ACCESS_VLAN=10 VOICE_VLAN=20 |
イベント トリガーから組み込みマクロへのマッピングを定義します。 event trigger に次の値を指定します。 • CISCO_CUSTOM_EVENT • CISCO_DMP_EVENT • CISCO_IPVSC_EVENT • CISCO_LAST_RESORT_EVENT • CISCO_PHONE_EVENT • CISCO_ROUTER_EVENT • CISCO_SWITCH_EVENT • CISCO_WIRELESS_AP_EVENT • CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT • WORD:ユーザ定義のイベント トリガーを適用します。 builtin built-in macro name を指定します。 それぞれの 名前と値のペア をスペースで区切る形式で新しい値を入力します(例:[<name1>=<value1> <name2>=<value2>...])。デフォルト値は、入力したとおりに表示されます。 • CISCO_AP_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 • CISCO_DMP_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 を指定します。 • CISCO_IPVSC_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 を指定します。 • CISCO_LWAP_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 を指定します。 • CISCO_PHONE_AUTO_SMARTPORT パラメータ値 ACCESS_VLAN=1 および VOICE_VLAN=2 を指定します。 • CISCO_ROUTER_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 • CISCO_SWITCH_AUTO_SMARTPORT パラメータ値 NATIVE_VLAN=1 を指定します。 |
ステップ 3 |
remote url
Switch(config)# remote nvram://user:password@/C/macros |
リモート マクロ ファイル用のリモート サーバの場所を指定します。 • スタンドアロン スイッチ上またはスタック マスター上のローカル フラッシュ ファイル システムの構文: 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 • リモート コピー プロトコル(RCP)の構文: rcp: [[ //username@location ]/ directory ] /filename • Secure Copy Protocol(SCP)の構文: scp: [[// username@location ]/ directory ]/ filename • TFTP の構文: tftp: [[ //location ]/ directory ] /filename |
ステップ 4 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show running-config
Switch# show running-config |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 6 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例では、2 つの組み込みマクロを使用して、Cisco スイッチおよび Cisco IP phone をスイッチへ接続する方法を示します。次の例では、トランク インターフェイス用にデフォルトの音声 VLAN、アクセス VLAN、およびネイティブ VLAN を変更します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
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
Switch# !!! here is the running configuration of the interface connected
Switch# !!! to another Cisco Switch after the Macro is applied
Switch# show running-config interface gigabitethernet1/0/1
Building configuration...
Current configuration : 284 bytes
interface GigabitEthernet1/0/1
switchport trunk encapsulation dot1q
switchport trunk native vlan 10
srr-queue bandwidth share 10 10 60 20
macro description CISCO_SWITCH_EVENT
次の例では、ネイティブ VLAN 5 に対してリモート マクロを設定する方法を示します。
a. macro.txt ファイルにリモート マクロを設定します。
b. macro auto execute コンフィギュレーション コマンドを使用して、マクロ ファイルのリモートの場所を指定します。
Macro.txt ファイル
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 認証を使用する場合は、RADIUS サーバで送信されたシスコの属性と値のペア( auto-smart-port =event trigger )に対応するトリガーを作成します。この手順は任意です。
特権 EXEC モードで実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
shell trigger identifier description
Switch(config)# shell trigger RADIUS_MAB_EVENT MAC_AuthBypass Event |
イベント トリガーの ID および説明を指定します。 この ID を指定する場合は、文字間にスペースやハイフンを入れないでください。 |
ステップ 3 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show shell triggers
Switch# show shell triggers |
スイッチ上のイベント トリガーを表示します。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次の例は、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 サーバからの attribute-value pair=RADIUS_MAB_EVENT 応答を認識し、マクロ CISCO_AP_AUTO_SMARTPORT を適用します。
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# !!! create a user defined trigger and map
Switch(config)# !!! a system defined macro to it
Switch(config)# !!! first create the trigger event
Switch(config)# shell trigger RADIUS_MAB_EVENT MAC_AuthBypass Event
Switch(config)#!!! map a system defined macro to the trigger event
Switch(config)# macro auto execute RADIUS_MAB_EVENT builtin ?
CISCO_AP_AUTO_SMARTPORT Configure native vlan and trust cos
CISCO_CUSTOM_AUTOSMARTPORT Configure user defined parameters
CISCO_DMP_AUTO_SMARTPORT Configure access vlan, qos and port-security
CISCO_IP_CAMERA_AUTO_SMARTPORT Configure access vlan, qos and port-security
CISCO_LAST_RESORT_SMARTPORT Configure access vlan
CISCO_LWAP_AUTO_SMARTPORT Configure native vlan, qos, port-security and
CISCO_PHONE_AUTO_SMARTPORT Configure access vlan, voice vlan, trust
device, interface bandwidth, port-security
CISCO_ROUTER_AUTO_SMARTPORT Configure native vlan, spanning tree
port-fast,trunk mode and trust dscp
CISCO_SWITCH_AUTO_SMARTPORT Configure native vlan, trunk mode
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_AUTO_CONSOLE_EVENT
Trigger namespace: ASP_TRIG_GLOBAL_FUTURE
Trigger description: Console password
Trigger mapping function:
Mapped Function: CISCO_AUTO_CONSOLE_PASSWD
Trigger Id: CISCO_AUTO_TIMEZONE_CONFIG
Trigger namespace: ASP_TRIG_GLOBAL_USR
Trigger description: timezone parameters
Trigger mapping function:
Mapped Function: CISCO_AUTO_TIMEZONE
Trigger Id: CISCO_CUSTOM_EVENT
Trigger namespace: ASP_TRIG
Trigger description: Custom macro event to apply user defined configuration
Trigger mapping function:
Mapped Function: CISCO_CUSTOM_AUTOSMARTPORT
Trigger Id: CISCO_DMP_EVENT
Trigger namespace: ASP_TRIG
Trigger description: Digital media-player device event to apply port configurati
Trigger mapping function:
Parameters: ACCESS_VLAN=1
Mapped Function: CISCO_DMP_AUTO_SMARTPORT
Trigger Id: CISCO_IPVSC_EVENT
Trigger namespace: ASP_TRIG
Trigger description: IP-camera device event to apply port configuration
Trigger mapping function:
Parameters: ACCESS_VLAN=1
Mapped Function: CISCO_IP_CAMERA_AUTO_SMARTPORT
Trigger Id: CISCO_LAST_RESORT_EVENT
Trigger namespace: ASP_TRIG
Trigger description: Last resort event to apply port configuration
Trigger mapping function:
Parameters: ACCESS_VLAN=1
Mapped Function: CISCO_LAST_RESORT_SMARTPORT
Trigger Id: CISCO_PHONE_EVENT
Trigger namespace: ASP_TRIG
Trigger description: IP-phone device event to apply port configuration
Trigger mapping function:
Parameters: ACCESS_VLAN=1 VOICE_VLAN=2
Mapped Function: CISCO_PHONE_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 [[ $LIMIT -eq 0 ]]; then
default srr-queue bandwidth limit
srr-queue bandwidth limit $LIMIT
if [[ $SW_POE -eq YES ]]; then
if [[ $AP125X -eq AP125X ]]; then
power inline port maximum 20000
if [[ $LINKUP -eq NO ]]; then
no switchport nonegotiate
no switchport trunk native vlan $NATIVE_VLAN
no switchport trunk allowed vlan ALL
default srr-queue bandwidth limit
if [[ $AUTH_ENABLED -eq NO ]]; then
no switchport trunk encapsulation
if [[ $STICKY -eq YES ]]; then
if [[ $SW_POE -eq YES ]]; then
if [[ $AP125X -eq AP125X ]]; then
no macro auto port sticky
no power inline port maximum
イベント トリガー コントロールの設定
スイッチがマクロを適用するタイミングを指定するには、イベント トリガー コントロールを使用します。デフォルトでは、スイッチは次のトリガーに対して組み込みマクロおよびユーザ定義マクロをマッピングします。
• 検出方法(MAC アドレス グループ、MAB メッセージ、802.1x 認証メッセージ、LLDP メッセージなど)
• デバイス タイプ(Cisco スイッチ、ルータ、IP Phone など)
• 設定されているトリガー
MAC アドレスベースのトリガーを設定するには、 macro auto global control device グローバルまたはインターフェイス コンフィギュレーション コマンドを使用します。
トリガーを選択すると、これらのトリガーがマクロにマッピングしている場合のみ、適用されます。
スイッチ
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto global control { device [ access-point ] [ ip-camera ] [ lightweight-ap ] [ mac-address ] [ media-player ] [ phone ] [ router ] [ switch ] | trigger [ last-resort ]}
Switch(config)# macro auto global control mac-address |
検出方法、デバイス タイプ、またはトリガーに基づいて、スイッチがマクロを適用するタイミングを指定します。 • device :次の 1 つ以上のデバイスを、イベント トリガーとして使用します。 – (任意) access-point :Autonomous アクセス ポイント – (任意) ip-camera :Cisco IP ビデオ サーベイランス カメラ – (任意) lightweight-ap :Lightweight アクセス ポイント – (任意) mac-address :デバイスの MAC アドレス – (任意) media-player :デジタル メディア プレーヤー – (任意) phone :Cisco IP Phone – (任意) router :Cisco ルータ – (任意) switch :Cisco スイッチ • trigger :特定のイベント トリガーを使用します。 – (任意) last-resort :ラストリゾート トリガー デフォルトでは、スイッチはイベント トリガーとしてデバイス タイプを使用します。スイッチがデバイス タイプを決定できない場合は、MAC アドレス グループ、MAB メッセージ、802.1x 認証メッセージ、および LLDP メッセージをランダムな順序で使用します。 |
ステップ 3 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config
Switch# show running-config |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
autonomous アクセス ポイントを検出したときだけ、スイッチが CISCO_AP_AUTO_SMARTPORT マクロを適用するように設定する方法:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# macro auto global control device access-point
autonomous アクセス ポイントまたは Cisco IP Phone を検出したときだけ、スイッチが CISCO_AP_AUTO_SMARTPORT マクロを適用するように設定する方法:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# macro auto global control device access-point phone
インターフェイス
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface_id
Switch(config)# interface gigabitethernet 2/0/2 |
インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
macro auto control { device [ access-point ] [ ip-camera ] [ lightweight-ap ] [ mac-address ] [ media-player ] [ phone ] [ router ] [ switch ] | trigger [ last-resort ]}
Switch(config)# macro auto global control mac-address |
検出方法、デバイス タイプ、またはトリガーに基づいて、スイッチがマクロを適用するタイミングを指定します。 • device :次の 1 つ以上のデバイスを、イベント トリガーとして使用します。 – (任意) access-point :Autonomous アクセス ポイント – (任意) ip-camera :Cisco IP ビデオ サーベイランス カメラ – (任意) lightweight-ap :Lightweight アクセス ポイント – (任意) mac-address :デバイスの MAC アドレス – (任意) media-player :デジタル メディア プレーヤー – (任意) phone :Cisco IP Phone – (任意) router :Cisco ルータ – (任意) switch :Cisco スイッチ • trigger :特定のイベント トリガーを使用します。 – (任意) last-resort :ラストリゾート トリガー デフォルトでは、スイッチはイベント トリガーとしてデバイス タイプを使用します。スイッチがデバイス タイプを決定できない場合は、MAC アドレス グループ、MAB メッセージ、802.1x 認証メッセージ、および LLDP メッセージをランダムな順序で使用します。 |
ステップ 4 |
exit
Switch(config-if)# exit |
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 5 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 6 |
show macro auto
Switch# show macro auto |
入力を確認します。 |
ステップ 7 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
lightweight アクセス ポイントまたは Cisco IP Phone を検出したときだけ、スイッチが CISCO_AP_AUTO_SMARTPORT マクロまたは CISCO_PHONE_AUTO_SMARTPORT マクロを適用するように設定する方法:
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet 5/0/1
Switch(config-if)# macro auto control device lightweight-ap phone
ユーザ定義マクロ用のユーザ定義トリガーの設定
ユーザ定義マクロ用のユーザ定義イベント トリガーを設定するには、特権 EXEC モードを開始し、次の手順に従います。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto trigger trigger_name [ device | exit | no | profile ]
Switch(config)# macro auto trigger DMP Switch(config-macro-trigger)# profile mediaplayer-DMP |
マクロ トリガー コンフィギュレーション モードを開始します。このモードでは、ユーザ定義マクロにマッピングするユーザ定義イベント トリガーを指定できます。 • device :名前付きトリガーにマッピングするデバイス名を指定します。 • exit :デバイス グループ コンフィギュレーション モードを終了します。 • no :設定済みのデバイスをすべて削除します。 • profile :名前付きトリガーにマッピングするプロファイル名を指定します。 |
ステップ 3 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config
Switch# show running-config |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
例:ユーザ定義イベント トリガー
次に、DMP_EVENT というユーザ定義イベント トリガーを設定する例を示します。
Switch(config)# macro auto trigger DMP_EVENT mediaplayer
ユーザ定義マクロの設定
Cisco IOS シェルには、ユーザ定義マクロを設定するための基本的なスクリプト機能があります。これらのマクロには複数行を記述することが可能で、任意の CLI コマンドを含めることもできます。また、マクロ内に変数の置換、条件、関数、およびトリガーを定義することもできます。この手順は任意です。
(注) マクロの設定時に説明を入力してください。リンクがダウン(コマンド $LINKUP -eq NO)している場合は、no macro description コマンドを入力します。これらのコマンドは、Auto Smartports が機能するために必須です。
ユーザ定義イベント トリガーをユーザ定義マクロにマッピングするには、特権 EXEC モードで開始し、次の手順に従います。
|
|
|
ステップ 1 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger [ parameter=value ] { function contents }
Switch(config)# macro auto execute DMP_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 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 } |
イベント トリガーにマッピングするユーザ定義マクロを指定します。 { function contents }:トリガーに関連付けるユーザ定義マクロを指定します。マクロの内容は、波カッコで囲んで入力します。左波カッコで Cisco IOS シェル コマンドを開始し、右波カッコでコマンドのグループ化を終了します。 (任意) parameter=value : $ で始まるデフォルト値を置き換えて、名前と値のペアをスペースで区切る形式([<name1>=<value1> <name2>=<value2>...])で新しい値を入力します。 |
ステップ 3 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config
Switch# show running-config |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
例:ユーザ定義のイベント トリガーとマクロ
次の例では、メディア プレーヤーと呼ばれるユーザ定義イベント トリガーを、ユーザ定義マクロにマッピングする方法を示します。
1. 802.1x または MAB に対応したスイッチ ポートにメディア プレーヤーを接続します。
2. RADIUS サーバ上で、属性と値のペアを auto-smart-port =DMP_EVENT に設定します。
3. スイッチ上で、イベント トリガー DMP_EVENT を作成し、CLI の例のユーザ定義マクロ コマンドを入力します。
4. スイッチは、RADIUS サーバからの attribute-value pair=DMP_EVENT 応答を受け入れ、このイベント トリガーに関連付けられたマクロを適用します。
Switch(config)# shell trigger DMP_EVENT mediaplayer
Switch(config)# macro auto execute DMP_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 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
例:ラストリゾート イベント トリガーとマクロ
CDP、LLDP または DHCP を使用してデバイス分類子によってデバイスが分類されると、ラストリゾート イベント トリガーが適用されますが、組み込みマクロはありません。
CISCO_LAST_RESORT_AUTO_SMARTPORT マクロをラストリゾート トリガーにマッピングする方法:
Switch(config)# macro auto global control trigger last-resort
CISCO_LAST_RESORT_AUTO_SMARTPORT マクロ:
function CISCO_LAST_RESORT_SMARTPORT () {
if [[ $LINKUP -eq YES ]]; then
macro description $TRIGGER
switchport access vlan $ACCESS_VLAN
if [[ $LINKUP -eq NO ]]; then
no switchport access vlan $ACCESS_VLAN
no switchport mode access
ラストリゾート マクロをマッピングする MAC アドレス トリガーのユーザ定義マッピングの例:
Switch(config)#macro auto mac
Switch(config)#macro auto mac-address-group Laptop
Switch(config-addr-grp-mac)#mac-address list 0000.0011.2233
Switch(config-addr-grp-mac)#exit
Switch(config)#macro auto execute laptop builtin CISCO_LAST_RESORT_SMARTPORT ACCESS_VLAN=10
例:カスタム イベント トリガーと CISCO_CUSTOM_AUTO_SMARTPORT マクロ
デフォルト CISCO_CUSTOM_AUTO_SMARTPORT マクロ:
if [[ $LINKUP -eq YES ]]; then
if [[ $LINKUP -eq NO ]]; then
ユーザ定義マクロをカスタム マクロと同じ名前で作成するには、CISCO_CUSTOM_AUTO_SMARTPORT マクロを上書きし、イベント トリガーからマクロへのマッピングも含めて、スイッチに対するパラメータを設定します。
Config# macro auto execute CISCO_CUSTOM_EVENT {
if [[ $LINKUP -eq YES ]]; then
description asp3-link-UP i.e. Custom Macro OFF
switchport access vlan $ACCESS_VLAN
if [[ $LINKUP -eq NO ]]; then
macro description $TRIGGER
switchport access vlan $ACCESS_VLAN
description asp3-link-DOWN i.e. Custom Macro ON
表 3-3 サポートされている Cisco IOS シェルのキーワード
|
|
{ |
コマンドのグループ化を開始します。 |
} |
コマンドのグループ化を終了します。 |
[[ |
条件構成体として使用します。 |
]] |
条件構成体として使用します。 |
else |
条件構成体として使用します。 |
-eq |
条件構成体として使用します。 |
fi |
条件構成体として使用します。 |
if |
条件構成体として使用します。 |
then |
条件構成体として使用します。 |
-z |
条件構成体として使用します。 |
$ |
$ 文字で始まる変数は、パラメータ値で置換されます。 |
# |
# 文字を使用して、コメント テキストを入力します。 |
表 3-4 サポートされていない Cisco IOS シェルの予約済キーワード
|
|
| |
パイプライン |
case |
条件構成体 |
esac |
条件構成体 |
for |
ループ構成体 |
function |
シェル関数 |
in |
条件構成体 |
select |
条件構成体 |
time |
パイプライン |
until |
ループ構成体 |
while |
ループ構成体 |
スイッチでのマクロの適用
CLI または Cisco IOS シェル スクリプト機能を使用すると、マクロ パラメータを設定し、設定したマクロを適用できます。
CLI の使用
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
macro auto config ?
Switch# macro auto config ? |
(任意)グローバル マクロを表示します。 |
ステップ 2 |
macro auto config global macro
Switch# macro auto config CISCO_SWITCH_HOSTNAME_CONFIG |
マクロ パラメータを設定します。 CLI のプロンプトに従ってください。 |
ステップ 3 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
例:1 つのマクロ
グローバル マクロを表示する方法:
Switch# macro auto apply ?
CISCO_SWITCH_AAA_ACCOUNTING Configure aaa accounting parameters
CISCO_SWITCH_AAA_AUTHENTICATION Configure aaa authentication parameters
CISCO_SWITCH_AAA_AUTHORIZATION Configure aaa authorization parameters
CISCO_SWITCH_AUTO_IP_CONFIG Configure the ip parameters
CISCO_SWITCH_AUTO_PCI_CONFIG Configure PCI compliant parameters
CISCO_SWITCH_DOMAIN_NAME_CONFIG Configure domain name
CISCO_SWITCH_ETHERCHANNEL_CONFIG Configure the etherchannel parameters
CISCO_SWITCH_HOSTNAME_CONFIG Configure hostname
CISCO_SWITCH_HTTP_SERVER_CONFIG Configure http server
CISCO_SWITCH_LOGGING_SERVER_CONFIG Configure logging server
CISCO_SWITCH_MGMT_VLAN_CONFIG Configure management vlan parameters
CISCO_SWITCH_NAME_SERVER_CONFIG Configure name server parameters
CISCO_SWITCH_NTP_SERVER_CONFIG Configure NTP server
CISCO_SWITCH_RADIUS_SERVER_CONFIG Configure radius server
CISCO_SWITCH_SETUP_SNMP_TRAPS Configure SNMP trap parameters
CISCO_SWITCH_SETUP_USR_CONFIG Configure the user parameters
CISCO_SWITCH_SNMP_SOURCE_CONFIG Configure snmp source interface
CISCO_SWITCH_TACACS_SERVER_CONFIG Configure tacacs server
CISCO_SWITCH_USER_PASS_CONFIG Configure username and password
Switch# macro auto config ?
CISCO_SWITCH_AAA_ACCOUNTING Configure aaa accounting parameters
CISCO_SWITCH_AAA_AUTHENTICATION Configure aaa authentication parameters
CISCO_SWITCH_AAA_AUTHORIZATION Configure aaa authorization parameters
CISCO_SWITCH_AUTO_IP_CONFIG Configure the ip parameters
CISCO_SWITCH_AUTO_PCI_CONFIG Configure PCI compliant parameters
CISCO_SWITCH_DOMAIN_NAME_CONFIG Configure domain name
CISCO_SWITCH_ETHERCHANNEL_CONFIG Configure the etherchannel parameters
CISCO_SWITCH_HOSTNAME_CONFIG Configure hostname
CISCO_SWITCH_HTTP_SERVER_CONFIG Configure http server
CISCO_SWITCH_LOGGING_SERVER_CONFIG Configure logging server
CISCO_SWITCH_MGMT_VLAN_CONFIG Configure management vlan parameters
CISCO_SWITCH_NAME_SERVER_CONFIG Configure name server parameters
CISCO_SWITCH_NTP_SERVER_CONFIG Configure NTP server
CISCO_SWITCH_RADIUS_SERVER_CONFIG Configure radius server
CISCO_SWITCH_SETUP_SNMP_TRAPS Configure SNMP trap parameters
CISCO_SWITCH_SETUP_USR_CONFIG Configure the user parameters
CISCO_SWITCH_SNMP_SOURCE_CONFIG Configure snmp source interface
CISCO_SWITCH_TACACS_SERVER_CONFIG Configure tacacs server
CISCO_SWITCH_USER_PASS_CONFIG Configure username and password
Switch# macro auto config CISCO_SWITCH_HOSTNAME_CONFIG
Enter system's network name: CISCO
Do you want to apply the parameters? [yes/no]: yes
Enter configuration commands, one per line. End with CNTL/Z.
Switch# macro auto apply CISCO_SWITCH_HOSTNAME_CONFIG
Enter configuration commands, one per line. End with CNTL/Z.
例:組み合わせたマクロ
Switch# macro auto config CISCO_SWITCH_AUTO_IP_CONFIG
Do you want to configure default domain name? [yes/no]: yes
Enter the domain name: cisco.com
Do you want to configure Name server ipv4 address? [yes/no]: yes
Enter the IPv4 address[a.b.c.d]: 10.77.11.34
Enter IP address of the logging host: 10.77.11.36
Do you want to configure VPN Routing/Forwarding Instance name? [yes/no]: no
Enter the ip address of NTP server[a.b.c.d]: 10.77.11.37
Do you want to apply the parameters? [yes/no]: yes
Enter configuration commands, one per line. End with CNTL/Z.
Enter configuration commands, one per line. End with CNTL/Z.
Enter configuration commands, one per line. End with CNTL/Z.
Enter configuration commands, one per line. End with CNTL/Z.
Switch# macro auto apply CISCO_SWITCH_AUTO_IP_CONFIG
Enter configuration commands, one per line. End with CNTL/Z.
Cisco IOS シェルの使用
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
次のいずれかを使用します。 • macro auto config ? • macro auto apply ?
Switch# macro auto config ? Switch# macro auto apply ? |
(任意)グローバル マクロを表示します。 |
ステップ 2 |
macro auto config macro-name parameter = value [ parameter = value ] ...
Switch# macro auto config CISCO_SWITCH_HOSTNAME_CONFIG HOSTNAME=CISCO
|
マクロ パラメータを設定します。 CLI のプロンプトに従ってください。 |
ステップ 3 |
macro auto apply macro-name
Switch# macro auto apply CISCO_SWITCH_HOSTNAME_CONFIG
|
スイッチにマクロを適用します。 |
ステップ 4 |
show macro auto
Switch# show macro auto |
入力を確認します。 ユーザ定義の値は、 show コマンドの出力でのみ表示されます。 |
ステップ 5 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
例:1 つのマクロに対して 1 つのシェル パラメータ
Switch# macro auto config CISCO_SWITCH_HOSTNAME_CONFIG HOSTNAME=CISCO
Switch# macro auto apply CISCO_SWITCH_HOSTNAME_CONFIG
Enter configuration commands, one per line. End with CNTL/Z.
例:1 つのマクロに対して複数のシェル パラメータと値
Switch# macro auto config CISCO_SWITCH_ETHERCHANNEL_CONFIG PORT_CH_ID=1 PORT_CH_TYPE=2 EC_PROTO=Y EC_PROTO_TYPE=PAGP NO_OF_INT=3 MODE=AUTO INTERFACE=Gig2/0/1,Gig2/0/2,Gig2/0/3 NON_SILENT=Y EC_APPLY=YES
Switch# macro auto apply CISCO_SWITCH_ETHERCHANNEL_CONFIG
Enter configuration commands, one per line. End with CNTL/Z.
例:組み合わせたマクロ
Switch# macro auto config CISCO_SWITCH_AUTO_IP_CONFIG CISCO_SWITCH_DOMAIN_NAME_CONFIG DOMAIN_NAME=cisco.com
Switch# macro auto config CISCO_SWITCH_AUTO_IP_CONFIG CISCO_SWITCH_LOGGING_SERVER_CONFIG HOST_IP=10.77.11.36
Switch# macro auto config CISCO_SWITCH_AUTO_IP_CONFIG CISCO_SWITCH_NAME_SERVER_CONFIG IP_V4_ADDR=10.77.11.37
Switch# macro auto config CISCO_SWITCH_AUTO_IP_CONFIG CISCO_SWITCH_NTP_SERVER_CONFIG IP_ADDRESS=10.77.11.38 VRF=NO
Switch# macro auto apply CISCO_SWITCH_AUTO_IP_CONFIG
Enter configuration commands, one per line. End with CNTL/Z.
デフォルトの Static Smartports 設定
スイッチ上でイネーブルになっているスタティック Smartports マクロはありません。
表 3-5 デフォルトの Static Smartports マクロ
|
|
cisco-global |
リンクステートの障害に対して、Rapid Per-VLAN Spanning-Tree Plus(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 |
スイッチとワイヤレス アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
Static Smartports の設定ガイドライン
• マクロがスイッチまたはスイッチ インターフェイスに対してグローバルに適用される場合は、インターフェイス上の既存の設定が保持されます。これは、差分設定に適用する場合に役立ちます。
• 構文エラーまたは設定エラーのためにコマンドが失敗した場合、マクロは引き続き残りのコマンドを適用します。構文エラーまたは設定エラーを見つけるために、マクロを適用してデバッグするには、 macro global trace macro-name グローバル コンフィギュレーション コマンドまたは macro trace macro-name インターフェイス コンフィギュレーション コマンドを使用できます。
• 特定のインターフェイス タイプ固有の CLI コマンドもあります。設定を受け入れないインターフェイスにマクロを適用すると、マクロが構文または設定のチェックに失敗し、スイッチはエラー メッセージを返します。
• インターフェイス範囲へのマクロの適用は、単一インターフェイスへのマクロの適用と同じです。インターフェイスの範囲を使用する場合、マクロはその範囲内の各インターフェイスに順番に適用されます。1 つのインターフェイスでマクロ コマンドの実行に失敗しても、マクロは残りのインターフェイス上に適用されます。
• スイッチまたはスイッチ インターフェイスにマクロを適用すると、マクロ名が自動的にスイッチまたはインターフェイスに追加されます。 show running-config ユーザ EXEC コマンドを使用して、マクロ名および適用したコマンドを表示できます。
NEAT 設定
Network Edge Access Topology(NEAT)機能は、ワイヤリング クローゼット(会議室など)外の領域まで識別を拡張します。
NEAT のシナリオでは、802.1x 認証が成功して、Access Control Server(ACS)からスイッチに ASP のマクロが送信された場合は、次のいずれかを設定する必要があります。
• ホスト モードをマルチ ホストに変更します。
• ACS で cisco-av-pair を device-traffic-class=switch として設定することによって、オーセンティケータ スイッチでトランク設定をイネーブルにします。
Static Smartports マクロの適用
スタティック Smartports マクロを適用するには、特権 EXEC モードで開始し、次の手順に従います。
|
|
|
ステップ 1 |
show parser macro
Switch# show parser macro |
スイッチ ソフトウェアに組み込まれている、シスコのデフォルトのスタティック Smartports マクロを表示します。 |
ステップ 2 |
show parser macro name macro-name
Switch# show parser macro name cisco-desktop |
適用する特定のマクロを表示します。 |
ステップ 3 |
configure terminal
Switch# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 4 |
macro global { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }]
Switch(config)# macro global apply cisco-desktop $access_vlan 25 |
スイッチでマクロを適用します。 • マクロ コマンドを個別に適用するには、 macro global apply macro-name コマンドを使用します。 • マクロを適用およびデバッグして、構文エラーや設定エラーを見つけるには、 macro global trace macro-name コマンドを使用します。 parameter value キーワードを使用して、必要な値をマクロに追加します。 $ で始まるキーワードには、一意のパラメータ値が必要です。 macro global apply macro-name ? コマンドを使用すると、マクロに必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。 (任意)スイッチに固有の一意のパラメータ値を指定します。最高 3 つのキーワードと値の組み合わせを入力できます。パラメータ キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。 |
ステップ 5 |
interface interface-id
Switch(config)# interface gigabitethernet 2/0/5 |
(任意)インターフェイスを指定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 6 |
default interface interface-id
Switch(config)# default interface 2/1/4 |
(任意)指定したインターフェイスからすべての設定を消去します。 |
ステップ 7 |
macro { apply | trace } macro-name [ parameter { value }] [ parameter { value }] [ parameter { value }]
Switch(config-if)# macro apply cisco-desktop $access_vlan 25 |
インターフェイスでマクロを適用します。 • マクロ コマンドを個別に適用するだけの場合は、 macro apply macro-name コマンドを使用します。 • マクロを適用およびデバッグして、構文エラーや設定エラーを見つけるには、 macro trace macro-name コマンドを使用します。 parameter value キーワードを使用して、必要な値をマクロに追加します。 $ で始まるキーワードには、一意のパラメータ値が必要です。 macro global apply macro-name ? コマンドを使用すると、マクロに必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。 (任意)スイッチに固有の一意のパラメータ値を指定します。最高 3 つのキーワードと値の組み合わせを入力できます。パラメータ キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。 |
ステップ 8 |
end
Switch(config)# end |
特権 EXEC モードに戻ります。 |
ステップ 9 |
show running-config interface interface-id
Switch# show running-config interface gigabit ethernet 1/0/4 |
Auto Smartports がイネーブルになっていることを確認します。 |
ステップ 10 |
copy running-config startup-config
Switch# copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
マクロに含まれる各コマンドの no バージョンを入力したときにだけ、スイッチで適用されたグローバル マクロ設定を削除できます。 default interface interface-id インターフェイス コンフィギュレーション コマンドを入力すれば、ポートで適用されたマクロの設定を削除できます。
次の例では、 cisco-desktop マクロの表示する方法、およびインターフェイス上でマクロを適用し、アクセス VLAN ID を 25 に設定する方法を示します。
Switch# show parser macro name cisco-desktop
--------------------------------------------------------------
Macro name : cisco-desktop
Macro type : default interface
# macro keywords $access_vlan
# Basic interface - Enable data VLAN only
# Recommended value for access vlan should not be 1
switchport access vlan $access_vlan
# Enable port security limiting port to a single
# MAC address -- that of desktop
switchport port-security maximum 1
# Ensure port-security age is greater than one minute
# and use inactivity timer
switchport port-security violation restrict
switchport port-security aging time 2
switchport port-security aging type inactivity
# Configure port as an edge network port
spanning-tree bpduguard enable
--------------------------------------------------------------
Switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface gigabitethernet1/0/4
Switch(config-if)# macro apply cisco-desktop $access_vlan 25