SmartPort マクロの制約事項
• スイッチ上のすべてのマクロを表示するには、 show parser macro ユーザ EXEC コマンドを使用します。特定のマクロの内容を表示するには、 show parser macro name macro-name ユーザ EXEC コマンドを使用します。
• マクロは編集できません。 macro name コマンドで既存のマクロ名を指定した場合、既存のマクロは新しいマクロに置換されます。
• マクロにすでに説明が設定済みの状態で macro description コマンドを使用して何らかの説明を入力すると、既存の説明を置換するのではなく、既存の説明に追加されます。入力された説明はパイプ文字(|)で区切られます。
• マクロの説明は、256 文字以内です。説明のための文字列が 256 文字を超えると、新しい説明を保存するために最も古い説明が削除されます。
• 再帰的なユーザ作成マクロはサポートされていません。他のマクロを呼び出すようなマクロは定義できません。
• 各ユーザ作成マクロには、キーワード/値のペアを最大 3 つ含むことができます。
• マクロの定義は、3,000 文字以内です。改行文字は 2 文字として数えます。
• マクロを作成する際に、 exit や end コマンド、または interface interface-id コマンドを使用してコマンド モードを変更しないでください。これらのコマンドを使用すると、 exit 、 end 、または interface interface-id に続くコマンドが異なるコマンド モードで実行されることがあります。マクロを作成するときは、すべての CLI コマンドを同じコンフィギュレーション モードにします。
• 一意の値の割り当てを必要とするマクロを作成する場合、 parameter value キーワードを使用して、そのインターフェイスに固有の値を指定します。キーワードの照合では、大文字と小文字が区別されます。キーワードで一致が見られると、すべて対応する値に置き換えられます。キーワードが完全に一致すると、それが長い文字列の一部であったとしても一致と見なされて、対応する値に置き換えられます。
• マクロ名では、大文字と小文字が区別されます。たとえば、コマンド macro name Sample-Macro と macro name sample-macro は、2 つの別個のマクロとなります。
• 一部のマクロには、パラメータ値が必要なキーワードが含まれます。 macro global apply macro-name ? グローバル コンフィギュレーション コマンドまたは macro apply macro-name ? インターフェイス コンフィギュレーション コマンドを使用すると、マクロで必要な値を一覧表示できます。キーワード値を入力せずにマクロを適用した場合、コマンドは無効となり、マクロは適用されません。
• マクロがスイッチまたはスイッチ インターフェイスに対してグローバルに適用される場合は、インターフェイス上の既存の設定が保持されます。これは、差分設定に適用する場合に役立ちます。
• コマンドを追加または削除してマクロ定義を変更する場合、元のマクロを適用したインターフェイスに変更は反映されません。新規または変更済みのコマンドを適用するには、インターフェイスにアップデート済みマクロを再適用する必要があります。
• マクロを適用およびデバッグして、構文エラーまたは設定エラーを検出するには、 macro global trace macro-name グローバル コンフィギュレーション コマンド、または macro trace macro-name インターフェイス コンフィギュレーション コマンドを使用できます。構文エラーまたは設定エラーが原因でコマンドが失敗した場合でも、マクロは引き続き残りのコマンドを適用します。
• 特定のインターフェイス タイプ固有の CLI コマンドもあります。設定を受け入れないインターフェイスにマクロを適用すると、マクロは構文チェックまたは設定チェックに失敗し、スイッチはエラー メッセージを返します。
• インターフェイス範囲へのマクロの適用は、単一インターフェイスへのマクロの適用と同じです。インターフェイスの範囲を使用する場合、マクロはその範囲内の各インターフェイスに順番に適用されます。1 つのインターフェイスでマクロ コマンドの実行に失敗しても、マクロは残りのインターフェイス上に適用されます。
• スイッチまたはスイッチ インターフェイスにマクロを適用すると、マクロ名が自動的にスイッチまたはインターフェイスに追加されます。 show running-config ユーザ EXEC コマンドを使用して、適用されたコマンドおよびマクロ名を表示できます。
SmartPort マクロについて
• 「シスコ提供の SmartPort マクロについて」
• 「ユーザ作成の SmartPort マクロについて」
シスコ提供の SmartPort マクロについて
シスコ提供の SmartPort マクロおよびそれに含まれるコマンドを表示するには、 show parser macro ユーザ EXEC コマンドを使用します。
表 3-1 シスコ提供の SmartPort マクロ
|
|
cisco-global |
VLAN 間でのロード バランシングをイネーブルにする場合、スパニングツリー インスタンスの高速コンバージェンスを実行する場合、およびポート エラー回復をイネーブルにする場合、このグローバル コンフィギュレーション マクロを使用します。 |
cisco-desktop |
PC のようなデスクトップ デバイスをスイッチ ポートに接続する場合、ネットワーク セキュリティと信頼性を高めるために、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-phone |
Cisco IP Phone を搭載した PC などのデスクトップ デバイスをスイッチ ポートに接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。このマクロは、 cisco-desktop マクロの拡張機能で、同じセキュリティ機能と復元力機能を提供します。ただし、遅延に影響されやすい音声トラフィックを適切に処理するために、専用音声 VLAN が追加されています。 |
cisco-switch |
スイッチやルータなどのデバイス間でレイヤ 2 接続を実行する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
cisco-router |
スイッチやルータなどのデバイス間でレイヤ 3 接続を実行する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
Catalyst スイッチ向けには、シスコが推奨するテスト済みのベースライン コンフィギュレーション テンプレートも提供されています。オンライン リファレンス ガイドのテンプレートには、ポート使用に応じて SmartPort マクロが作成できる CLI コマンドが含まれています。このコンフィギュレーション テンプレートを使用して SmartPort マクロを作成することにより、シスコ推奨のネットワーク設計および設定を構築し、導入できます。
ユーザ作成の SmartPort マクロについて
SmartPort マクロは、共通の設定を保存して共有するのに便利な方法です。SmartPort マクロを使用すると、ネットワーク内でのスイッチの場所に基づいて機能や設定をイネーブルにしたり、ネットワーク全体にわたる大規模な設定導入を行ったりすることができます。
各 SmartPort マクロは、ユーザ定義による Cisco IOS CLI コマンドの集まりです。SmartPort マクロをインターフェイスに適用すると、そのマクロに含まれる CLI コマンドがインターフェイス上に設定されます。インターフェイスに SmartPort マクロを適用しても、インターフェイスの既存の設定は失われません。新しいコマンドがインターフェイスに追加され、実行コンフィギュレーション ファイルに保存されます。
SmartPort マクロのデフォルト設定
次に、デフォルトで提供されるシスコ提供の SmartPort マクロをリストで表示する例を示します。
Router# show parser macro brief
SmartPort マクロの設定方法
• 「シスコ提供の SmartPort マクロの使用」
• 「SmartPort マクロの作成」
cisco-global SmartPort マクロの内容の表示
Router# show parser macro name cisco-global
Macro name : cisco-global
Macro type : default global
# Enable dynamic port error recovery for link state
# VTP requires Transparent mode for future 802.1x Guest VLAN
# and current Best Practice
# Config Cos to DSCP mappings
platform qos map cos-dscp 0 8 16 26 32 46 48 56
# Enable aggressive mode UDLD on all fiber uplinks
# Enable Rapid PVST+ and Loopguard
cisco-global SmartPort マクロの適用
cisco-global SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# macro global apply cisco-global |
cisco-global SmartPort マクロを適用します。 |
ステップ 3 |
Router(config)# end |
特権 EXEC モードに戻ります。 |
次に、cisco-global SmartPort マクロを適用して、適用したマクロ名を表示する例を示します。
Router# configure terminal
Router(config)# macro global apply cisco-global
Changing VTP domain name from previous_domain_name to [smartports]
Setting device to VTP TRANSPARENT mode.
Router# show parser macro description
Global Macro(s): cisco-global
Interface Macro Description(s)
--------------------------------------------------------------
--------------------------------------------------------------
cisco-desktop SmartPort マクロの内容の表示
Router# show parser macro name cisco-desktop
Macro name : cisco-desktop
Macro type : default interface
# Basic interface - Enable data VLAN only
# Recommended value for access vlan (AVID) should not be 1
# Enable port security limiting port to a single
# MAC address -- that of desktop
# Ensure port-security age is greater than one minute
# and use inactivity timer
# Configure port as an edge network port
cisco-desktop SmartPort マクロの適用
cisco-desktop SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# interface type slot/port |
設定するインターフェイスを選択します。 |
ステップ 3 |
Router(config-if)# macro apply cisco-desktop $AVID access_vlan_ID |
cisco-desktop SmartPort マクロを適用します。 access_vlan_ID の値として推奨される範囲は 2 ~ 4094 です。 |
ステップ 4 |
Router(config-if)# end |
特権 EXEC モードに戻ります。 |
次に、アクセス VLAN として VLAN 2 を指定して、cisco-desktop SmartPort マクロをポート GigabitEthernet 1/1 に適用し、その結果を確認する例を示します。
Router# configure terminal
Router(config)# interface gigabitethernet 1/1
Router(config-if)# macro apply cisco-desktop $AVID 2
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
%Portfast has been configured on GigabitEthernet1/1 but will only
have effect when the interface is in a non-trunking mode.
Router# show parser macro description interface gigabitethernet 1/1
Global Macro(s): cisco-global
Interface Macro Description(s)
--------------------------------------------------------------
--------------------------------------------------------------
Router# show running-config interface gigabitethernet 1/1
Building configuration...
Current configuration : 307 bytes
interface GigabitEthernet1/1
switchport port-security aging time 2
switchport port-security violation restrict
macro description cisco-desktop
spanning-tree bpduguard enable
cisco-phone SmartPort マクロの内容の表示
Router# show parser macro name cisco-phone
Macro type : default interface
# macro keywords $AVID $VVID
# VoIP enabled interface - Enable data VLAN
# Recommended value for access vlan (AVID) should not be 1
# Update the Voice VLAN (VVID) value which should be
# different from data VLAN
# Recommended value for voice vlan (VVID) should not be 1
# Enable port security limiting port to a 3 MAC
# addressess -- One for desktop and two for phone
# Ensure port-security age is greater than one minute
# and use inactivity timer
# Enable auto-qos to extend trust to attached Cisco phone
# Configure port as an edge network port
cisco-phone SmartPort マクロの適用
cisco-phone SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# interface type slot/port |
設定するインターフェイスを選択します。 |
ステップ 3 |
Router(config-if)# macro apply cisco-phone $AVID access_vlan_ID $VVID voice_vlan_ID |
cisco-phone SmartPort マクロを適用します。 access_vlan_ID の値として推奨される範囲は 2 ~ 4094 です。 voice_vlan_ID の値として推奨される範囲は 2 ~ 4094 です。 |
ステップ 4 |
Router(config-if)# end |
特権 EXEC モードに戻ります。 |
cisco-phone SmartPort マクロを適用する場合は、次の点に注意してください。
• 生成されるコマンドの中には、PFC QoS コマンドに分類されるものもあります。PFC QoS コマンドは ポート ASIC で制御されるすべてのポート に適用されます。生成されたこれらのコマンドのいずれかが適用されると、PFC QoS では、コマンド適用の結果生成されたメッセージをポート ASIC で制御されるすべてのポートに表示します。これらのコマンドは、モジュールに応じて 48 ものポートに適用されます。『『 Release Notes for Cisco IOS Release 15.1SY 』』の各モジュールの説明を参照し、ポート グループの数およびポート グループごとのポート範囲を確認してください。
http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/15.1SY/release_notes.html
• 他のポートに trust CoS を設定するよう指示するメッセージが表示される場合があります。生成された QoS コマンドをイネーブルにするには、そのように設定する必要があります。
• ポート信頼状態の要件が矛盾するため、同じポート ASIC で制御されるポート上で cisco-phone SmartPort マクロおよび他のマクロを適用できない場合があります。
次に、アクセス VLAN として VLAN 2 を指定して、cisco-phone SmartPort マクロをポート GigabitEthernet 2/2 に適用し、その結果を確認する例を示します。
Router# configure terminal
Router(config)# interface gigabitethernet 2/2
Router(config-if)# macro apply cisco-phone $AVID 2 $VVID 3
Propagating cos-map to inband port
Propagating cos-map configuration to: [ポート リストは省略]
(同じポート ASIC で制御されるその他のポートに関するテキスト出力は省略)
Warning: rcv cosmap will not be applied in hardware.
To modify rcv cosmap in hardware, all of the interfaces below
must be put into 'trust cos' state:
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
%Portfast has been configured on GigabitEthernet1/2 but will only
have effect when the interface is in a non-trunking mode.
Router# show parser macro description interface gigabitethernet 2/2
Global Macro(s): cisco-global
Interface Macro Description(s)
--------------------------------------------------------------
--------------------------------------------------------------
Router# show running-config interface gigabitethernet 2/2
Building configuration...
Building configuration...
Current configuration : 307 bytes
interface GigabitEthernet1/2
Building configuration...
Current configuration : 1336 bytes
interface GigabitEthernet2/2
switchport port-security maximum 3
switchport port-security aging time 2
switchport port-security violation restrict
(QoS キューイング コマンドに関するテキスト出力は省略。ポート タイプによって異なる)
auto qos voip cisco-phone
macro description cisco-phone
spanning-tree bpduguard enable
cisco-switch SmartPort マクロの内容の表示
Router# show parser macro name cisco-switch
Macro name : cisco-switch
Macro type : default interface
# Do not apply to EtherChannel/Port Group
# Access Uplink to Distribution
# Define unique Native VLAN on trunk ports
# Recommended value for native vlan (NVID) should not be 1
# Update the allowed VLAN range (VRANGE) such that it
# includes data, voice and native VLANs
# switchport trunk allowed vlan VRANGE
# Hardcode trunk and disable negotiation to
# 802.1w defines the link as pt-pt for rapid convergence
cisco-switch SmartPort マクロの適用
cisco-switch SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# interface type slot/port |
設定するインターフェイスを選択します。 |
ステップ 3 |
Router(config-if)# macro apply cisco-switch $NVID native_vlan_ID |
cisco-switch SmartPort マクロを適用します。 native_vlan_ID の値として推奨される範囲は 2 ~ 4094 です。 |
ステップ 4 |
Router(config-if)# end |
特権 EXEC モードに戻ります。 |
次に、ネイティブ VLAN として VLAN 4 を指定して、cisco-switch SmartPort マクロをポート GigabitEthernet 1/4 に適用し、その結果を確認する例を示します。
Router# configure terminal
Router(config)# interface gigabitethernet 1/4
Router(config-if)# macro apply cisco-switch $NVID 4
Router# show parser macro description interface gigabitethernet 1/4
Interface Macro Description(s)
--------------------------------------------------------------
--------------------------------------------------------------
Router# show running-config interface gigabitethernet 1/4
Building configuration...
Current configuration : 247 bytes
interface GigabitEthernet1/4
switchport trunk encapsulation dot1q
switchport trunk native vlan 4
macro description cisco-switch
spanning-tree link-type point-to-point
cisco-router SmartPort マクロの内容の表示
Router# show parser macro name cisco-router
Macro name : cisco-router
Macro type : default interface
# Do not apply to EtherChannel/Port Group
# Access Uplink to Distribution
# Define unique Native VLAN on trunk ports
# Recommended value for native vlan (NVID) should not be 1
# Update the allowed VLAN range (VRANGE) such that it
# includes data, voice and native VLANs
# switchport trunk allowed vlan VRANGE
# Hardcode trunk and disable negotiation to
# Configure qos to trust this interface
# Ensure fast access to the network when enabling the interface.
# Ensure that switch devices cannot become active on the interface.
cisco-router SmartPort マクロの適用
cisco-router SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# interface type slot/port |
設定するインターフェイスを選択します。 |
ステップ 3 |
Router(config-if)# macro apply cisco-router $NVID native_vlan_ID |
cisco-router SmartPort マクロを適用します。 native_vlan_ID の値として推奨される範囲は 2 ~ 4094 です。 |
ステップ 4 |
Router(config-if)# end |
特権 EXEC モードに戻ります。 |
(注) cisco-router SmartPort マクロには、auto qos voip trust コマンドが含まれています。switchport コマンドで設定したポートに対して auto qos voip trust コマンドを入力すると、platform qos trust cos コマンドが生成され、このポートに適用されます。ただし、cisco-router SmartPort マクロでは platform qos trust dscp コマンドを使用して、DSCP を信頼するようにポート信頼状態を変更します。cisco-router SmartPort マクロを適用する場合、ポート ASIC で制御されるその他のポートに対して platform qos trust cos コマンドを入力するよう求めるメッセージは無視してください。
次に、cisco-router SmartPort マクロをポート GigabitEthernet 1/5 に適用し、その結果を確認する例を示します。
Router# configure terminal
Router(config)# interface gigabitethernet 1/5
Router(config-if)# macro apply cisco-router $NVID 5
Propagating cos-map to inband port
Propagating cos-map configuration to: [ポート リストは省略]
(同じポート ASIC で制御されるその他のポートに関するテキスト出力は省略)
(一時的に適用された trust CoS コマンドに関するテキスト出力は省略)
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
%Portfast has been configured on GigabitEthernet1/5 but will only
have effect when the interface is in a non-trunking mode.
Router# show parser macro description interface gigabitethernet 1/5
Interface Macro Description(s)
--------------------------------------------------------------
--------------------------------------------------------------
Router# show running-config interface gigabitethernet 1/5
Building configuration...
Current configuration : 1228 bytes
interface GigabitEthernet1/5
switchport trunk encapsulation dot1q
switchport trunk native vlan 5
wrr-queue bandwidth 20 100 200
(QoS キューイング コマンドに関するテキスト出力は省略。ポート タイプによって異なる)
macro description cisco-router
spanning-tree bpduguard enable
SmartPort マクロの作成
SmartPort マクロを作成するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# macro name macro-name |
マクロを作成します。 マクロ名では、大文字と小文字が区別されます。たとえば、コマンド macro name Sample-Macro と macro name sample-macro は、2 つの別個のマクロとなります。 マクロの定義は、3,000 文字以内です。改行文字は 2 文字として数えます。 マクロ作成モードではプロンプトは表示されません。 1 行ごとに 1 つのマクロ コマンドを指定します。 マクロ内にコメントを入力する場合は、行頭に # 文字を指定します。 マクロを終了するには、 @ 文字を使用します。 マクロ内では、 exit または end コマンドを使用しないでください。また、 interface interface-id を使用してコマンド モードを変更しないでください。 exit または end 、または interface interface-id に続くコマンドが別のコマンド モードで実行されることがあるためです。最良の結果を出すには、マクロ内のすべてのコマンドが同じコンフィギュレーション モードである必要があります。 各ユーザ作成マクロには、キーワード/値のペアを最大 3 つ含むことができます。 |
ステップ 3 |
# macro keywords keyword1 keyword2 keyword3 |
(任意)マクロに定義したキーワードを説明するためのヘルプ ストリングを作成できます。1 つのマクロには最大 3 つのヘルプ ストリング コメントを入力できます。 |
ステップ 4 |
end |
特権 EXEC モードに戻ります。 |
ステップ 5 |
show parser macro name macro-name |
マクロが作成されたことを確認します。 |
(注) no 形式の macro name グローバル コンフィギュレーション コマンドでは、マクロ定義だけが削除されます。マクロがすでに適用されているインターフェイスの設定には、影響はありません。
次に、レイヤ 2 アクセス VLAN および送信元メディア アクセス コントロール(MAC)アドレス数を定義し、さらに # macro keywords の使用によって 2 つのヘルプ ストリング キーワードを含むマクロを作成する例を示します。
Router(config)# macro name test
#macro keywords $VLANID $MAX
switchport access vlan $VLANID
switchport port-security maximum $MAX
ユーザ作成の SmartPort マクロの適用
SmartPort マクロを適用するには、次の作業を行います。
|
|
|
ステップ 1 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
Router(config)# default interface interface-id |
(任意)指定したインターフェイスからすべての設定を消去します。 |
ステップ 3 |
Router(config)# interface interface_id |
(インターフェイス マクロの場合に必要)マクロを適用するインターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
Router(config)# macro [ global ] { apply | trace } macro-name [ keyword value ] [ keyword value ] [ keyword value ] |
マクロで定義された個々のコマンドを適用、または適用し追跡します。 グローバル マクロの場合: • 構文エラーや設定エラーを検出するには、 macro global trace macro-name コマンドを入力して、マクロを適用しデバッグします。 • マクロに定義されているキーワード/値のペアの一覧を表示するには、 macro global apply macro-name ? コマンドを使用します。 インターフェイス マクロの場合: • 構文エラーや設定エラーを検出するには、 macro trace macro-name コマンドを入力して、マクロを適用しデバッグします。 • マクロに定義されているキーワード/値のペアの一覧を表示するには、 macro apply macro-name ? コマンドを使用します。 マクロを適切に適用するには、必要なキーワード/値のペアをすべて入力してください。 キーワードの照合では、大文字と小文字が区別されます。 マクロにより適用されたコマンドでは、一致するすべてのキーワードが、対応する値に置換されます。 |
ステップ 5 |
Router(config)# end |
特権 EXEC モードに戻ります。 |
スイッチ上のグローバル マクロ適用済みの設定を削除するには、マクロ内にある各コマンドの no バージョンだけを入力します。インターフェイスの設定すべてを削除するには、 default interface interface_id インターフェイス コンフィギュレーション コマンドを入力します。
次に、snmp という名前のユーザ作成マクロを適用し、ホスト名アドレスを test-server 、IP precedence 値を 7 に設定する例を示します。
Router(config)# macro global apply snmp ADDRESS test-server VALUE 7
次に、 macro global trace グローバル コンフィギュレーション コマンドを使用して snmp という名前のユーザ作成マクロをデバッグし、スイッチへの適用時にマクロの構文エラーまたは設定エラーを検出する例を示します。
Router(config)# macro global trace snmp VALUE 7
Applying command...‘snmp-server enable traps port-security’
Applying command...‘snmp-server enable traps linkup’
Applying command...‘snmp-server enable traps linkdown’
Applying command...‘snmp-server host’
Applying command...‘snmp-server ip precedence 7’
次に、desktop-config という名前のユーザ作成マクロを適用し、設定を確認する例を示します。
Router(config)# interface gigabitethernet1/2
Router(config-if)# macro apply desktop-config
Router# show parser macro description
Interface Macro Description
--------------------------------------------------------------
--------------------------------------------------------------
次に、desktop-config という名前のユーザ作成マクロを適用し、キーワード vlan をいずれも VLAN ID 25 に置換する例を示します。
Router(config-if)# macro apply desktop-config vlan 25