この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
コントロール プレーン ポリシング(CoPP)はコントロール プレーンを保護し、それをデータ プレーンから分離することによって、ネットワークの安定性、到達可能性、およびパケット配信を保証します。
この機能により、コントロール プレーンにポリシー マップを適用できるようになります。このポリシー マップは通常の QoS ポリシーのように見え、ルータまたはレイヤ 3 スイッチの任意の IP アドレスに宛てられたすべてのトラフィックに適用されます。ネットワーク デバイスへの一般的な攻撃ベクトルは、過剰なトラフィックがデバイス インターフェイスに転送されるサービス拒絶(DoS)攻撃です。
Cisco NX-OS デバイスは、DoS 攻撃がパフォーマンスに影響しないようにするために CoPP を提供します。このような攻撃は誤って、または悪意を持って実行される場合があり、通常は、スーパーバイザ モジュールまたは CPU 自体に宛てられた大量のトラフィックが含まれます。
スーパーバイザ モジュールは、管理対象のトラフィックを次の 3 つの機能コンポーネント(プレーン)に分類します。
スーパーバイザ モジュールには、マネージメント プレーンとコントロール プレーンの両方が搭載され、ネットワークの運用にクリティカルなモジュールです。スーパーバイザ モジュールの動作が途絶したり、スーパーバイザ モジュールが攻撃されたりすると、重大なネットワークの停止につながります。たとえばスーパーバイザに過剰なトラフィックが加わると、スーパーバイザ モジュールが過負荷になり、NX-OS デバイス全体のパフォーマンスが低下する可能性があります。またたとえば、スーパーバイザ モジュールに対する DoS 攻撃は、コントロール プレーンに対して非常に高速に IP トラフィック ストリームを生成することがあります。これにより、コントロール プレーンは、これらのパケットを処理するために大量の時間を費やしてしまい、本来のトラフィックを処理できなくなります。
次に、DoS 攻撃の例を示します。
これらの攻撃によりデバイスのパフォーマンスが影響を受け、次のようなマイナスの結果をもたらします。
サービス品質の低下(音声、ビデオ、または重要なアプリケーション トラフィックの低下など)
ルート プロセッサまたはスイッチ プロセッサの高い CPU 使用率
ルーティング プロトコルのアップデートまたはキープアライブの消失によるルート フラップ
不安定なレイヤ 2 トポロジ
CLI との低速な、または応答を返さない対話型セッション
メモリやバッファなどのプロセッサ リソースの枯渇
着信パケットの無差別のドロップ
注意 |
コントロール プレーンの保護策を講じることで、スーパーバイザ モジュールを偶発的な攻撃や悪意ある攻撃から確実に保護することが重要です。 |
コントロール プレーンを保護するために、Cisco NX-OS デバイスはコントロール プレーンに向かうさまざまなパケットを異なるクラスに分離します。クラスの識別が終わると、Cisco NX-OS デバイスはパケットをポリシングします。これにより、スーパーバイザ モジュールに過剰な負担がかからないようになります。
コントロール プレーンには、次のような異なるタイプのパケットが到達します。
これらのさまざまなパケットはすべて、コントロール プレーンへの悪意ある攻撃に利用され、Cisco NX-OS デバイスに過剰な負荷をかける可能性があります。CoPP は、これらのパケットを異なるクラスに分類し、これらのパケットをスーパーバイザが受信する速度を個別に制御するメカニズムを提供します。
効果的に保護するために、Cisco NX-OS デバイスはスーパーバイザ モジュールに到達するパケットを分類して、パケット タイプに基づいた異なるレート制御ポリシーを適用できるようにします。たとえば、Hello メッセージなどのプロトコル パケットには厳格さを緩め、IP オプションがセットされているためにスーパーバイザ モジュールに送信されるパケットには厳格さを強めることが考えられます。クラス マップとポリシー マップを使用して、パケットの分類およびレート制御ポリシーを設定します。
パケットの分類には、次のパラメータを使用できます。
パケットの分類が終わると、Cisco NX-OS デバイスにはスーパーバイザ モジュールに到達するパケットのレートを制御するメカニズムがあります。
ポリシング レートは 1 秒間あたりのパケット(PPS)という形式で指定されます。分類されたそれぞれのフローは、PPS で表すポリシング レート制限を指定することによって個別にポリシングできます。
Cisco NX-OS デバイスの初回起動時には、DoS 攻撃からスーパーバイザ モジュールを保護するためのデフォルト copp-system-policy が Cisco NX-OS ソフトウェアによってインストールされます。最初のセットアップ ユーティリティで、次のいずれかの CoPP ポリシー オプションを選択することにより、展開シナリオの CoPP ポリシー テンプレートを選択できます。
Default:レイヤ 2 およびレイヤ 3 ポリシー。CPU にバインドされているスイッチド トラフィックとルーテッド トラフィックの間で適切なポリシング バランスを提供します。
Layer 2:レイヤ 2 ポリシー。CPU にバインドされているレイヤ 2 トラフィック(たとえば BPDU)により多くのプリファレンスを与ます。
Layer 3:レイヤ 3 ポリシー。CPU にバインドされているレイヤ 3 トラフィック(たとえば、BGP、RIP、OSPF など)により多くのプリファレンスを与えます。
オプションを選択しなかった場合や、セットアップ ユーティリティを実行しなかった場合には、Cisco NX-OS ソフトウェアにより Default ポリシングが適用されます。最初はこのデフォルト ポリシーを使用し、必要に応じて CoPP ポリシーを変更することを推奨します。
デフォルトの copp-system-policy ポリシーには、基本的なデバイス操作に最も適した値が設定されています。使用する DoS に対する保護要件に適合するよう、特定のクラスやアクセス コントロール リスト(ACL)を追加する必要があります。
default、Layer 2 および Layer 3 テンプレートを切り替えるには、setup コマンドを使って設定ユーティリティを再び入力することができます。
このポリシーは、スイッチにデフォルトで適用されます。これには、ほとんどのネットワーク導入に適したポリサー レートを持つクラスが含まれています。このポリシー テンプレートを変更することはできませんが、デバイスの CoPP 設定を変更できます。セットアップ ユーティリティを実行してデフォルトの CoPP ポリシー プロファイルをセットアップすると、CoPP ポリシーに対して既に行われたすべての変更が削除されます。
このポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-policy class copp-s-default police pps 400 class copp-s-ping police pps 100 class copp-s-l3destmiss police pps 100 class copp-s-glean police pps 500 class copp-s-l3mtufail police pps 100 class copp-s-ttl1 police pps 100 class copp-s-ip-options police pps 100 class copp-s-ip-nat police pps 100 class copp-s-ipmcmiss police pps 400 class copp-s-ipmc-g-hit police pps 400 class copp-s-ipmc-rpf-fail-g police pps 400 class copp-s-ipmc-rpf-fail-sg police pps 400 class copp-s-dhcpreq police pps 300 class copp-s-dhcpresp police pps 300 class copp-s-igmp police pps 400 class copp-s-routingProto2 police pps 1300 class copp-s-eigrp police pps 200 class copp-s-pimreg police pps 200 class copp-s-pimautorp police pps 200 class copp-s-routingProto1 police pps 1000 class copp-s-arp police pps 200 class copp-s-ptp police pps 1000 class copp-s-bpdu police pps 12000 class copp-s-cdp police pps 400 class copp-s-lacp police pps 400 class copp-s-lldp police pps 200 class copp-icmp police pps 200 class copp-telnet police pps 500 class copp-ssh police pps 500 class copp-snmp police pps 500 class copp-ntp police pps 100 class copp-tacacsradius police pps 400 class copp-stftp police pps 400 class copp-ftp police pps 100 class copp-http police pps 100
このポリシー テンプレートを変更することはできませんが、デバイスの CoPP 設定を変更できます。セットアップ ユーティリティを実行してレイヤ 2 CoPP ポリシー プロファイルをセットアップすると、CoPP ポリシーに対して行われたすべての変更が削除されます。
このポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-policy class copp-s-default police pps 400 class copp-s-ping police pps 100 class copp-s-l3destmiss police pps 100 class copp-s-glean police pps 500 class copp-s-l3mtufail police pps 100 class copp-s-ttl1 police pps 100 class copp-s-ip-options police pps 100 class copp-s-ip-nat police pps 100 class copp-s-ipmcmiss police pps 400 class copp-s-ipmc-g-hit police pps 400 class copp-s-ipmc-rpf-fail-g police pps 400 class copp-s-ipmc-rpf-fail-sg police pps 400 class copp-s-dhcpreq police pps 300 class copp-s-dhcpresp police pps 300 class copp-s-igmp police pps 400 class copp-s-routingProto2 police pps 1200 class copp-s-eigrp police pps 200 class copp-s-pimreg police pps 200 class copp-s-pimautorp police pps 200 class copp-s-routingProto1 police pps 900 class copp-s-arp police pps 200 class copp-s-ptp police pps 1000 class copp-s-bpdu police pps 12300 class copp-s-cdp police pps 400 class copp-s-lacp police pps 400 class copp-s-lldp police pps 200 class copp-icmp police pps 200 class copp-telnet police pps 500 class copp-ssh police pps 500 class copp-snmp police pps 500 class copp-ntp police pps 100 class copp-tacacsradius police pps 400 class copp-stftp police pps 400 class copp-ftp police pps 100 class copp-http police pps 100
このポリシー テンプレートを変更することはできませんが、デバイスの CoPP 設定を変更できます。セットアップ ユーティリティを実行してレイヤ 3 CoPP ポリシー プロファイルをセットアップすると、CoPP ポリシーに対して行われたすべての変更が削除されます。
このポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-policy class copp-s-default police pps 400 class copp-s-ping police pps 100 class copp-s-l3destmiss police pps 100 class copp-s-glean police pps 500 class copp-s-l3mtufail police pps 100 class copp-s-ttl1 police pps 100 class copp-s-ip-options police pps 100 class copp-s-ip-nat police pps 100 class copp-s-ipmcmiss police pps 400 class copp-s-ipmc-g-hit police pps 400 class copp-s-ipmc-rpf-fail-g police pps 400 class copp-s-ipmc-rpf-fail-sg police pps 400 class copp-s-dhcpreq police pps 300 class copp-s-dhcpresp police pps 300 class copp-s-igmp police pps 400 class copp-s-routingProto2 police pps 4000 class copp-s-eigrp police pps 200 class copp-s-pimreg police pps 200 class copp-s-pimautorp police pps 200 class copp-s-routingProto1 police pps 4000 class copp-s-arp police pps 200 class copp-s-ptp police pps 1000 class copp-s-bpdu police pps 6000 class copp-s-cdp police pps 200 class copp-s-lacp police pps 200 class copp-s-lldp police pps 200 class copp-icmp police pps 200 class copp-telnet police pps 500 class copp-ssh police pps 500 class copp-snmp police pps 500 class copp-ntp police pps 100 class copp-tacacsradius police pps 400 class copp-stftp police pps 400 class copp-ftp police pps 100 class copp-http police pps 100
(注) |
copp-s-x という名前のクラスはスタティック クラスです。 ACL は、スタティックとダイナミックの両方のクラスに関連付けることができます。 |
特定のポリシーの 1 秒間あたりのパケット(PPS)の合計(ポリシーの各クラス部分の PPS の合計)の上限は、PPS のクレジット制限(PCL)の上限になります。特定のクラスの PPS が増加して PCL 超過すると、設定が拒否されます。目的の PPS を増やすには、PCL を超える PPS の分を他のクラスから減少させる必要があります。
Cisco NX-OS デバイスは、管理インターフェイス(mgmt0)をサポートしないハードウェア ベースの CoPP だけをサポートします。アウトオブバンド mgmt0 インターフェイスは CPU に直接接続するため、CoPP が実装されているインバンド トラフィック ハードウェアは通過しません。
mgmt0 インターフェイスで、ACL を設定して、特定タイプのトラフィックへのアクセスを許可または拒否することができます。
この機能には、ライセンスは必要ありません。ライセンス パッケージに含まれていない機能はすべて Cisco NX-OS システム イメージにバンドルされており、追加費用は一切発生しません。NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。
CoPP に関する注意事項と制約事項は次のとおりです。
導入のシナリオに応じてデフォルト、L2、または L3 ポリシーを選択し、観察された動作に基づいて、CoPP ポリシーを後で変更することを推奨します。
fast-reload を実行した後、トラフィックが完全に収束してから、トラフィックにおいて +/- 2 ~ 5 % の不規則性が約 30 ~ 40 秒間発生する場合は、ARP パケットに関する CoPP 値を大きくします。
CoPP のカスタマイズは継続的なプロセスです。CoPP を設定するときには、特定の環境で使用されるプロトコルや機能に加えて、サーバ環境に必要なスーパーバイザ機能を考慮する必要があります。これらのプロトコルや機能が変更されたら、CoPP を変更する必要があります。
Release 6.0(2)U6(1) の場合、write erase コマンドとリロードにより、copp-s-bfd コマンドに関して、ポリシングの 1 秒間あたりのパケット(PPS)のデフォルト値が 900 に変更されます。
CoPP を継続的にモニタすることを推奨します。ドロップが発生した場合は、CoPP がトラフィックを誤ってドロップしたのか、または誤動作や攻撃に応答してドロップしたのかを判定してください。どちらの場合も、状況を分析して、別の CoPP ポリシーを使用するか、またはカスタマイズ済み CoPP ポリシーを変更する必要があるかどうかを評価します。
Cisco NX-OS ソフトウェアは、出力 CoPP とサイレント モードをサポートしません。CoPP は入力だけでサポートされます。service-policy output copp は、コントロール プレーン インターフェイスには適用できません。
新しい CoPP ポリシーの作成はサポートされていません。
glean(キャッシュ モードのクラス デフォルトのクラス マップ)に関するハードウェア カウンタはありません。
通常モードのクラス デフォルトに関するハードウェア カウンタはありません。
MTU 障害クラス マップに関するカウンタはありません。
現時点では、BPDU、CDP、LACP、および LLDP に関してハードウェア カウンタが共有されます。
NAT に関するハードウェア カウンタはありません。
DHCPREQ/DHCPRESP に関するハードウェア カウンタはありません。
l3destmiss に関するハードウェア カウンタはありません。
TTL1 に関するハードウェア カウンタはありません。
IPMCMISS に関するハードウェア カウンタはありません。
スタティック クラス マップには match acl ステートメントを追加できません。
Release 6.0(2)U5(1) 以降では、トンネルが設定されていない場合、Cisco Nexus 3000 シリーズ スイッチは、すべてのパケットをドロップします。また、トンネルが設定されている場合でも、トンネル インターフェイスが設定されていないか、トンネル インターフェイスがシャットダウン状態のときは、パケットがドロップされます。
ポイントツーポイント トンネル(送信元と宛先):Cisco Nexus 3000 シリーズ スイッチは、feature tunnel コマンドが設定されており、着信パケットの外部送信元および宛先アドレスと一致するトンネル送信元および宛先アドレスによって設定されている使用可能なトンネル インターフェイスが存在する場合に、そのスイッチを宛先とするすべての IP-in-IP パケットのカプセル化を解除します。送信元および宛先パケットが一致しない場合またはインターフェイスがシャットダウン状態の場合は、パケットがドロップされます。
トンネルのカプセル化解除(送信元のみ):Cisco Nexus 3000 シリーズ スイッチは、feature tunnel コマンドが設定されており、着信パケットの外部宛先アドレスと一致するトンネル送信元アドレスによって設定されている使用可能なトンネル インターフェイスが存在する場合に、そのスイッチを宛先とするすべての IP-in-IP パケットのカプセル化を解除します。送信元パケットが一致しない場合またはインターフェイスがシャットダウン状態の場合は、パケットがドロップされます。
CoPP 機能をサポートしない Cisco NX-OS リリースから CoPP 機能をサポートする Cisco NX-OS リリースにアップグレードする場合は、スイッチの起動時にデフォルト ポリシーを使って CoPP が自動的にイネーブルにされます。別のポリシー(デフォルト、 l3、 l2)をイネーブルにするには、アップグレード後にセットアップ スクリプトを実行する必要があります。CoPP 保護を設定しない場合、NX-OS デバイスは DoS 攻撃に対して脆弱な状態のままになります。
CoPP 機能をサポートする Cisco NX-OS リリースから、新しいプロトコルの追加クラスを含む CoPP 機能をサポートする Cisco NX-OS リリースにアップグレードする場合は、CoPP の新しいクラスを使用可能にするためにセットアップ ユーティリティを実行する必要があります。
セットアップ スクリプトは、CPU に着信するさまざまなフローに対応するポリシング レートを変更するため、デバイスにトラフィックが発生する時間ではなく、スケジュールされたメンテナンス期間にセットアップ スクリプトを実行することを推奨します。
switch(config)# policy-map type control-plane copp-system-policy switch(config-pmap)# class copp-s-lldp switch(config-pmap-c)# police pps 500
コントロール プレーン ポリシーのコントロール プレーン クラス マップを設定する必要があります。
トラフィックを分類するには、既存の ACL に基づいてパケットを照合します。ACL キーワード permit および deny は、マッチング時には無視されます。
クラス マップ内で ACE ヒット カウンタを使用する場合は、IP ACL が設定してあることを確認します。
CoPP のポリシー マップを設定する必要があります。ポリシー マップにはポリシング パラメータを含めます。クラスのポリサーを設定しなかった場合、デフォルトの PPS をサポートします。
IPv4 パケットのポリシーを設定できます。
コントロール プレーン クラス マップが設定してあることを確認します。
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | policy-map type control-planepolicy-map-name 例: switch(config)# policy-map type control-plane copp-system-policy switch(config-pmap)# |
コントロール プレーン ポリシー マップを指定し、ポリシー マップ コンフィギュレーション モードを開始します。ポリシー マップ名は大文字と小文字が区別されます。
|
||
ステップ 3 | class {class-map-name | class} 例: switch(config-pmap)# class ClassMapA switch(config-pmap-c)# |
コントロール プレーン クラス マップ名またはクラス デフォルトを指定し、コントロール プレーン クラス コンフィギュレーション モードを開始します。 |
||
ステップ 4 | police [pps] {pps-value} [bc] burst-size [bytes | kbytes | mbytes | ms | packets | us] 例: switch(config-pmap-c)# police pps 100 bc 10 |
1 秒間あたりのパケット(PPS)およびコミット済みバースト(BC)に関するレート制限を指定します。PPS の範囲は 0 ~ 20,000 です。デフォルト PPS は 0 です。BC の範囲は 0 ~ 512000000 です。デフォルト BC サイズの単位はバイトです。 |
||
ステップ 5 | exit 例: switch(config-pmap-c)# exit switch(config-pmap)# |
ポリシー マップ クラス コンフィギュレーション モードを終了します。 |
||
ステップ 6 | exit 例: switch(config-pmap)# exit switch(config)# |
ポリシー マップ コンフィギュレーション モードを終了します。 |
||
ステップ 7 | show policy-map type control-plane [expand] [nameclass-map-name] 例: switch(config)# show policy-map type control-plane |
(任意) コントロール プレーン ポリシー マップの設定を表示します。 |
||
ステップ 8 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
コントロール プレーン ポリシー マップを設定します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | control-plane 例: switch(config) # control-plane switch(config-cp)# |
コントロール プレーン コンフィギュレーション モードを開始します。 |
ステップ 3 | exit 例: switch(config-cp)# exit switch(config)# |
コントロール プレーン コンフィギュレーション モードを終了します。 |
ステップ 4 | show running-config copp [all] 例: switch(config)# show running-config copp |
(任意) CoPP 設定を表示します。 |
ステップ 5 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。 |
CoPP の設定情報を表示するには、次の show コマンドのいずれかを入力します。
コマンド |
目的 |
---|---|
show ip access-lists [acl-name] |
CoPP の ACL を含め、システム内で設定されているすべての IPv4 ACL を表示します。 |
show class-map type control-plane [class-map-name] |
このクラス マップにバインドされている ACL を含め、コントロール プレーン クラス マップの設定を表示します。 |
show policy-map type control-plane [expand] [name policy-map-name] |
コントロール プレーン ポリシー マップと関連するクラス マップおよび PPS の値を表示します。 |
show running-config copp [all] |
実行コンフィギュレーション内の CoPP 設定を表示します。 |
show running-config aclmgr [all] |
実行コンフィギュレーションのユーザ設定によるアクセス コントロール リスト(ACL)を表示します。all オプションを使用すると、実行コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。 |
show startup-config copp [all] |
スタートアップ コンフィギュレーション内の CoPP 設定を表示します。 |
show startup-config aclmgr [all] |
スタートアップ コンフィギュレーションのユーザ設定によるアクセス コントロール リスト(ACL)を表示します。all オプションを使用すると、スタートアップ コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。 |
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# show copp status | CoPP 機能の設定ステータスを表示します。 |
次に、CoPP 設定ステータスを表示する例を示します。
switch# show copp status
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# show policy-map interface control-plane | 適用された CoPP ポリシーの一部であるすべてのクラスに関して、パケット レベルの統計情報を表示します。 |
次に、CoPP をモニタする例を示します。
switch# show policy-map interface control-plane Control Plane service-policy input: copp-system-policy class-map copp-s-default (match-any) police pps 400 , bc 0 packets HW Matched Packets 0 SW Matched Packets 0 class-map copp-s-ping (match-any) match access-group name copp-system-acl-ping police pps 100 , bc 0 packets HW Matched Packets 0 SW Matched Packets 0 ....
switch# show policy-map interface control-plane Control Plane service-policy input: copp-system-policy class-map copp-s-selfIp (match-any) police pps 500 OutPackets 268 DropPackets 0
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# show policy-map interface control-plane | (任意) 現在適用されている CoPP ポリシーおよびクラスごとの統計情報を表示します。 |
ステップ 2 | switch# clear copp statistics | CoPP 統計情報をクリアします。 |
次に、インターフェース環境で、CoPP 統計情報をクリアする例を示します。
switch# show policy-map interface control-plane switch# clear copp statistics
ip access-list copp-sample-acl permit udp any any eq 3333 permit udp any any eq 4444
次に、着信パケットに適合する使用可能なトンネルが存在しない場合にすべての IP-in-IP(プロトコル 4)パケットを即座にドロップするように CoPP ポリシーを変更する例を示します。次の例に示すように、デフォルトの copp-s-selfip ポリシーの前に copp-s-ipinip を作成します。
ip access-list copp-s-ipinip 10 permit 4 any any class-map type control-plane match-any copp-s-ipinip match access-group name copp-s-ipinip policy-map type control-plane copp-system-policy class copp-s-ipinip police pps 0 class copp-s-selfIp police pps 500 class copp-s-default police pps 400
次に、CoPP の新規クラスおよび関連する ACL を作成する例を示します。
class-map type control-plane copp-sample-class match access-group name copp-sample-acl
次に、CoPP ポリシーにクラスを追加する例を示します。
policy-map type control-plane copp-system-policy Class copp-sample-class Police pps 100
次に、既存のクラス(copp-s-bpdu)の PPS を変更する例を示します。
policy-map type control-plane copp-system-policy Class copp-s-bpdu Police pps <new_pps_value>
class-map type control-plane copp-s-eigrp match access-grp name copp-system-acl-eigrp6
policy-map type control-plane copp-system-policy class copp-s-eigrp police pps 100
ARP ACL では ARP TCAM を使用します。この TCAM のデフォルト サイズは 0 です。ARP ACL を CoPP で使用するには、その前に、この TCAM をゼロ以外のサイズに切り分ける必要があります。
hardware profile tcam region arpacl 128 copy running-config startup-config reload
arp access-list copp-arp-acl permit ip 20.1.1.1 255.255.255.0 mac any
ARP ACL をクラスに関連付けて、CoPP ポリシーにそのクラスを追加する手順は、IP ACL の場合の手順と同じです。
class-map type control-plane copp-sample-class match access-group name copp-arp-acl
policy-map type control-plane copp-system-policy no class-abc
no class-map type control-plane copp-abc
policy-map type control-plan copp-system-policy class copp-ping insert-before copp-icmp
次に、ACL、クラス、ポリシー、および個別のクラス ポリシングの CoPP の設定例を示します。
IP access list copp-system-acl-eigrp 10 permit eigrp any 224.0.0.10/32 IP access list copp-system-acl-icmp 10 permit icmp any any IP access list copp-system-acl-igmp 10 permit igmp any any IP access list copp-system-acl-ntp 10 permit udp any any eq ntp 20 permit udp any eq ntp any IP access list copp-system-acl-pimreg 10 permit pim any any IP access list copp-system-acl-ping 10 permit icmp any any echo 20 permit icmp any any echo-reply IP access list copp-system-acl-routingproto1 10 permit tcp any gt 1024 any eq bgp 20 permit tcp any eq bgp any gt 1024 30 permit udp any 224.0.0.0/24 eq rip 40 permit tcp any gt 1024 any eq 639 50 permit tcp any eq 639 any gt 1024 70 permit ospf any any 80 permit ospf any 224.0.0.5/32 90 permit ospf any 224.0.0.6/32 IP access list copp-system-acl-routingproto2 10 permit udp any 224.0.0.0/24 eq 1985 20 permit 112 any 224.0.0.0/24 IP access list copp-system-acl-snmp 10 permit udp any any eq snmp 20 permit udp any any eq snmptrap IP access list copp-system-acl-ssh 10 permit tcp any any eq 22 20 permit tcp any eq 22 any IP access list copp-system-acl-stftp 10 permit udp any any eq tftp 20 permit udp any any eq 1758 30 permit udp any eq tftp any 40 permit udp any eq 1758 any 50 permit tcp any any eq 115 60 permit tcp any eq 115 any IP access list copp-system-acl-tacacsradius 10 permit tcp any any eq tacacs 20 permit tcp any eq tacacs any 30 permit udp any any eq 1812 40 permit udp any any eq 1813 50 permit udp any any eq 1645 60 permit udp any any eq 1646 70 permit udp any eq 1812 any 80 permit udp any eq 1813 any 90 permit udp any eq 1645 any 100 permit udp any eq 1646 any IP access list copp-system-acl-telnet 10 permit tcp any any eq telnet 20 permit tcp any any eq 107 30 permit tcp any eq telnet any 40 permit tcp any eq 107 any IP access list copp-system-dhcp-relay 10 permit udp any eq bootps any eq bootps IP access list test statistics per-entry 10 permit ip 1.2.3.4/32 5.6.7.8/32 [match=0] 20 permit udp 11.22.33.44/32 any [match=0] 30 deny udp 1.1.1.1/32 any [match=0] class-map type control-plane match-any copp-icmp match access-group name copp-system-acl-icmp class-map type control-plane match-any copp-ntp match access-group name copp-system-acl-ntp class-map type control-plane match-any copp-s-arp class-map type control-plane match-any copp-s-bfd class-map type control-plane match-any copp-s-bpdu class-map type control-plane match-any copp-s-dai class-map type control-plane match-any copp-s-default class-map type control-plane match-any copp-s-dhcpreq match access-group name copp-system-acl-dhcps6 class-map type control-plane match-any copp-s-dhcpresp match access-group name copp-system-acl-dhcpc6 match access-group name copp-system-dhcp-relay class-map type control-plane match-any copp-s-eigrp match access-group name copp-system-acl-eigrp match access-group name copp-system-acl-eigrp6 class-map type control-plane match-any copp-s-glean class-map type control-plane match-any copp-s-igmp match access-group name copp-system-acl-igmp class-map type control-plane match-any copp-s-ipmcmiss class-map type control-plane match-any copp-s-l2switched class-map type control-plane match-any copp-s-l3destmiss class-map type control-plane match-any copp-s-l3mtufail class-map type control-plane match-any copp-s-l3slowpath class-map type control-plane match-any copp-s-pimautorp class-map type control-plane match-any copp-s-pimreg match access-group name copp-system-acl-pimreg class-map type control-plane match-any copp-s-ping match access-group name copp-system-acl-ping class-map type control-plane match-any copp-s-ptp class-map type control-plane match-any copp-s-routingProto1 match access-group name copp-system-acl-routingproto1 match access-group name copp-system-acl-v6routingproto1 class-map type control-plane match-any copp-s-routingProto2 match access-group name copp-system-acl-routingproto2 class-map type control-plane match-any copp-s-selfIp class-map type control-plane match-any copp-s-ttl1 class-map type control-plane match-any copp-s-v6routingProto2 match access-group name copp-system-acl-v6routingProto2 class-map type control-plane match-any copp-snmp match access-group name copp-system-acl-snmp class-map type control-plane match-any copp-ssh match access-group name copp-system-acl-ssh class-map type control-plane match-any copp-stftp match access-group name copp-system-acl-stftp class-map type control-plane match-any copp-tacacsradius match access-group name copp-system-acl-tacacsradius class-map type control-plane match-any copp-telnet match access-group name copp-system-acl-telnet policy-map type control-plane copp-system-policy class copp-s-selfIp police pps 500 class copp-s-default police pps 400 class copp-s-l2switched police pps 200 class copp-s-ping police pps 100 class copp-s-l3destmiss police pps 100 class copp-s-glean police pps 500 class copp-s-l3mtufail police pps 100 class copp-s-ttl1 police pps 100 class copp-s-ipmcmiss police pps 400 class copp-s-l3slowpath police pps 100 class copp-s-dhcpreq police pps 300 class copp-s-dhcpresp police pps 300 class copp-s-dai police pps 300 class copp-s-igmp police pps 400 class copp-s-routingProto2 police pps 1300 class copp-s-v6routingProto2 police pps 1300 class copp-s-eigrp police pps 200 class copp-s-pimreg police pps 200 class copp-s-pimautorp police pps 200 class copp-s-routingProto1 police pps 1000 class copp-s-arp police pps 200 class copp-s-ptp police pps 1000 class copp-s-bfd police pps 350 class copp-s-bpdu police pps 12000 class copp-icmp police pps 200 class copp-telnet police pps 500 class copp-ssh police pps 500 class copp-snmp police pps 500 class copp-ntp police pps 100 class copp-tacacsradius police pps 400 class copp-stftp police pps 400 control-plane service-policy input copp-system-policy
セットアップ ユーティリティを使用して、デフォルト CoPP ポリシーを変更または再適用する例を次に示します。
switch# setup ---- Basic System Configuration Dialog ---- This setup utility will guide you through the basic configuration of the system. Setup configures only enough connectivity for management of the system. *Note: setup is mainly used for configuring the system initially, when no configuration is present. So setup always assumes system defaults and not the current system configuration values. Press Enter at anytime to skip a dialog. Use ctrl-c at anytime to skip the remaining dialogs. Would you like to enter the basic configuration dialog (yes/no): yes Create another login account (yes/no) [n]: n Configure read-only SNMP community string (yes/no) [n]: n Configure read-write SNMP community string (yes/no) [n]: n Enter the switch name : switch Continue with Out-of-band (mgmt0) management configuration? (yes/no) [y]: n Configure the default gateway for mgmt? (yes/no) [y]: n Enable the telnet service? (yes/no) [n]: y Enable the ssh service? (yes/no) [y]: n Configure the ntp server? (yes/no) [n]: n Configure CoPP System Policy Profile ( default / l2 / l3 ) [default]: l2 The following configuration will be applied: switchname switch telnet server enable no ssh server enable policy-map type control-plane copp-system-policy ( l2 ) Would you like to edit the configuration? (yes/no) [n]: n Use this configuration and save it? (yes/no) [y]: y [########################################] 100%