Auto SmartPort マクロとスタティック SmartPort マクロの概要
Auto SmartPort マクロは、ポート上で検出されたデバイス タイプに基づいて動的にポートを設定します。スイッチは、ポート上で新しいデバイスを検出すると、そのポートに適切な Auto SmartPort マクロを適用します。ポート上でリンクダウン イベントが発生すると、スイッチはマクロを削除します。たとえば、ポートに Cisco IP Phone を接続すると、IP phone マクロが Auto SmartPort によって自動的に適用されます。IP phone マクロは、遅延に影響されやすい音声トラフィックを適切に処理するため、Quality of Service(QoS)、セキュリティ機能、および専用音声 VLAN をイネーブルにします。
Auto SmartPort マクロに加えて、ポートに接続されたデバイスに応じて手動で適用するポート設定を提供する スタティック SmartPort マクロがあります。スタティック SmartPort マクロを適用すると、マクロ内の CLI コマンドが既存のポート設定に追加されます。ポート上でリンクダウン イベントが発生しても、スイッチはスタティック マクロを削除しません。
Auto SmartPort は、 イベント トリガ を使ってデバイスをマクロにマップします。最も一般的なイベント トリガは、接続されたデバイスから受信した Cisco Discovery Protocol(CDP)メッセージに基づいています。デバイスを検出すると、CDP イベント トリガが起動します(Cisco IP Phone、Cisco ワイヤレス アクセス ポイント、Cisco スイッチ、または Cisco ルータ)。その他のイベント トリガは、MAC 認証バイパス(MAB)と 802.1x 認証メッセージを使用します。
スイッチ ソフトウェアに組み込まれた Auto SmartPort マクロは、CLI コマンドのグループです。ポートで検出された CISCO_PHONE イベントがトリガとなって、CISCO_PHONE_AUTO_SMARTPORT マクロのコマンドがスイッチに適用されます。Cisco IOS のスクリプト機能を使ってユーザ定義マクロを作成することもできます。このスクリプト機能では、BASH ライクな言語構文を使ってコマンドを自動化したり変数を置換したりできます。
Auto SmartPort の設定
• 「デフォルトの Auto SmartPort の設定」
• 「Auto SmartPort 設定時の注意事項」
• 「Auto SmartPort のイネーブル化」
• 「Auto SmartPort 組み込みマクロの設定」
• 「イベント トリガの設定」
• 「ユーザ定義の Auto SmartPort マクロの設定」
デフォルトの Auto SmartPort の設定
• Auto SmartPort はディセーブルに設定されています。
• Cisco IOS シェルはイネーブルに設定されています。
表 12-1 に、スイッチ ソフトウェアに組み込まれた Auto SmartPort 組み込みマクロを示します。
表 12-1 Auto SmartPort 組み込みマクロ
|
|
CISCO_PHONE_AUTO_ SMARTPORT |
Cisco IP Phone 用の IP Phone マクロを適用するには、このマクロを使用します。ポート上の QoS、ポート セキュリティ、Address Resolution Protocol(ARP; アドレス解決プロトコル)インスペクション(ダイナミック ARP インスペクション)、IP ソース ガード、DHCP スヌーピング、ストーム制御、およびスパニングツリー保護をイネーブルにします。 |
CISCO_SWITCH_AUTO_ SMARTPORT |
Cisco スイッチ用のスイッチ マクロを適用するには、このマクロを使用します。ポート上のトランキングをイネーブルにします。 |
CISCO_ROUTER_AUTO_ SMARTPORT |
Cisco ルータ用のルータ マクロを適用するには、このマクロを使用します。ポート上の QoS、トランキング、およびスパニングツリー保護をイネーブルにします。 |
CISCO_AP_AUTO_ SMARTPORT |
Cisco AP 用のワイヤレス アクセス ポイント マクロを適用するには、このマクロを使用します。ポート上の Autonomous ワイヤレス アクセス ポイントのサポートと QoS をイネーブルにします。 |
CISCO_LWAP_AUTO_ SMARTPORT |
Cisco Lightweight ワイヤレス AP 用の Lightweight ワイヤレス アクセス ポイント マクロを適用するには、このマクロを使用します。ポート上の QoS、ポート セキュリティ、ダイナミック ARP インスペクション、IP ソース ガード、DHCP スヌーピング、ストーム制御、およびスパニングツリー保護をイネーブルにします。 |
CISCO_DOT1X_DESKTOP_ AUTO_SMARTPORT |
IEEE 802.1x 認証デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。セキュリティとスパニングツリー保護を含む基本的なデスクトップ設定をイネーブルにします。 |
CISCO_DOT1X_EASY_AUTO_SMARTPORT |
IEEE 802.1x 認証デスクトップ デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。802.1x、MAB、ゲスト VLAN、および認証失敗 VLAN のサポートを提供し、802.1x のタイムアウトを 3 秒に短縮します。 |
CISCO_DOT1X_MAB_ GUEST_AUTO_SMARTPORT |
802.1x、MAB、およびゲスト VLAN 認証デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。 |
CISCO_DOT1X_MAB_ TIMEOUT_AUTO_ SMARTPORT |
アグレッシブ タイムアウトが設定された 802.1x、MAB、およびゲスト VLAN 認証デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。 |
CISCO_DOT1X_AUTH_ FAIL_AUTO_SMARTPORT |
802.1x、MAB、および認証失敗 VLAN 認証デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。 |
CISCO_DOT1X_CRITICAL_ AUTO_SMARTPORT |
802.1x、MAB、およびクリティカル VLAN 認証デバイス用のデスクトップ マクロを適用するには、このマクロを使用します。 |
Auto SmartPort 設定時の注意事項
• 組み込みマクロは削除したり変更したりできません。ただし、同じ名前のユーザ定義マクロを作成することにより、組み込みマクロを上書きできます。元の組み込みマクロを復元するには、ユーザ定義マクロを削除します。
• Auto SmartPort マクロを適用するときは、システムの競合を回避するため、802.1x 認証を除くすべてのポート設定を削除してください。
• マクロが元の設定と競合すると、一部のマクロ コマンドが適用されなかったり、アンチマクロ コマンドが削除されなかったりする場合があります (アンチマクロとは、適用されたマクロに含まれ、リンクダウン時にそのマクロ自体を削除する部分です)。
たとえば、802.1x 認証がイネーブルになっている場合は、switchport mode access の設定を削除できません。switchport mode の設定を削除する前に、802.1x 認証を削除する必要があります。
• Auto SmartPort マクロを適用するときは、ポートを EtherChannel のメンバーにしないでください。
• 組み込みマクロのデフォルトのデータ VLAN は VLAN 1 です。デフォルトの音声 VLAN は VLAN 2 です。異なる VLAN をスイッチで使用する場合は、組み込みマクロのデフォルト値を変更する必要があります。組み込みマクロのデフォルト値をすべて表示するには、 show shell functions 特権 EXEC コマンドを使用します。
• 802.1x 認証または MAB の場合は、他社製のデバイスを検出するため、Cisco アトリビュート/値(AV)ペア auto-smart-port=event trigger をサポートするように RADIUS サーバを設定します。
• CDP、MAB、または 802.1x 認証をサポートしないステーショナリ デバイス(ネットワーク プリンタなど)の場合は、ポート上の Auto SmartPort をディセーブルにすることを推奨します。
• ポート上で認証をイネーブルにすると、 macro auto global processing グローバル コンフィギュレーション コマンドに cdp-fallback キーワードが含まれる場合を除き、スイッチは CDP を無視します。
• CLI コマンドの順序は、マクロとアンチマクロで異なる可能性があります。
Auto SmartPort のイネーブル化
Auto SmartPort マクロをすべてのポートに自動的に適用するようにスイッチを設定するには、 macro auto global processing グローバル コンフィギュレーション コマンドを使用します。特定のポートで Auto SmartPort マクロをディセーブルにするには、インターフェイス モードで no auto global processing を使用します。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto global processing [cdp-fallback] |
スイッチ上で Auto SmartPort をグローバルにイネーブルにします。 (任意)ポートが 802.1x に対応しており、RADIUS サーバがイベント トリガを送信しないときに、スイッチが CDP 機能の情報を使用できるようにするには、 cdp-fallback キーワードを使用します。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
Auto SmartPort がイネーブルになっていることを確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
デフォルト設定に戻すには、 no macro auto global processing グローバル コンフィギュレーション コマンドを使用します。
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 組み込みマクロの設定
スイッチは、イベント トリガを組み込みマクロに自動的にマップします。組み込みマクロのデフォルト値は、スイッチ固有の値に置き換えることができます。
特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger builtin built-in macro name [parameter=value] [parameter=value] |
イベント トリガから組み込みマクロへのマッピングを定義します。 event trigger には、次のいずれかを指定します。 • CISCO_PHONE_EVENT • CISCO_SWITCH_EVENT • CISCO_ROUTER_EVENT • CISCO_WIRELESS_AP_EVENT • CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT • WORD :ユーザ定義イベント トリガを適用します。 builtin built-in macro name には、次のいずれかを指定します。 • 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) • CISCO_DOT1X_DESKTOP_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$ACCESS_VLAN=(1) • CISCO_DOT1X_EASY_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$ACCESS_VLAN=(1) • CISCO_DOT1X_MAB_GUEST_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$ACCESS_VLAN=(1) • CISCO_DOT1X_MAB_TIMEOUT_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$ACCESS_VLAN=(1) • CISCO_DOT1X_AUTH_FAIL_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$ACCESS_VLAN=(1) • CISCO_DOT1X_CRITICAL_AUTO_SMARTPORT (任意)次のパラメータ値を指定します:$CRITICAL_VLAN=(1) (任意) parameter=value :先頭に $ が付いたデフォルト値を置き換えます。<name1>=<value1> <name2>=<value2>... のように、スペースで区切られた名前/値ペアの形式で新しい値を入力します。デフォルト値をカッコで囲んで示します。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次に、2 つの組み込み Auto SmartPort マクロを使って、Cisco スイッチと Cisco IP Phone をスイッチに接続する例を示します。この例では、デフォルトの音声 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 Gi1/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
イベント トリガの設定
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_DOT1X_MAB_GUEST_AUTO_SMARTPORT にマップし、デフォルトの VLAN を VLAN 10 に置き換え、各エントリを確認する例を示します。
a. デバイスを MAB 対応のスイッチ ポートに接続します。
b. RADIUS サーバ上で、アトリビュート/値ペアを auto-smart-port =RADIUS_MAB_EVENT に設定します。
c. スイッチ上で、イベント トリガ RADIUS_MAB_EVENT を作成します。
d. スイッチは、RADIUS サーバからのアトリビュート/値ペア(RADIUS_MAB_EVENT)応答を認識し、マクロ CISCO_DOT1X_MAB_GUEST_AUTO_SMARTPORT を適用します。
Switch# configure terminal
1 行ごとに 1 つのコンフィギュレーション コマンドを指定します。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_DOT1X_DESKTOP_AUTO_SMARTPORT
CISCO_DOT1X_EASY_AUTO_SMARTPORT
CISCO_DOT1X_MAB_GUEST_AUTO_SMARTPORT
CISCO_DOT1X_MAB_TIMEOUT_AUTO_SMARTPORT
CISCO_DOT1X_AUTH_FAIL_AUTO_SMARTPORT
CISCO_DOT1X_CRITICAL_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_DOT1X_MAB_GUEST_AUTO_SMARTPORT ACCESS_VLAN=10
Switch# show shell triggers
Trigger Id: RADIUS_MAB_EVENT
Trigger description: MAC_AuthBypass Event
Trigger mapping function: CISCO_DOT1X_MAB_GUEST_AUTO_SMARTPORT
次に、 show shell triggers 特権 EXEC コマンドを使ってスイッチ ソフトウェア内のイベント トリガを表示する例を示します。
Switch# show shell triggers
Trigger Id: CISCO_PHONE_EVENT
Trigger description: Event for ip-phone macro
Trigger environment: ACCESS_VLAN=1 VOICE_VLAN=2
Trigger mapping function: CISCO_PHONE_AUTO_SMARTPORT
Trigger Id: CISCO_ROUTER_EVENT
Trigger description: Event for router macro
Trigger environment: NATIVE_VLAN=1
Trigger mapping function: CISCO_ROUTER_AUTO_SMARTPORT
Trigger Id: CISCO_SWITCH_EVENT
Trigger description: Event for switch macro
Trigger environment: NATIVE_VLAN=1
Trigger mapping function: CISCO_SWITCH_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_AP_EVENT
Trigger description: Event for Wireless Access Point macro
Trigger environment: NATIVE_VLAN=1
Trigger mapping function: CISCO_AP_AUTO_SMARTPORT
Trigger Id: CISCO_WIRELESS_LIGHTWEIGHT_AP_EVENT
Trigger description: Event for Wireless Lightweight Access Point macro
Trigger environment: NATIVE_VLAN=1
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 シェルには、ユーザ定義の SmartPort マクロを設定するための基本的なスクリプト機能が用意されています。ユーザ定義マクロには、複数の行と任意の CLI コマンドを含めることができます。マクロの中で変数置換、条件文、関数、およびトリガを定義することもできます。
ユーザ定義イベント トリガをユーザ定義マクロにマップするには、特権 EXEC モードで次の手順を実行します。
|
|
|
ステップ 1 |
configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
macro auto execute event trigger [parameter=value] { function contents } |
イベント トリガにマップするユーザ定義マクロを指定します。 { function contents } トリガに関連付けるユーザ定義マクロを指定します。波カッコの中にマクロの内容を入力します。左の波カッコから IOS シェル コマンドを開始し、右の波カッコでコマンド グループを終了します。 (任意) parameter=value : $ で始まるデフォルト値を置き換え、<name1>=<value1> <name2>=<value2>... のように、スペースで区切られた名前/値ペアの形式で新しい値を入力します。 |
ステップ 3 |
end |
特権 EXEC モードに戻ります。 |
ステップ 4 |
show running-config |
設定を確認します。 |
ステップ 5 |
copy running-config startup-config |
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次に、「Cisco Digital Media Player(DMP)」という名前のユーザ定義イベント トリガをユーザ定義マクロにマップする例を示します。
a. DMP を 802.1x または MAB 対応のスイッチ ポートに接続します。
b. RADIUS サーバ上で、アトリビュート/値ペアを auto-smart-port =CISCO_DMP_EVENT に設定します。
c. スイッチ上で、イベント トリガ CISCO_DMP_EVENT を作成し、次に示すユーザ定義マクロ コマンドを入力します。
d. スイッチは、RADIUS サーバからのアトリビュート/値ペア(CISCO_DMP_EVENT)応答を認識し、このイベント トリガに関連付けられたマクロを適用します。
Switch(config)# shell trigger CISCO_DMP_EVENT Cisco DMP player
Switch(config)# macro auto execute CISCO_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 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 |
ループ構成体 |
スタティック SmartPort マクロの設定
ここでは、スタティック SmartPort マクロを設定してイネーブルにする方法について説明します。
• 「デフォルトのスタティック SmartPort の設定」
• 「スタティック SmartPort 設定時の注意事項」
• 「スタティック SmartPort マクロの適用」
デフォルトのスタティック SmartPort の設定
スイッチ上でイネーブルになっているスタティック SmartPort マクロはありません。
表 12-4 デフォルトのスタティック SmartPort マクロ
|
|
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 |
スイッチとワイヤレス アクセス ポイントを接続する場合、このインターフェイス コンフィギュレーション マクロを使用します。 |
スタティック 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
# Basic interface - Enable data VLAN only
# Recommended value for access vlan (AVID) should not be 1
switchport access vlan $AVID
# 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
Switch(config)# interface gigabitethernet0/4
Switch(config-if)# macro apply cisco-desktop $AVID 25