この章では、Catalyst 3750スイッチにポートベースのトラフィック制御機能を設定する方法について説明します。特に明記しないかぎり、 スイッチ という用語はスタンドアロン スイッチおよびスイッチ スタックを意味します。
ストーム制御の設定
ストーム制御の概要
ストーム制御は、LAN上のスイッチ ポートが、いずれかの物理インターフェイスのブロードキャスト、マルチキャスト、またはユニキャストのストームによって混乱しないようにします。LANストームは、パケットがLANにフラッディングした場合に発生するもので、過剰なトラフィックが生み出され、ネットワーク パフォーマンスが低下します。プロトコル スタックの実装やネットワーク構成でのエラーが、ストームの原因となります。
ストーム制御(トラフィック抑制)は、一定時間にわたる着信トラフィック統計情報をモニタし、あらかじめ定義された抑制スレッシュホールドと計測値を比較します。このスレッシュホールドは、ポートで利用可能な総帯域幅に対する割合を表します。スイッチは、ブロードキャスト、マルチキャスト、およびユニキャスト トラフィックのストーム制御スレッシュホールドを個別にサポートします。あるトラフィック タイプがスレッシュホールドに達すると、着信トラフィックがスレッシュホールド レベルを下回るまで、そのタイプのトラフィックは抑制されます。
ストーム制御がイネーブルの場合、スイッチはインターフェイスからスイッチング バスへ流れるパケットをモニタし、そのパケットがユニキャスト、マルチキャスト、ブロードキャストのいずれであるかを判別します。スイッチは、受信したユニキャスト、マルチキャスト、またはブロードキャストの数を200ミリ秒以内のタイム インターバルでモニタし、あるタイプのトラフィックがスレッシュホールドに達すると、そのタイプのトラフィックを廃棄します。このスレッシュホールドは、ブロードキャスト(マルチキャストまたはユニキャスト)トラフィックが利用可能な総帯域幅に対する割合として指定します。
ブロードキャスト ストーム制御の例 のグラフは、一定時間におけるインターフェイス上のブロードキャスト トラフィック パターンを示しています。この例は、マルチキャストおよびユニキャスト トラフィックにも適用できます。この例では、転送されているブロードキャスト トラフィックが、タイム インターバルT1〜T2間およびT4〜T5間で設定されたスレッシュホールドを上回っています。特定のトラフィックの量がスレッシュホールドを上回ると、そのタイプのすべてのトラフィックは次の一定時間にわたり、廃棄されます。したがって、ブロードキャスト トラフィックはT2およびT5のあとのインターバルではブロックされています。次のタイム インターバル(たとえばT3)では、ブロードキャスト トラフィックがスレッシュホールドを上回らなければ、再度転送されます。
ストーム制御抑制レベルと200ミリ秒のタイム インターバルの組み合わせにより、ストーム制御アルゴリズムの動作を制御します。スレッシュホールドが高いほど、通過できるパケットが多くなります。スレッシュホールドの値が100%であれば、トラフィックに対する制限はありません。値が0.0であれば、ポートのブロードキャスト、マルチキャスト、またはユニキャスト トラフィックがすべてブロックされます。
スイッチは、ポートのトラフィックを引き続きモニタし、利用率がスレッシュホールド レベルを下回ると、廃棄されていたトラフィック タイプの転送を再開します。
各トラフィック タイプのスレッシュホールドの値を設定するには、 storm-control インターフェイス コンフィギュレーション コマンドを使用します。
ストーム制御のデフォルト設定
デフォルトでは、スイッチ インターフェイスでユニキャスト、ブロードキャスト、およびマルチキャスト ストーム制御はディセーブルです(抑制レベルは100%です)。
ストーム制御のイネーブル化
インターフェイスのストーム制御をイネーブルにして、利用可能な総帯域幅のうち、特定タイプのトラフィックに使用する割合を入力します。100%と入力するとすべてのトラフィックが許可されます。ただし、ハードウェアの制約や、さまざまなサイズのパケットがカウントされる動作のため、スレッシュホールドの割合には誤差が生じます。着信トラフィックを構成するパケットのサイズによっては、実際のスレッシュホールドは、数パーセント程度、設定されたレベルと異なる場合があります。
ストーム制御をディセーブルにするには、 no storm-control broadcast level 、 no storm-control multicast level 、または no storm-control unicast level インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポート上でマルチキャスト ストーム制御レベルを70.5%に設定し、その設定を確認する方法を示します。
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# storm-control multicast level 70.5
Switch# show storm-control gigabitethernet2/0/1 multicast
Interface Filter State Level Current
--------- ------------- ------- -------
Gi2/0/1 Forwarding 70.50% 0.00%
次に、ポート上でマルチキャスト ストーム制御をディセーブルにする方法を示します。
Switch(config)# interface gigabitethernet2/0/1
Switch(config-if)# no storm-control multicast level
保護ポートの設定
一部のアプリケーションでは、同一スイッチ上のポート間でトラフィックがレイヤ2で転送されないようにすることにより、あるネイバによって生成されたトラフィックを別のネイバが認識しないようにする必要があります。このような環境では、保護ポートを使用すれば、スイッチ上のポート間でユニキャスト、ブロードキャスト、またはマルチキャスト トラフィックの交換は行われません。
- 保護ポートは、他の保護ポートにいかなるトラフィック(ユニキャスト、マルチキャスト、またはブロードキャスト)も転送しません。データ トラフィックは、レイヤ2の保護ポートの間では転送できません。PIMパケットはCPUによって処理されソフトウェアで転送されるので、制御トラフィック(PIMパケットなど)のみが転送されます。したがって、保護ポート間を通過するすべてのトラフィックは、レイヤ3デバイスを経由して転送する必要があります。
- 保護ポートと非保護ポート間の転送動作は、通常どおり行われます。
スイッチ スタックは単一の論理スイッチを表すため、スイッチ スタック内の保護ポート間では、これらのポートがスタック内の同じスイッチ上にあるか、異なるスイッチ上にあるかに関係なく、レイヤ2トラフィックは転送されません。
保護ポートのデフォルト設定
保護ポートの設定時の注意事項
保護ポートは、物理インターフェイス(ギガビット イーサネット ポート1など)またはEtherChannelグループ(port-channel 5など)のいずれにも設定できます。特定のポート チャネルについて保護ポートをイネーブルにすると、ポート チャネル グループ内の全ポートで保護ポートがイネーブルになります。
保護ポートの設定
|
インターフェイス コンフィギュレーション モードを開始し、設定するインターフェイスのタイプと番号を入力します(例: gigabitethernet1/0/1 )。 |
||
保護ポートをディセーブルにするには、 no switchport protected インターフェイス コンフィギュレーション コマンドを使用します。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport protected
ポート ブロッキングの設定
デフォルトでは、宛先MACアドレスが不明のパケットは、すべてのポートからフラッディングされます。不明のユニキャストおよびマルチキャスト トラフィックが保護ポートに転送されると、セキュリティ上の問題が発生することがあります。不明のユニキャストまたはマルチキャスト トラフィックがポート間で転送されないようにするため、不明のユニキャストまたはマルチキャスト パケットが他のポートにフラッディングされないようにポート(保護ポートまたは非保護ポート)をブロックできます。
ポート ブロッキングのデフォルト設定
デフォルトでは、ポートから送信される不明のマルチキャストおよびユニキャスト トラフィックのフラッディングはブロックされません。これらのトラフィックは、すべてのポートにフラッディングされます。
インターフェイスでのフラッディング トラフィックのブロック
インターフェイスから送信されるマルチキャストおよびユニキャスト パケットのフラッディングをディセーブルにするには、イネーブルEXECモードで次の手順を実行します。
トラフィックがブロックされず、ポート上で標準転送が行われるデフォルト状態にインターフェイスを戻すには、 no switchport block { multicast | unicast }インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポート上でユニキャストおよびマルチキャスト フラッディングをブロックする例を示します。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport block multicast
Switch(config-if)# switchport block unicast
ポート セキュリティの設定
ポート セキュリティ機能を使用すると、ポートへのアクセスが許可されたステーションのMACアドレスを制限および識別して、インターフェイスへの入力を制限できます。セキュア ポートにセキュアMACアドレスを割り当てると、ポートは、定義されたアドレス グループ以外の送信元アドレスを持つパケットを転送しません。セキュアMACアドレスを1つに制限し、1つだけ割り当てると、そのポートに接続されたワークステーションでは、ポートの全帯域幅が保証されます。
セキュア ポートとして設定されたポートのセキュアMACアドレスが最大数に達した場合に、ポートにアクセスしようとするステーションのMACアドレスが、識別されたどのセキュアMACアドレスとも異なるときは、セキュリティ違反が発生します。また、あるセキュア ポートで設定または学習されたセキュアMACアドレスを持つステーションが別のセキュア ポートにアクセスしようとすると、違反のフラグが立てられます。
ここでは、ポート セキュリティの設定および手順について説明します。
- ポート セキュリティの概要
- ポート セキュリティのデフォルト設定
- 設定時の注意事項
- ポート セキュリティのイネーブル化と設定
- ポート セキュリティ エージングのイネーブル化と設定
- ポート セキュリティおよびスイッチ スタック
ポート セキュリティの概要
セキュアMACアドレス
1つのポートで許可されるセキュア アドレスの最大数を設定するには、 switchport port-security maximum value インターフェイス コンフィギュレーション コマンドを使用します。
スイッチは、次のタイプのセキュアMACアドレスをサポートします。
- スタティック セキュアMACアドレス ― switchport port-security mac-address mac-address インターフェイス コンフィギュレーション コマンドを使用して手動で設定されます。これらはアドレス テーブルに格納され、スイッチの実行コンフィギュレーションに追加されます。
- ダイナミック セキュアMACアドレス ― 動的に設定されます。これらはアドレス テーブルにのみ格納され、スイッチが再起動するときに削除されます。
- 固定 セキュアMACアドレス ― 動的に学習されるか、または手動で設定されます。これらはアドレス テーブルに格納され、実行コンフィギュレーションに追加されます。これらのアドレスがコンフィギュレーション ファイルに保存されている場合は、スイッチを再起動するときに、インターフェイスがアドレスを動的に再設定する必要はありません。
固定学習 をイネーブルにすると、ダイナミックMACアドレスを固定セキュアMACアドレスに変換し、それらを実行コンフィギュレーションに追加するように、インターフェイスを設定することができます。固定学習をイネーブルにするには、 switchport port-security mac-address sticky インターフェイス コンフィギュレーション コマンドを入力します。このコマンドを入力すると、インターフェイスはすべてのダイナミック セキュアMACアドレス(固定学習がイネーブルになる前に動的に学習されたアドレスを含む)を、固定セキュアMACアドレスに変換します。すべての固定セキュアMACアドレスが、実行コンフィギュレーションに追加されます。
固定セキュアMACアドレスは、コンフィギュレーション ファイル(スイッチの再起動時に使用されるスタートアップ コンフィギュレーション)に、自動的には格納されません。コンフィギュレーション ファイルに固定セキュアMACアドレスが保存されている場合は、スイッチを再起動するときに、インターフェイスはこれらのアドレスを再学習する必要がありません。固定セキュア アドレスは、保存しないと失われます。
固定学習がディセーブルの場合、固定セキュアMACアドレスはダイナミック セキュア アドレスに変換されて、実行コンフィギュレーションから削除されます。
スイッチ スタックに設定できるセキュアMACアドレスの最大数は、システムで許可されているMACアドレスの最大数によって決まります。この値は、アクティブなSDMテンプレートによって決まります。 SDMテンプレートの設定 を参照してください。この値は、使用可能なMACアドレス(その他のレイヤ2機能やインターフェイスに設定されたその他のセキュアMACアドレスで使用されるMACアドレスを含む)の総数を表します。
セキュリティ違反
セキュリティ違反とは、次のいずれかの状況が発生したときです。
- セキュアMACアドレスが最大数までアドレス テーブルに追加され、アドレス テーブルにないMACアドレスを持つステーションが、インターフェイスにアクセスしようとした場合。
- あるセキュア インターフェイスで学習または設定されたアドレスが、同一VLAN内の別のセキュア インターフェイスで認識された場合。
違反発生時の対処方法に関して、次の3つの違反モードのいずれかにインターフェイスを設定できます。
- protect ― セキュアMACアドレスの数がポートに許容された最大限度に達した場合、十分な数のセキュアMACアドレスを削除して最大限度以下にするか、またはアドレスの最大許容数を増やすまで、不明の送信元アドレスを持つパケットは廃棄されます。セキュリティ違反が起こっても、ユーザには通知されません。
- restrict ― セキュアMACアドレスの数がポートに許容された最大限度に達した場合、十分な数のセキュアMACアドレスを削除して最大限度以下にするか、またはアドレスの最大許容数を増やすまで、不明の送信元アドレスを持つパケットは廃棄されます。このモードでは、セキュリティ違反が起こった場合、ユーザに通知されます。SNMPトラップが送信され、Syslogメッセージが記録されて、違反カウンタが増加します。
- shutdown ― ポート セキュリティ違反が発生すると、インターフェイスはerrdisableステートになって、ただちにシャットダウンし、ポートLEDが消灯します。SNMPトラップが送信され、Syslogメッセージが記録されて、違反カウンタが増加します。セキュア ポートがerrdisableステートになった場合は、 errdisable recovery cause psecure-violation グローバル コンフィギュレーション コマンドを入力してこのステートを変更することができます。また、 shutdown および no shut down インターフェイス コンフィギュレーション コマンドを入力することにより、ポートを手動でイネーブルに戻すこともできます。デフォルトはこのモードに設定されています。
セキュリティ違反モードの動作 に、違反モード、およびポート セキュリティのインターフェイスを設定した場合の動作を示します。
|
トラフィックの転送 1 |
エラー メッセージの表示 2 |
|||||
|---|---|---|---|---|---|---|
ポート セキュリティのデフォルト設定
ポート セキュリティのデフォルト設定 に、インターフェイスに対するポート セキュリティのデフォルト設定を示します。
設定時の注意事項
ポート セキュリティの設定時は、次の注意事項に従ってください。
- ポート セキュリティを設定できるのは、スタティック アクセス ポートまたはトランク ポートに限られます。セキュア ポートはダイナミック アクセス ポートにできません。
- セキュア ポートは、Switched Port Analyzer(SPAN;スイッチド ポート アナライザ)の宛先ポートにできません。
- セキュア ポートは、Fast EtherChannelやGigabit EtherChannelポート グループに属すことができません。
- 音声VLANでは、スタティック セキュアMACアドレスまたは固定セキュアMACアドレスを設定できません。
- インターフェイス上でポート セキュリティをイネーブルにし、さらに音声VLANを使用するようにも設定する場合は、ポートで許可されるセキュア アドレスの最大数を、アクセスVLANで許可されているセキュア アドレスの最大数に2を加えた値に設定する必要があります。ポートがCisco IP Phoneに接続されている場合は、IP PhoneにMACアドレスが最大で2つ必要です。IP Phoneアドレスは音声VLAN上で学習されますが、アクセスVLAN上で学習される場合もあります。PCをIP Phoneに接続するには、さらにMACアドレスが必要になります。
- アクセスVLAN上でいずれかのタイプのポート セキュリティがイネーブルの場合は、音声VLAN上でダイナミック ポート セキュリティが自動的にイネーブルになります。VLAN単位でポート セキュリティを設定することはできません。
- 固定セキュア ポートとして設定されたセキュア ポートに音声VLANが設定されている場合、音声VLANのすべてのアドレスはダイナミック セキュア アドレスとして学習されます。また、ポートが属するアクセスVLANで認識されるすべてのアドレスは、固定セキュア アドレスとして学習されます。
- インターフェイスのセキュア アドレスの最大値として入力した値が古い値よりも大きい場合は、新しい値が古い設定値よりも優先します。新しい値が古い値よりも小さく、インターフェイスに設定されたセキュア アドレス数が新しい値を超えている場合、コマンドは拒否されます。
- スイッチでは、固定セキュアMACアドレスのポート セキュリティ エージングをサポートしません。
ポート セキュリティのイネーブル化と設定
ポートへのアクセスが許可されたステーションのMACアドレスを制限および識別する方法でインターフェイスへの入力を制限するには、イネーブルEXECモードで次の手順を実行します。
|
インターフェイス スイッチポート モードをaccessまたはtrunkに設定します。デフォルト モード(dynamic auto)のインターフェイスは、セキュア ポートとして設定できません。 |
||
|
switchport port-security maximum value [ vlan [ vlan-list ]] |
(任意)インターフェイスについてセキュアMACアドレスの最大数を設定します。スイッチ スタックに設定できるセキュアMACアドレスの最大数は、システムで許可されているMACアドレスの最大数によって決まります。この値は、アクティブなSDMテンプレートによって決まります。 SDMテンプレートの設定 を参照してください。この値は、使用可能なMACアドレス(その他のレイヤ2機能やインターフェイスに設定されたその他のセキュアMACアドレスで使用されるMACアドレスを含む)の総数を表します。 (任意)トランク ポートの場合は、VLANにセキュアMACアドレスの最大数を設定できます。 vlan キーワードを入力しない場合は、デフォルト値が使用されます。 |
|
|
switchport port-security violation { protect | restrict | shutdown } |
(任意)違反モード(セキュリティ違反検出時の対処方法)を次のいずれかで設定します。
errdisable recovery cause psecure-violation グローバル コンフィギュレーション コマンドを使用することにより、ステートを変更することができます。また、 shutdown および no shut down インターフェイス コンフィギュレーション コマンドを入力することにより、手動でポートをイネーブルに戻すこともできます。
|
|
|
switchport port-security mac-address mac-address [ vlan vlan-id ] |
(任意)インターフェイスのセキュアMACアドレスを入力します。このコマンドを使用してセキュアMACアドレスの最大数を入力できます。最大数より少ないセキュアMACアドレス数を設定すると、残りのMACアドレスは動的に学習されます。 (任意)トランク ポートでは、VLAN IDおよびMACアドレスを指定できます。VLAN IDを指定しないと、ネイティブVLANが使用されます。 |
|
|
(任意)固定セキュアMACアドレスを入力します。必要に応じて、このコマンドを繰り返し入力します。設定したセキュアMACアドレス数が最大値より小さい場合、残りのMACアドレスは動的に学習され、固定セキュアMACアドレスに変換され、実行コンフィギュレーションに追加されます。 |
||
インターフェイスをデフォルトの非セキュア ポートに戻すには、 no switchport port-security インターフェイス コンフィギュレーション コマンドを使用します。固定学習がイネーブルの場合にこのコマンドを入力すると、固定学習アドレスは実行コンフィギュレーション内に残りますが、アドレス テーブルからは削除されます。ここで、すべてのアドレスが動的に学習されます。
インターフェイスのセキュアMACアドレス数をデフォルトに戻すには、 no switchport port-security maximum value インターフェイス コンフィギュレーション コマンドを使用します。違反モードをデフォルトのshutdownモードに戻すには、 no switchport port-security violation { protocol | restrict } インターフェイス コンフィギュレーション コマンドを使用します。
固定学習をディセーブルにするには、 no switchport port-security mac-address sticky インターフェイス コンフィギュレーション コマンドを実行します。インターフェイスは固定セキュアMACアドレスをダイナミック セキュア アドレスに変換します。ただし、固定MACアドレスを含む設定がすでに保存されている場合は、 no switchport port-security mac-address sticky コマンドを入力したあとに再び設定を保存する必要があります。保存しない場合スイッチを再起動すると固定アドレスが復元されます。
アドレス テーブルから特定のセキュアMACアドレスを削除するには、 no switchport port-security mac-address mac-address インターフェイス コンフィギュレーション コマンドを使用します。
アドレス テーブルから特定のインターフェイスに関するダイナミック セキュア アドレスを削除するには、 no switchport port-security インターフェイス コンフィギュレーション コマンドのあとに、 switchport port-security コマンドを入力して、インターフェイスのポート セキュリティをイネーブルに戻します。 no switchport port-security mac-address sticky インターフェイス コンフィギュレーション コマンドを使用して、固定セキュアMACアドレスをダイナミック セキュアMACアドレスに変換してから、 no switchport port-security コマンドを入力すると、手動で設定されたセキュア アドレスを除き、インターフェイス上のすべてのセキュア アドレスが削除されます。
no switchport port-security mac-address mac-address インターフェイス コンフィギュレーション コマンドを使用して、アドレス テーブルから設定済みのセキュアMACアドレスを削除する必要があります。
次に、ポートでポート セキュリティをイネーブルにし、セキュア アドレスの最大数を50に設定する例を示します。違反モードはデフォルト設定、スタティック セキュアMACアドレスは設定なし、固定学習はイネーブルにします。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 50
Switch(config-if)# switchport port-security mac-address sticky
次に、ポートのVLAN 3にスタティック セキュアMACアドレスを設定する例を示します。
Switch(config)# interface gigabitethernet1/0/2
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security mac-address 0000.02000.0004 vlan 3
ポート セキュリティ エージングのイネーブル化と設定
ポート セキュリティ エージングを使用すると、ポート上の全セキュア アドレスにエージング タイムを設定できます。ポートごとに2種類のエージングがサポートされています。
- absolute ― ポートのセキュア アドレスは、指定のエージング タイムの経過後、削除されます。
- inactivity ― ポートのセキュア アドレスが削除されるのは、指定したエージング タイムの間、そのセキュア アドレスが非アクティブであった場合だけです。
この機能を使用すると、既存のセキュアMACアドレスを手動で削除しなくても、セキュア ポートでデバイスの削除や追加を実行でき、しかもポートのセキュア アドレスの数を制限することができます。また、セキュア アドレスのエージングをポート単位でイネーブルまたはディセーブルに設定することができます。
ポート上のすべてのセキュア アドレスに対してポート セキュリティ エージングをディセーブルにするには、no switchport port-security aging time インターフェイス コンフィギュレーション コマンドを使用します。スタティックに設定されたセキュア アドレスに対してだけエージングをディセーブルにするには、no switchport port-security aging static インターフェイス コンフィギュレーション コマンドを使用します。
次に、ポートのセキュア アドレスのエージング タイムを2時間に設定する例を示します。
Switch(config)# interface gigabitethernet1/0/1
Switch(config-if)# switchport port-security aging time 120
次に、このインターフェイスに設定されたセキュア アドレスのエージングをイネーブルにし、エージング タイプをinactivityに、エージング タイムを2分に設定する例を示します。
Switch(config-if)# switchport port-security aging time 2
Switch(config-if)# switchport port-security aging type inactivity
Switch(config-if)# switchport port-security aging static
設定したコマンドを確認するには、 show port-security interface interface-id イネーブルEXECコマンドを入力します。
ポート セキュリティおよびスイッチ スタック
スタックに新規に加入したスイッチは、設定済みのセキュア アドレスを取得します。他のスタック メンバーから新しいスタック メンバーに、ダイナミック セキュア アドレスがすべてダウンロードされます。
スイッチ(スタック マスターまたはスタック メンバーのいずれか)がスタックから脱退すると、残りのスタック メンバーに通知されて、そのスイッチによって設定または学習されたセキュアMACアドレスがセキュアMACアドレス テーブルから削除されます。スイッチ スタックの詳細については、 スイッチ スタックの管理 を参照してください。
ポートベースのトラフィック制御設定の表示
show interfaces interface-id switchport イネーブルEXECコマンドを使用すると、(各種の特性とともに)インターフェイスのトラフィック抑制および制御の設定が表示されます。 show interfaces counters イネーブルEXECコマンドを使用すると、廃棄されたパケット数が表示されます。 show storm control および show port-security イネーブルEXECコマンドを使用すると、それぞれストーム制御とポート セキュリティ設定が表示されます。
トラフィック制御情報を表示するには、 トラフィック制御のステータスおよび設定表示用のコマンド に示すイネーブルEXECコマンドを1つまたは複数使用します。
