この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
目次
この章の内容は、次のとおりです。
コントロール プレーン ポリシング(CoPP)はコントロール プレーンを保護し、それをデータ プレーンから分離することによって、ネットワークの安定性、到達可能性、およびパケット配信を保証します。
この機能により、コントロール プレーンにポリシー マップを適用できるようになります。 このポリシー マップは、通常の QoS ポリシーに似ており、非管理ポートからスイッチに入るすべてのトラフィックに適用されます。 ネットワーク デバイスへの一般的な攻撃ベクトルは、過剰なトラフィックがデバイス インターフェイスに転送されるサービス拒絶(DoS)攻撃です。
Cisco NX-OS デバイスは、DoS 攻撃がパフォーマンスに影響しないようにするために CoPP を提供します。 このような攻撃は誤って、または悪意を持って実行される場合があり、通常は、スーパーバイザ モジュールまたは CPU 自体に宛てられた大量のトラフィックが含まれます。
スーパーバイザ モジュールは、管理対象のトラフィックを次の 3 つの機能コンポーネント(プレーン)に分類します。
スーパーバイザ モジュールには、マネージメント プレーンとコントロール プレーンの両方が搭載され、ネットワークの運用にクリティカルなモジュールです。 スーパーバイザ モジュールの動作が途絶したり、スーパーバイザ モジュールが攻撃されたりすると、重大なネットワークの停止につながります。 たとえば、スーパーバイザに過剰なトラフィックが加わると、スーパーバイザ モジュールが過負荷になり、Cisco NX-OS デバイス全体のパフォーマンスが低下する可能性があります。 たとえば、スーパーバイザ モジュールに対する DoS 攻撃は、コントロール プレーンに対して非常に高速に IP トラフィック ストリームを生成することがあります。これにより、コントロール プレーンは、これらのパケットを処理するために大量の時間を費やしてしまい、本来のトラフィックを処理できなくなります。
DoS 攻撃の例は次のとおりです。
これらの攻撃によりデバイスのパフォーマンスが影響を受け、次のようなマイナスの結果をもたらします。
注意 |
コントロール プレーンの保護策を講じることで、スーパーバイザ モジュールを偶発的な攻撃や悪意ある攻撃から確実に保護することが重要です。 |
コントロール プレーンを保護するため、Cisco NX-OS デバイスはコントロール プレーンに向かうさまざまなパケットを異なるクラスに分離します。 クラスの識別が終わると、Cisco NX-OS デバイスはパケットをポリシングします。これにより、スーパーバイザ モジュールに過剰な負担がかからないようになります。
コントロール プレーンには、次のような異なるタイプのパケットが到達します。
これらのさまざまなパケットは、コントロール プレーンへの悪意ある攻撃に利用され、Cisco NX-OS デバイスに過剰な負荷をかける可能性があります。 CoPP は、これらのパケットを異なるクラスに分類し、これらのパケットをスーパーバイザが受信する速度を個別に制御するメカニズムを提供します。
効果的に保護するために、Cisco NX-OS デバイスはスーパーバイザ モジュールに到達するパケットを分類して、パケット タイプに基づいた異なるレート制御ポリシーを適用できるようにします。 たとえば、Hello メッセージなどのプロトコル パケットには厳格さを緩め、IP オプションがセットされているためにスーパーバイザ モジュールに送信されるパケットには厳格さを強めることが考えられます。 クラス マップとポリシー マップを使用して、パケットの分類およびレート制御ポリシーを設定します。
パケットの分類が終わると、Cisco NX-OS デバイスにはスーパーバイザ モジュールに到達するパケットのレートを制御するメカニズムがあります。 スーパーバイザ モジュールへのトラフィックのレート制御には 2 つのメカニズムを使用します。 1 つはポリシング、もう 1 つはレート制限と呼ばれるものです。
ハードウェア ポリサーを使用すると、トラフィックが所定の条件に一致する場合、または違反する場合について異なるアクションを定義できます。 このアクションには、パケットの送信、パケットのマーク付け、およびパケットのドロップがあります。
ポリシングには、次のパラメータを設定できます。
さらに、一致トラフィックおよび違反トラフィックに対して、送信またはドロップなどの異なるアクションを設定できます。
ポリシング パラメータの詳細については、『Cisco Nexus 9000 Series NX-OS Quality of Service Configuration Guide』を参照してください。
Cisco NX-OS デバイスの初回起動時に、DoS 攻撃からスーパーバイザ モジュールを保護するためのデフォルトの copp-system-p-policy-strict ポリシーが Cisco NX-OS ソフトウェアによりインストールされます。 最初のセットアップ ユーティリティで、次のいずれかの CoPP ポリシー オプションを選択することにより、保護レベルを設定できます。
オプションを選択しなかった場合や、セットアップ ユーティリティを実行しなかった場合には、strict ポリシングが適用されます。 strict ポリシーから開始し、必要に応じて、CoPP ポリシーを変更することを推奨します。
copp-system-p-policy ポリシーには、基本的なデバイス操作に最も適した値が設定されています。 使用する DoS に対する保護要件に適合するよう、特定のクラスや Access Control List(ACL; アクセス コントロール リスト)を追加する必要があります。
注意 |
skip オプションを選択し、その後に CoPP 保護を設定していない場合、Cisco NX-OS デバイスは DoS 攻撃対して脆弱な状態になります。 |
CLI プロンプトから setup コマンドを実行して再度セットアップ ユーティリティを起動するか、または copp profile コマンドを使用して、CoPP のデフォルト ポリシーを再割り当てできます。
copp-system-class-critical クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-critical match access-group name copp-system-p-acl-bgp match access-group name copp-system-p-acl-pim match access-group name copp-system-p-acl-rip match access-group name copp-system-p-acl-bgp6 match access-group name copp-system-p-acl-msdp match access-group name copp-system-p-acl-ospf match access-group name copp-system-p-acl-rip6 match access-group name copp-system-p-acl-eigrp match access-group name copp-system-p-acl-ospf6 match access-group name copp-system-p-acl-eigrp6 match access-group name copp-system-p-acl-auto-rp match access-group name copp-system-p-acl-mac-l3-isis
copp-system-class-exception クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-exception match exception ip option match exception ip icmp unreachable match exception ttl-failure match exception ipv6 option match exception mtu-failure
copp-system-class-important クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-important match access-group name copp-system-p-acl-pim-reg match access-group name copp-system-p-acl-mac-lldp match access-group name copp-system-p-acl-pim-mdt-join match access-group name copp-system-p-acl-mac-flow-control
copp-system-class-l3mc-data クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-l3mc-data match exception multicast rpf-failure match exception multicast dest-miss
copp-system-class-l3uc-data クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-l3uc-data match exception glean
copp-system-class-management クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-management match access-group name copp-system-p-acl-ftp match access-group name copp-system-p-acl-ntp match access-group name copp-system-p-acl-ssh match access-group name copp-system-p-acl-ntp6 match access-group name copp-system-p-acl-sftp match access-group name copp-system-p-acl-snmp match access-group name copp-system-p-acl-ssh6 match access-group name copp-system-p-acl-tftp match access-group name copp-system-p-acl-tftp6 match access-group name copp-system-p-acl-radius match access-group name copp-system-p-acl-tacacs match access-group name copp-system-p-acl-telnet match access-group name copp-system-p-acl-radius6 match access-group name copp-system-p-acl-tacacs6 match access-group name copp-system-p-acl-telnet6
copp-system-class-monitoring クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-monitoring match access-group name copp-system-p-acl-icmp match access-group name copp-system-p-acl-traceroute
copp-system-class-normal クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-normal match protocol arp
copp-system-class-normal-dhcp クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-normal-dhcp match access-group name copp-system-p-acl-dhcp
copp-system-class-normal-dhcp-relay-response クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-normal-dhcp-relay-response match access-group name copp-system-p-acl-dhcp-relay-response
copp-system-class-normal-igmp クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-normal-igmp match access-group name copp-system-p-acl-igmp
copp-system-class-redirect クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-redirect
copp-system-class-undesirable クラスの設定は次のとおりです。
class-map type control-plane match-any copp-system-p-class-undesirable match access-group name copp-system-p-acl-undesirable multicast sg-rpf-failure
strict CoPP ポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-p-policy-strict class copp-system-p-class-critical set cos 7 police cir 19000 pps bc 128 packets conform transmit violate drop class copp-system-p-class-important set cos 6 police cir 500 pps bc 128 packets conform transmit violate drop class copp-system-p-class-management set cos 2 police cir 3000 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l3mc-data set cos 2 police cir 3000 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l3uc-data set cos 2 police cir 250 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal set cos 1 police cir 300 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal-dhcp set cos 1 police cir 300 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal-dhcp-relay-response set cos 1 police cir 400 pps bc 64 packets conform transmit violate drop class copp-system-p-class-normal-igmp set cos 1 police cir 6000 pps bc 64 packets conform transmit violate drop class copp-system-p-class-redirect set cos 1 police cir 150 pps bc 32 packets conform transmit violate drop class copp-system-p-class-exception set cos 1 police cir 50 pps bc 32 packets conform transmit violate drop class copp-system-p-class-monitoring set cos 1 police cir 75 pps bc 128 packets conform transmit violate drop class copp-system-p-class-l2-unpoliced set cos 7 police cir 20000 pps bc 4096 packets conform transmit violate drop class copp-system-p-class-undesirable set cos 0 police cir 15 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l2-default set cos 0 police cir 50 pps bc 32 packets conform transmit violate drop class class-default set cos 0 police cir 50 pps bc 32 packets conform transmit violate drop
moderate CoPP ポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-p-policy-moderate class copp-system-p-class-critical set cos 7 police cir 19000 pps bc 48 packets conform transmit violate drop class copp-system-p-class-important set cos 6 police cir 500 pps bc 192 packets conform transmit violate drop class copp-system-p-class-management set cos 2 police cir 3000 pps bc 48 packets conform transmit violate drop class copp-system-p-class-l3mc-data set cos 2 police cir 3000 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l3uc-data set cos 2 police cir 250 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal set cos 1 police cir 300 pps bc 48 packets conform transmit violate drop class copp-system-p-class-normal-dhcp set cos 1 police cir 300 pps bc 48 packets conform transmit violate drop class copp-system-p-class-normal-dhcp-relay-response set cos 1 police cir 400 pps bc 96 packets conform transmit violate drop class copp-system-p-class-normal-igmp set cos 1 police cir 6000 pps bc 64 packets conform transmit violate drop class copp-system-p-class-redirect set cos 1 police cir 150 pps bc 48 packets conform transmit violate drop class copp-system-p-class-exception set cos 1 police cir 50 pps bc 48 packets conform transmit violate drop class copp-system-p-class-monitoring set cos 1 police cir 75 pps bc 192 packets conform transmit violate drop class copp-system-p-class-l2-unpoliced set cos 7 police cir 20000 pps bc 4096 packets conform transmit violate drop class copp-system-p-class-undesirable set cos 0 police cir 15 pps bc 48 packets conform transmit violate drop class copp-system-p-class-l2-default set cos 0 police cir 50 pps bc 48 packets conform transmit violate drop class class-default set cos 0 police cir 50 pps bc 48 packets conform transmit violate drop
lenient CoPP ポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-p-policy-lenient class copp-system-p-class-critical set cos 7 police cir 19000 pps bc 64 packets conform transmit violate drop class copp-system-p-class-important set cos 6 police cir 500 pps bc 256 packets conform transmit violate drop class copp-system-p-class-management set cos 2 police cir 3000 pps bc 64 packets conform transmit violate drop class copp-system-p-class-l3mc-data set cos 2 police cir 3000 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l3uc-data set cos 2 police cir 250 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal set cos 1 police cir 300 pps bc 64 packets conform transmit violate drop class copp-system-p-class-normal-dhcp set cos 1 police cir 300 pps bc 64 packets conform transmit violate drop class copp-system-p-class-normal-dhcp-relay-response set cos 1 police cir 400 pps bc 128 packets conform transmit violate drop class copp-system-p-class-normal-igmp set cos 1 police cir 6000 pps bc 64 packets conform transmit violate drop class copp-system-p-class-redirect set cos 1 police cir 150 pps bc 64 packets conform transmit violate drop class copp-system-p-class-exception set cos 1 police cir 50 pps bc 64 packets conform transmit violate drop class copp-system-p-class-monitoring set cos 1 police cir 75 pps bc 256 packets conform transmit violate drop class copp-system-p-class-l2-unpoliced set cos 7 police cir 20000 pps bc 4096 packets conform transmit violate drop class copp-system-p-class-undesirable set cos 0 police cir 15 pps bc 64 packets conform transmit violate drop class copp-system-p-class-l2-default set cos 0 police cir 50 pps bc 64 packets conform transmit violate drop class class-default set cos 0 police cir 50 pps bc 64 packets conform transmit violate drop
dense CoPP ポリシーの設定は次のとおりです。
policy-map type control-plane copp-system-p-policy-dense class copp-system-p-class-critical set cos 7 police cir 2500 pps bc 32 packets conform transmit violate drop class copp-system-p-class-important set cos 6 police cir 300 pps bc 128 packets conform transmit violate drop class copp-system-p-class-management set cos 2 police cir 1200 pps bc 128 packets conform transmit violate drop class copp-system-p-class-l3mc-data set cos 2 police cir 1200 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l3uc-data set cos 2 police cir 250 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal set cos 1 police cir 150 pps bc 32 packets conform transmit violate drop class copp-system-p-class-normal-dhcp set cos 1 police cir 150 pps bc 128 packets conform transmit violate drop class copp-system-p-class-normal-dhcp-relay-response set cos 1 police cir 200 pps bc 128 packets conform transmit violate drop class copp-system-p-class-normal-igmp set cos 1 police cir 2500 pps bc 128 packets conform transmit violate drop class copp-system-p-class-redirect set cos 1 police cir 100 pps bc 32 packets conform transmit violate drop class copp-system-p-class-exception set cos 1 police cir 50 pps bc 32 packets conform transmit violate drop class copp-system-p-class-monitoring set cos 1 police cir 50 pps bc 128 packets conform transmit violate drop class copp-system-p-class-l2-unpoliced set cos 7 police cir 20000 pps bc 4096 packets conform transmit violate drop class copp-system-p-class-undesirable set cos 0 police cir 15 pps bc 32 packets conform transmit violate drop class copp-system-p-class-l2-default set cos 0 police cir 25 pps bc 32 packets conform transmit violate drop class class-default set cos 0 police cir 25 pps bc 32 packets conform transmit violate drop
特定のポリシーの 1 秒間あたりのパケット(PPS)の合計(ポリシーの各クラス部分の PPS の合計)の上限は、PPS のクレジット制限(PCL)の上限になります。 特定のクラスの PPS が増加して PCL 超過すると、設定が拒否されます。 目的の PPS を増やすには、PCL を超える PPS の分を他のクラスから減少させる必要があります。
CoPP は、Modular QoS Command Line Interface(MQC; モジュラ QoS コマンドライン インターフェイス)を使用します。 MQC は CLI の構造を持っています。MQC を使用すると、トラフィック クラスの定義、トラフィック ポリシー(ポリシー マップ)の作成、およびインターフェイスへのトラフィック ポリシーの適用が可能になります。 トラフィック ポリシーには、トラフィック クラスに適用する CoPP 機能を含めます。
1. class-map コマンドを使用して、トラフィック クラスを定義します。 トラフィック クラスは、トラフィックの分類に使用します。
2. policy-map コマンドを使用して、トラフィック ポリシーを定義します。 トラフィック ポリシー(ポリシー マップ)には、トラフィック クラスと、トラフィック クラスに適用する 1 つまたは複数の CoPP 機能を含めます。 トラフィック ポリシー内の CoPP の機能で、分類されたトラフィックの処理方法が決まります。
3. control-plane コマンドおよび service-policy コマンドを使用して、トラフィック ポリシー(ポリシー マップ)をコントロール プレーンに適用します。
Cisco NX-OS デバイスは、管理インターフェイス(mgmt0)をサポートしないハードウェア ベースの CoPP だけをサポートします。 アウトオブバンド mgmt0 インターフェイスは CPU に直接接続するため、CoPP が実装されているインバンド トラフィック ハードウェアは通過しません。
mgmt0 インターフェイスで、ACL を設定して、特定タイプのトラフィックへのアクセスを許可または拒否することができます。
次の表に、この機能のライセンス要件を示します。
製品 |
ライセンス要件 |
---|---|
Cisco NX-OS |
CoPP にはライセンスは必要ありません。 ライセンス パッケージに含まれていない機能は nx-os イメージにバンドルされており、無料で提供されます。 Cisco NX-OS ライセンス方式の詳細については、『Cisco NX-OS Licensing Guide』を参照してください。 |
CoPP に関する注意事項と制約事項は次のとおりです。
(注) |
Cisco IOS の CLI に慣れている場合、この機能の Cisco NX-OS コマンドは従来の Cisco IOS コマンドと異なる点があるため注意が必要です。 |
パラメータ |
デフォルト |
||
---|---|---|---|
デフォルト ポリシー |
strict |
||
デフォルト ポリシー |
9 ポリシー エントリ
|
||
スケール ファクタ値 |
1.00 |
ここでは、CoPP の設定方法について説明します。
コントロール プレーン ポリシーのコントロール プレーン クラス マップを設定する必要があります。
トラフィックを分類するには、既存の ACL に基づいてパケットを照合します。 ACL キーワードの permit および deny は、照合時には無視されます。
IP バージョン 4(IPv4)および IP バージョン 6(IPv6)のパケットに対してポリシーを設定できます。
クラス マップ内で ACE ヒット カウンタを使用する場合は、IP ACL が設定してあることを確認します。
1. configure terminal
2. class-map type control-plane [match-all | match-any] class-map-name
3. (任意) match access-group name access-list-name
4. (任意) match exception {ip | ipv6} icmp redirect
5. (任意) match exception {ip | ipv6} icmp unreachable
6. (任意) match exception {ip | ipv6} option
7. match protocol arp
8. exit
9. (任意) show class-map type control-plane [class-map-name]
10. (任意) copy running-config startup-config
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | class-map type control-plane [match-all | match-any] class-map-name 例: switch(config)# class-map type control-plane ClassMapA switch(config-cmap)# |
コントロール プレーン クラス マップを指定し、クラス マップ コンフィギュレーション モードを開始します。 デフォルトのクラス一致は match-any です。 名前は最大 64 文字で、大文字と小文字は区別されます。
|
||
ステップ 3 | match access-group name access-list-name 例: switch(config-cmap)# match access-group name MyAccessList |
(任意) IP ACL のマッチングを指定します。
|
||
ステップ 4 | match exception {ip | ipv6} icmp redirect 例: switch(config-cmap)# match exception ip icmp redirect |
(任意) IPv4 または IPv6 ICMP リダイレクト例外パケットのマッチングを指定します。 |
||
ステップ 5 | match exception {ip | ipv6} icmp unreachable 例: switch(config-cmap)# match exception ip icmp unreachable |
(任意) IPv4 または IPv6 ICMP 到達不能例外パケットのマッチングを指定します。 |
||
ステップ 6 | match exception {ip | ipv6} option 例: switch(config-cmap)# match exception ip option |
(任意) IPv4 または IPv6 ICMP オプション例外パケットのマッチングを指定します。 |
||
ステップ 7 | match protocol arp 例: switch(config-cmap)# match protocol arp |
IP アドレス解決プロトコル(ARP)および逆アドレス解決プロトコル(RARP)パケットのマッチングを指定します。 |
||
ステップ 8 | exit 例: switch(config-cmap)# exit switch(config)# |
クラス マップ コンフィギュレーション モードを終了します。 |
||
ステップ 9 | show class-map type control-plane [class-map-name] 例: switch(config)# show class-map type control-plane |
(任意) コントロール プレーン クラス マップの設定を表示します。 |
||
ステップ 10 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
CoPP のポリシー マップを設定する必要があります。ポリシー マップにはポリシング パラメータを含めます。 クラスのポリサーを設定しない場合は、32 パケットのバーストの 50 pps にデフォルト設定されます。
コントロール プレーン クラス マップが設定してあることを確認します。
1. configure terminal
2. policy-map type control-plane policy-map-name
3. class {class-map-name [insert-before class-map-name2] | class-default}
4. police [cir] {cir-rate [pps]}
5. police [cir] {cir-rate [pps]} [bc] burst-size [packets]
6. police [cir] {cir-rate [pps]} conform transmit [violate drop]
7. (任意) logging drop threshold [drop-count [level syslog-level]]
8. (任意) set cos cos-value
9. exit
10. exit
11. (任意) show policy-map type control-plane [expand] [name class-map-name]
12. (任意) copy running-config startup-config
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 2 | policy-map type control-plane policy-map-name 例: switch(config)# policy-map type control-plane ClassMapA switch(config-pmap)# |
コントロール プレーン ポリシー マップを指定し、ポリシー マップ コンフィギュレーション モードを開始します。 ポリシー マップ名は最大 64 文字で、大文字と小文字は区別されます。 |
||
ステップ 3 | class {class-map-name [insert-before class-map-name2] | class-default} 例: switch(config-pmap)# class ClassMapA switch(config-pmap-c)# |
コントロール プレーン クラス マップ名またはクラス デフォルトを指定し、コントロール プレーン クラス コンフィギュレーション モードを開始します。 class-default クラス マップは、必ずポリシー マップのクラス マップ リストの末尾に位置します。 |
||
ステップ 4 | police [cir] {cir-rate [pps]} 例: switch(config-pmap-c)# police cir 52000 |
Committed Information Rate(CIR; 認定情報レート)を指定します。 レートの有効な範囲は、1 ~ 268435456 です。 |
||
ステップ 5 | police [cir] {cir-rate [pps]} [bc] burst-size [packets] 例: switch(config-pmap-c)# police cir 52000 bc 1000 |
CIR と Committed Burst(BC; 認定バースト)を指定します。 CIR の有効な範囲は 1 ~ 268435456 で、BC の有効な範囲は 1 ~ 1073741 です。 |
||
ステップ 6 | police [cir] {cir-rate [pps]} conform transmit [violate drop] 例: switch(config-pmap-c)# police cir 52000 conform transmit violate drop |
CIR と一致アクションを指定します。 CIR の有効な範囲は、1 ~ 268435456 です。 オプションは次のとおりです。
|
||
ステップ 7 | logging drop threshold [drop-count [level syslog-level]] 例: switch(config-pmap-c)# logging drop threshold 100 |
(任意) ドロップされたパケットのしきい値を指定し、ドロップ数が設定したしきい値を超えた場合、Syslog を生成します。 drop-count 引数の範囲は 1 ~ 80000000000 バイトです。 syslog-level 引数の範囲は 1 ~ 7 であり、デフォルト レベルは 4 です。 |
||
ステップ 8 | set cos cos-value 例: switch(config-pmap-c)# set cos 1 |
(任意) 802.1Q CoS 値を指定します。 有効な範囲は 0 ~ 7 です。 デフォルト値は 0 です。 |
||
ステップ 9 | exit 例: switch(config-pmap-c)# exit switch(config-pmap)# |
ポリシー マップ クラス コンフィギュレーション モードを終了します。 |
||
ステップ 10 | exit 例: switch(config-pmap)# exit switch(config)# |
ポリシー マップ コンフィギュレーション モードを終了します。 |
||
ステップ 11 | show policy-map type control-plane [expand] [name class-map-name] 例: switch(config)# show policy-map type control-plane |
(任意) コントロール プレーン ポリシー マップの設定を表示します。 |
||
ステップ 12 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
CoPP サービス ポリシーに対して 1 つまたは複数のポリシー マップを設定できます。
(注) |
CoPP ポリシーを変更し CoPP のカスタム ポリシーを適用しようとした場合、ハードウェア内では非アトミックとして設定され、次のメッセージが表示されます。 This operation can cause disruption of control traffic. Proceed (y/n)? [no] y 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT24-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT23-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT21-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT25-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT26-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT22-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP 2013 Nov 13 23:16:46 switch %ACLQOS-SLOT4-5-ACLQOS_NON_ATOMIC: Non atomic ACL/QoS policy update done for CoPP |
コントロール プレーン ポリシー マップが設定してあることを確認します。
1. configure terminal
2. control-plane
3. service-policy input policy-map-name
4. exit
5. (任意) show running-config copp [all]
6. (任意) copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | control-plane 例: switch(config)# control-plane switch(config-cp)# |
コントロール プレーン コンフィギュレーション モードを開始します。 |
ステップ 3 | service-policy input policy-map-name 例: switch(config-cp)# service-policy input PolicyMapA |
入トラフィックのポリシー マップを指定します。 ポリシー マップが複数ある場合は、このステップを繰り返します。 no service-policy input policy-map-name コマンドを使用して、コントロール プレーンからポリシーを削除します。 |
ステップ 4 | exit 例: switch(config-cp)# exit switch(config)# |
コントロール プレーン コンフィギュレーション モードを終了します。 |
ステップ 5 | show running-config copp [all] 例: switch(config)# show running-config copp |
(任意) CoPP 設定を表示します。 |
ステップ 6 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
ラインカードごとの CoPP のスケール ファクタを設定できます。
スケール ファクタの設定は、特定のラインカードに適用された CoPP のポリシーのポリサー レートのスケーリングに使用されます。 受け入れ値は 0.10 ~ 2.00 です。 特定のラインカードに対して現在の CoPP ポリシーを変更せずに、ポリサー レートを増加または削減できます。 変更はすぐに有効となるため、CoPP ポリシーを再適用する必要はありません。
1. configure terminal
2. control-plane
3. scale-factor value module multiple-module-range
4. (任意) show system internal copp info
5. (任意) show policy-map interface control-plane
6. (任意) copy running-config startup-config
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 | control-plane 例: switch(config)# control-plane switch(config-cp)# |
コントロール プレーン コンフィギュレーション モードを開始します。 |
ステップ 3 | scale-factor value module multiple-module-range 例: switch(config-cp)# scale-factor 1.10 module 1-2 |
ラインカードごとにポリサー レートを設定します。 許可されたスケール ファクタ値は 0.10 ~ 2.00 です。 スケール ファクタ値が設定されている場合、ポリシング値にはモジュールの対応するスケール ファクタ値が乗算され、特定のモジュールにプログラミングされます。 デフォルトのスケール ファクタ値 1.00 に戻すには、no scale-factor value module multiple-module-range コマンドを使用するか、scale-factor 1 module multiple-module-range コマンドを使用して明示的にデフォルトのスケール ファクタ値を 1.00 に設定します。 |
ステップ 4 | show system internal copp info 例: switch(config-cp)# show system internal copp info |
(任意) 設定されたスケール ファクタ値を表示します。 |
ステップ 5 | show policy-map interface control-plane 例: switch(config-cp)# show policy-map interface control-plane |
(任意) CoPP ポリシーが適用される場合に適用されるスケール ファクタ値を表示します。 |
ステップ 6 | copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意) 実行コンフィギュレーションを、スタートアップ コンフィギュレーションにコピーします。 |
別のデフォルト CoPP ポリシーに変更したり、同じデフォルト CoPP ポリシーを再適用したりすることができます。
1. [no] copp profile [strict | moderate | lenient | dense]
2. (任意) show copp status
3. (任意) show running-config copp
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | [no] copp profile [strict | moderate | lenient | dense] 例: switch(config)# copp profile moderate |
CoPP ベスト プラクティス ポリシーを適用します。 |
ステップ 2 | show copp status 例: switch(config)# show copp status |
(任意) 最後の設定動作およびそのステータスなど、CoPP のステータスを表示します。 このコマンドを実行すると、CoPP ベスト プラクティス ポリシーがコントロール プレーンにアタッチされていることを確認することもできます。 |
ステップ 3 | show running-config copp 例: switch(config)# show running-config copp |
(任意) 実行コンフィギュレーション内の CoPP 設定を表示します。 |
CoPP ベスト プラクティス ポリシーは読み取り専用です。 その設定を変更する場合は、それをコピーする必要があります。
1. copp copy profile {strict | moderate | lenient | dense} {prefix | suffix} string
2. (任意) show copp status
3. (任意) show running-config copp
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | copp copy profile {strict | moderate | lenient | dense} {prefix | suffix} string 例: switch# copp copy profile strict prefix abc |
CoPP ベスト プラクティス ポリシーのコピーを作成します。 CoPP は、指定したプレフィックスまたはサフィックスのすべてのクラス マップおよびポリシー マップの名前を変更します。 |
ステップ 2 | show copp status 例: switch# show copp status |
(任意) 最後の設定動作およびそのステータスなど、CoPP のステータスを表示します。 このコマンドを実行すると、コピーされたポリシーがコントロール プレーンにアタッチされていないことを確認することもできます。 |
ステップ 3 | show running-config copp 例: switch# show running-config copp |
(任意) コピーされたポリシー設定を含む、実行コンフィギュレーション内の CoPP 設定を表示します。 |
CoPP の設定情報を表示するには、次のいずれかの作業を行います。
コマンド |
目的 |
||
---|---|---|---|
show policy-map type control-plane [expand] [name policy-map-name] |
コントロール プレーン ポリシー マップと関連するクラス マップ、および CIR と BC の値を表示します。 |
||
show policy-map interface control-plane |
|
||
show class-map type control-plane [class-map-name] |
このクラス マップにバインドされている ACL を含め、コントロール プレーン クラス マップの設定を表示します。 |
||
show copp diff profile {strict | moderate | lenient | dense} [prior-ver] profile {strict | moderate | lenient | dense} |
2 つの CoPP ベスト プラクティス ポリシーの違いを表示します。 prior-ver オプションを指定しない場合、このコマンドは、現在適用されている 2 つのデフォルトの CoPP のベスト プラクティス ポリシー(現在適用されている厳密なポリシーと現在適用されている中程度のポリシーなど)の差異を表示します。 prior-ver オプションを指定した場合、このコマンドは、現在適用されているデフォルトの CoPP ベスト プラクティス ポリシーと以前に適用したデフォルトの CoPP ベスト プラクティス ポリシーの違いを表示します(現在適用されている厳密なポリシーと以前適用した緩いポリシーなど)。 |
||
show copp profile {strict | moderate | lenient | dense} |
クラスおよびポリサー値とともに、CoPP ベスト プラクティス ポリシーの詳細を表示します。 |
||
show running-config aclmgr [all] |
実行コンフィギュレーションのユーザ設定によるアクセス コントロール リスト(ACL)を表示します。 all オプションを使用すると、実行コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。 |
||
show running-config copp [all] |
実行コンフィギュレーション内の CoPP 設定を表示します。 |
||
show startup-config aclmgr [all] |
スタートアップ コンフィギュレーションのユーザ設定によるアクセス コントロール リスト(ACL)を表示します。 all オプションを使用すると、スタートアップ コンフィギュレーションのデフォルト(CoPP 設定)とユーザ定義による ACL の両方が表示されます。 |
||
show system internal copp info |
設定されたスケール ファクタ値を表示します。 |
1. switch# show copp status
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# show copp status | CoPP 機能の設定ステータスを表示します。 |
次に、CoPP 設定ステータスを表示する例を示します。
switch# show copp status
1. switch# show policy-map interface control-plane
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | switch# show policy-map interface control-plane | 適用された CoPP ポリシーの一部であるすべてのクラスに関して、パケット レベルの統計情報を表示します。 統計情報は、OutPackets(コントロール プレーンに対して許可されたパケット)と DropPackets(レート制限によってドロップされたパケット)に関して指定します。 |
次に、CoPP をモニタする例を示します。
switch# show policy-map interface control-plane Control Plane Service-policy input: copp-system-p-policy-strict class-map copp-system-p-class-critical (match-any) set cos 7 police cir 19000 pps , bc 128 packets module 4 : transmitted 373977 packets; dropped 0 packets;
1. (任意) switch# show policy-map interface control-plane
2. switch# clear copp statistics
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 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
ここでは、CoPP の設定例を示します。
次に、IP ACL を使用する CoPP を設定する例を示します。
configure terminal ip access-list copp-system-p-acl-igmp permit igmp any 10.0.0.0/24 ip access-list copp-system-p-acl-msdp permit tcp any any eq 639 mac access-list copp-system-p-acl-arp permit any any 0x0806 ip access-list copp-system-p-acl-tacas permit udp any any eq 49 ip access-list copp-system-p-acl-ntp permit udp any 10.0.1.1/23 eq 123 ip access-list copp-system-p-acl-icmp permit icmp any any class-map type control-plane match-any copp-system-p-class-critical match access-group name copp-system-p-acl-igmp match access-group name copp-system-p-acl-msdp class-map type control-plane match-any copp-system-p-class-normal match access-group name copp-system-p-acl-icmp match exception ip icmp redirect match exception ip icmp unreachable match exception ip option policy-map type control-plane copp-system-p-policy class copp-system-p-class-critical police cir 19000 pps bc 128 packets conform transmit violate drop class copp-system-p-class-important police cir 500 pps bc 128 packets conform transmit violate drop class copp-system-p-class-normal police cir 300 pps bc 32 packets conform transmit violate drop class class-default police cir 50 pps bc 32 packets conform transmit violate drop control-plane service-policy input copp-system-p-policy
class-map type control-plane copp-arp-class match access-group name copp-arp-acl
policy-map type control-plane copp-system-policy class copp-arp-class police pps 500
一部のサーバでは、アクティブな NIC が集約スイッチにアクセスできることを確認するために、デフォルト ゲートウェイに対する ICMP ping と ARP 要求を使用しています。 その結果として CoPP 値が超過すると、CoPP はすべてのネットワークに対してトラフィックのドロップを開始します。 正しく機能していないサーバが大量の ICMP ping および ARP 要求を送信すると、ある集約ブロック内にあるすべてのサーバでアクティブな NIC が失われ、NIC の切り替えが開始されます。
使用しているサーバがこのように設定されている場合は、サブネットのサブネットまたはグループに基づいて ICMP ping と ARP 要求を分割することにより、CoPP のオーバーフローを最小限に抑えることができます。 その後、サーバで障害が発生して CoPP がオーバーフローした場合でも、スーパーバイザが一部のサブネットワークでのみ ICMP ping と ARP 要求に応答します。
クラス マップまたはポリシー マップの最後のエントリは、指定されていないネットワークでのすべての ICMP ping および ARP 要求を特定する必要があります。 これらのカウンタが増えることは、ICMP と ARP の既存の ACL で指定されていない新しいネットワークが追加されたことを意味します。 この場合は、ICMP と ARP に関連する ACL を更新する必要があります。
(注) |
デフォルト CoPP ごとに、ICMP ping は copp-system-p-class-monitoring に、ARP 要求は copp-system-p-class-normal に分類します。 |
次に、ICMP と ARP 要求を分割して、CoPP のオーバーフローを回避する例を示します。
最初に、アプリケーションの調査の結果に基づいてグループ化するネットワークを識別する新しい ACL を追加します。
arp access-list copp-arp-1 statistics per-entry 10 permit ip 10.1.1.0 255.255.255.0 mac any 20 permit ip 10.1.2.0 255.255.255.0 mac any 30 permit ip 10.1.3.0 255.255.255.0 mac any arp access-list copp-arp-2 statistics per-entry 10 permit ip 10.2.1.0 255.255.255.0 mac any 20 permit ip 10.2.2.0 255.255.255.0 mac any 30 permit ip 10.2.3.0 255.255.255.0 mac any arp access-list copp-arp-3 statistics per-entry 10 permit ip 10.3.1.0 255.255.255.0 mac any 20 permit ip 10.3.2.0 255.255.255.0 mac any 30 permit ip 10.3.3.0 255.255.255.0 mac any ... arp access-list copp-arp-10 10 permit ip any any mac any ip access-list copp-icmp-1 statistics per-entry 10 permit icmp 10.2.1.0 255.255.255.0 any 20 permit icmp 10.2.2.0 255.255.255.0 any 30 permit icmp 10.2.3.0 255.255.255.0 any ip access-list copp-icmp-2 statistics per-entry 10 permit icmp 10.3.1.0 255.255.255.0 any 10 permit icmp 10.3.2.0 255.255.255.0 any 10 permit icmp 10.3.3.0 255.255.255.0 any ip access-list copp-icmp-3 statistics per-entry 10 permit icmp 10.4.1.0 255.255.255.0 any 10 permit icmp 10.4.2.0 255.255.255.0 any 10 permit icmp 10.4.3.0 255.255.255.0 any ... ip access-list copp-icmp-10 10 permit icmp any any
CoPP の新しいクラス マップにこれらの ACL を追加します。
class-map type control-plane match-any copp-cm-arp-1 match access-group name copp-arp-1 class-map type control-plane match-any copp-cm-arp-2 match access-group name copp-arp-2 class-map type control-plane match-any copp-cm-arp-3 match access-group name copp-arp-3 ... class-map type control-plane match-any copp-cm-arp-10 match access-group name copp-arp-10# class-map type control-plane match-any copp-cm-icmp-1 match access-group name copp-icmp-1 class-map type control-plane match-any copp-cm-icmp-2 match access-group name copp-icmp-2 class-map type control-plane match-any copp-cm-icmp-3 match access-group name copp-icmp-3 ... class-map type control-plane match-any copp-cm-icmp-10 match access-group name copp-icmp-10
新しいポリシーと先に作成したクラス マップを追加して、CoPP ポリシー マップを変更します。
policy-map type control-plane copp-system-p-policy class copp-cm-icmp-1 police cir X pps bc X conform transmit violate drop class copp-cm-icmp-2 police cir X pps bc X conform transmit violate drop class copp-cm-icmp-3 police cir X pps bc X conform transmit violate drop class copp-cm-icmp-4 police cir X pps bc X conform transmit violate drop class copp-cm-icmp-10 police cir X pps bc X conform transmit violate drop class copp-cm-arp-1 police cir X pps bc X conform transmit violate drop class copp-cm-arp-2 police cir X pps bc X conform transmit violate drop class copp-cm-arp-3 police cir X pps bc X conform transmit violate drop class copp-cm-arp-4 police cir X pps bc X conform transmit violate drop class copp-cm-arp-10 police cir X pps bc X conform transmit violate drop
既存のクラス マップから ICMP と ARP を削除します。
class-map type control-plane match-any copp-system-p-class-normal no match protocol arp class-map type control-plane match-any copp-system-p-class-monitoring no match access-grp name copp-system-p-acl-icmp
セットアップ ユーティリティを使用して 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
Do you want to enforce secure password standard (yes/no)[y]: <CR>
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 : <CR>
Enable license grace period? (yes/no) [n]: n
Continue with Out-of-band (mgmt0) management configuration? (yes/no) [y]: n
Configure the default gateway? (yes/no) [y]: n
Configure advanced IP options? (yes/no) [n]: <CR>
Enable the telnet service? (yes/no) [n]: y
Enable the ssh service? (yes/no) [y]: <CR>
Type of ssh key you would like to generate (dsa/rsa) : <CR>
Configure the ntp server? (yes/no) [n]: n
Configure default interface layer (L3) [L3]: <CR>
Configure default switchport interface state (shut/noshut) [shut]: <CR>
Configure best practices CoPP profile (strict/moderate/lenient/dense/skip) [strict]: strict
The following configuration will be applied:
password strength-check
no license grace-period
no telnet server enable
no system default switchport
system default switchport shutdown
policy-map type control-plane copp-system-p-policy
Would you like to edit the configuration? (yes/no) [n]: <CR>
Use this configuration and save it? (yes/no) [y]: y
switch#
ここでは、CoPP の実装に関する追加情報について説明します。
関連項目 |
マニュアル タイトル |
---|---|
ライセンス |
『Cisco NX-OS Licensing Guide』 |
標準 |
タイトル |
---|---|
RFC 2698 |
『A Two Rate Three Color Marker』 |