ACL について
ACL とは、トラフィックのフィルタリングに使用する順序付きのルール セットのことです。各ルールには、パケットがルールに一致するために満たさなければならない条件のセットが規定されています。デバイスは、ある ACL がパケットに適用されると判断すると、そのすべてのルールの条件にパケットを照合し、テストします。最初に一致したルールで、そのパケットが許可されるか拒否されるかが決定されます。一致するものがなければ、デバイスは適用可能な暗黙のルールを適用します。デバイスは、許可されたパケットの処理を続行し、拒否されたパケットはドロップします。
ACL を使用すると、ネットワークおよび特定のホストを、不要なトラフィックや望ましくないトラフィックから保護できます。たとえば、ACL を使用して、厳重にセキュリティ保護されたネットワークからインターネットに HTTP トラフィックが流入するのを禁止できます。また、特定のサイトへの HTTP トラフィックだけを許可することもできます。その場合は、サイトの IP アドレスが、IP ACL に指定されているかどうかによって判定します。
ACL のタイプと適用
セキュリティ トラフィック フィルタリングには次のタイプの ACL を使用できます。
- IPv4 ACL
- IPv4 トラフィックだけに適用されます。
- IPv6 ACL
- IPv6 トラフィックだけに適用されます。
- MAC ACL
- デバイスにより MAC ACL のみが非 IP トラフィックに適用されます。
IP および MAC ACL には以下の種類のアプリケーションがあります。
- ポート ACL
- レイヤ 2 トラフィックのフィルタリング
- UDF ベースの一致による MAC ACL
- UDF ベースのマッチングで MAC ACL をフィルタリングします。
- ルータ ACL
- レイヤ 3 トラフィックのフィルタリング
- VLAN ACL
- VLAN トラフィックのフィルタリング
- VTY ACL
- 仮想テレタイプ(VTY)トラフィックのフィルタリング
次の表に、セキュリティ ACL の適用例の概要を示します。
適用 |
サポートするインターフェイス |
サポートする ACL のタイプ |
||||||
---|---|---|---|---|---|---|---|---|
ポート ACL |
ポート ACL をトランク ポートに適用すると、その ACL は、当該トランク ポート上のすべての VLAN 上のトラフィックをフィルタリングします。 |
|
||||||
ルータ ACL |
|
|
||||||
VLAN ACL |
|
|
||||||
VTY ACL |
|
|
ACL の適用順序
デバイスは、パケットを処理する際に、そのパケットの転送パスを決定します。デバイスがトラフィックに適用する ACL はパスによって決まります。デバイスは、次の順序で ACL を適用します。
-
ポート ACL
-
入力 VACL
-
入力ルータ ACL
-
入力 VTY ACL
-
出力 VTY ACL
-
出力ルータ ACL
-
出力 VACL
パケットが入力 VLAN 内でブリッジされる場合、ルータ ACL は適用されません。
ルールについて
ACL によるネットワーク トラフィックのフィルタリング方法を設定する際に、何を作成、変更、削除するかを決めるのがルールです。ルールは実行コンフィギュレーション内に表示されます。ACL をインターフェイスに適用するか、またはインターフェイスにすでに適用されている ACL 内のルールを変更すると、スーパーバイザ モジュールは実行コンフィギュレーション内のルールから ACL のエントリを作成し、それらの ACL エントリを適用可能な I/O モジュールに送信します。ACL の設定によっては、ルールよりも ACL エントリの方が数が多くなることがあります。特に、ルールを設定するときにオブジェクト グループを使用してポリシーベース ACL を実装する場合などです。
アクセス リスト コンフィギュレーション モードでルールを作成するには、permit または deny コマンドを使用します。デバイスは、許可ルール内の基準と一致するトラフィックを許可し、拒否ルール内の基準と一致するトラフィックをブロックします。ルールに一致するためにトラフィックが満たさなければならない基準を設定するためのオプションが多数用意されています。
ここでは、ルールを設定する際に使用できるオプションをいくつか紹介します。
IP ACL および MAC ACL のプロトコル
IPv4、IPv6、および MAC の ACL では、トラフィックをプロトコルで識別できます。指定の際の手間を省くために、一部のプロトコルは名前で指定できます。たとえば、IPv4 または IPv6 の ACL では、ICMP を名前で指定できます。
プロトコルはすべて番号で指定できます。MAC ACL では、プロトコルをそのプロトコルの EtherType 番号(16 進数)で指定できます。たとえば、MAC ACL ルールの IP トラフィックの指定に 0x0800 を使用できます。
IPv4 および IPv6 ACL では、インターネット プロトコル番号を表す整数でプロトコルを指定できます。
送信元と宛先
各ルールには、ルールに一致するトラフィックの送信元と宛先を指定します。指定する送信元および宛先には、特定のホスト、ホストのネットワークまたはグループ、あるいは任意のホストを使用できます。送信元と宛先の指定方法は、IPv4 ACL、IPv6 ACL、MAC ACL のどの ACL を設定するのかによって異なります。
IP ACL および MAC ACL の暗黙ルール
IP ACL および MAC ACL には暗黙ルールがあります。暗黙ルールは、実行コンフィギュレーションには設定されていませんが、ACL 内の他のルールと一致しない場合にデバイスがトラフィックに適用するルールです。ACL のルール単位の統計情報を維持するようにデバイスを設定した場合、暗黙ルールの統計情報はデバイスに維持されません。
すべての IPv4 ACL には、次の暗黙のルールがあります。
deny ip any any
この暗黙ルールによって、デバイスは不一致 IP トラフィックを確実に拒否します。
すべての IPv6 ACL には、次の暗黙のルールがあります。
deny ipv6 any any
この暗黙ルールによって、デバイスは不一致 IPv6 トラフィックを確実に拒否します。
Note |
|
すべての MAC ACL には、次の暗黙のルールがあります。
deny any any protocol
この暗黙ルールによって、デバイスは、トラフィックのレイヤ 2 ヘッダーに指定されているプロトコルに関係なく、不一致トラフィックを確実に拒否します。
その他のフィルタリング オプション
追加のオプションを使用してトラフィックを識別できます。これらのオプションは、ACL のタイプによって異なります。次のリストには、ほとんどの追加フィルタリング オプションが含まれていますが、すべてを網羅しているわけではありません。
-
IPv4 ACL には、次の追加フィルタリング オプションが用意されています。
-
レイヤ 4 プロトコル
-
TCP/UDP ポート
-
ICMP タイプおよびコード
-
IGMP タイプ
-
優先レベル
-
DiffServ コード ポイント(DSCP)値
-
ACK、FIN、PSH、RST、SYN、または URG ビットがセットされた TCP パケット
-
確立済み TCP 接続
-
パケット長
-
-
IPv6 ACL では、次のフィルタリング オプションが追加されています。
-
レイヤ 4 プロトコル
-
カプセル化セキュリティ ペイロード
-
ペイロード圧縮プロトコル
-
Stream Control Transmission Protocol(SCTP)
-
SCTP、TCP、および UDP の各ポート
-
ICMP タイプおよびコード
-
DSCP の値
-
ACK、FIN、PSH、RST、SYN、または URG ビットがセットされた TCP パケット
-
確立済み TCP 接続
-
パケット長
-
-
MAC ACL は、次の追加フィルタリング オプションをサポートしています。
-
レイヤ 3 プロトコル (Ethertype)
-
VLAN ID
-
サービス クラス(CoS)
-
-
Cisco NX-OS リリース 9.2(4) 以降、N9K-X96136YC-R、N9K-X9636C-R、および N9K-X9636C-RX ライン カードと N9K-C9504-FM-R を搭載した Cisco Nexus 9500 プラットフォーム スイッチの IPv4 ACL および IPv6 ファブリック モジュールは、次の追加のフィルタリング オプションをサポートしています。
-
ACK、FIN、PSH、RST、SYN、または URG ビットがセットされた TCP パケット
-
確立済み TCP 接続
-
シーケンス番号
デバイスはルールのシーケンス番号をサポートしています。入力するすべてのルールにシーケンス番号が割り当てられます(ユーザによる割り当てまたはデバイスによる自動割り当て)。シーケンス番号によって、次の ACL 設定作業が容易になります。
- 既存のルールの間に新しいルールを追加
-
シーケンス番号を指定することによって、ACL 内での新規ルールの挿入場所を指定します。たとえば、ルール番号 100 と 110 の間に新しいルールを挿入する必要がある場合は、シーケンス番号 105 を新しいルールに割り当てます。
- ルールの削除
-
シーケンス番号を使用しない場合は、ルールを削除するために、次のようにルール全体を入力する必要があります。
switch(config-acl)# no permit tcp 10.0.0.0/8 any
このルールに 101 番のシーケンス番号が付いていれば、次コマンドだけでルールを削除できます。
switch(config-acl)# no 101
- ルールの移動
-
シーケンス番号を使用すれば、同じ ACL 内の異なる場所にルールを移動する必要がある場合に、そのルールのコピーをシーケンス番号で正しい位置に挿入してから、元のルールを削除できます。この方法により、トラフィックを中断せずにルールを移動できます。
シーケンス番号を使用せずにルールを入力すると、デバイスはそのルールを ACL の最後に追加し、そのルールの直前のルールのシーケンス番号よりも 10 大きい番号を割り当てます。たとえば、ACL 内の最後のルールのシーケンス番号が 225 で、シーケンス番号を指定せずにルールを追加した場合、デバイスはその新しいルールにシーケンス番号 235 を割り当てます。
また、Cisco NX-OS では、ACL 内ルールのシーケンス番号を再割り当てできます。シーケンス番号の再割り当ては、ACL 内に、100、101 のように連続するシーケンス番号のルールがある場合、それらのルールの間に 1 つ以上のルールを挿入する必要があるときに便利です。
論理演算子と論理演算ユニット
TCP および UDP トラフィックの IP ACL ルールでは、論理演算子を使用して、ポート番号に基づきトラフィックをフィルタリングできます。Cisco NX-OS では、入力方向でのみ論理演算子をサポートします。
このデバイスは、論理演算ユニット(LOU)というレジスタに、演算子とオペランドの組み合わせを格納します。各タイプの演算子は、次のように LOU を使用します。
- eq
- LOU には格納されません。
- gt
- 1 LOU を使用します。
- lt
- 1 LOU を使用します。
- neq
- 1 LOU を使用します。
- range
- 1 LOU を使用します。
Note |
範囲演算子の場合、LOU しきい値構成を使用して、ACL エントリを構成するときにポート範囲を拡張する方法を制御します。ACL ルールの数が構成されたしきい値を超えたときに LOU 演算子を使用する場合は、hardware access-list lou resource threshold <x> コマンドを実行します 。ここで <x> は LOU しきい値に達する前に使用される ACL ルールの数を示します。<x> の範囲値は 1 ~ 50 で、LOU しきい値のデフォルト値は 5 です。 |
ACL ロギング
ACL ロギング機能は、 ACL のフローをモニタし、統計情報をログに記録します。
フローは、送信元インターフェイス、プロトコル、送信元 IP アドレス、送信元ポート、宛先 IP アドレス、宛先ポート値によって定義されます。フローの統計情報には、転送されたパケット(ACL エントリの許可条件に一致する各フロー)およびドロップされたパケット(ACL エントリの拒否条件に一致する各フロー)の数が含まれます。
時間範囲
時間範囲を使用して、ACL ルールが有効になる時期を制御できます。たとえば、インターフェイスに着信するトラフィックに特定の ACL を適用するとデバイスが判断し、その ACL のあるルールの時間範囲が有効になっていない場合、デバイスは、トラフィックをそのルールと照合しません。デバイスは、そのデバイスのクロックに基づいて時間範囲を評価します。
時間範囲を使用する ACL を適用すると、デバイスはその ACL で参照される時間範囲の開始時または終了時に影響する I/O モジュールをアップデートします。時間範囲によって開始されるアップデートはベストエフォート型のプライオリティで実行されます。時間範囲によってアップデートが生じたときにデバイスの処理負荷が非常に高い場合、デバイスはアップデートを最大数秒間遅らせることがあります。
IPv4、IPv6、および MAC の各 ACL は時間範囲をサポートしています。デバイスがトラフィックに ACL を適用する場合、有効なルールは次のとおりです。
-
時間範囲が指定されていないすべてのルール
-
デバイスがその ACL をトラフィックに適用した時点(秒)が時間範囲に含まれているルール
名前が付けられた時間範囲は再利用できます。多くの ACL ルールを設定する場合は、時間範囲を名前で一度設定すれば済みます。時間範囲の名前は最大 64 の英文字で指定します。
時間範囲には、1 つまたは複数のルールで構成されます。これらのルールは次の 2 種類に分類できます。
- 絶対
-
特定の開始日時、終了日時、その両方を持つルール、またはそのどちらも持たないルール。絶対時間範囲のルールがアクティブかどうかは、開始日時または終了日時の有無によって、次のように決まります。
-
開始日時と終了日時が両方指定されている:この時間範囲ルールは、現在の時刻が開始日時よりも後で終了日時よりも前の場合にアクティブになります。
-
開始日時が指定され、終了日時は指定されていない:この時間範囲ルールは、現在の時刻が開始日時よりも後である場合にアクティブになります。
-
開始日時は指定されず、終了日時が指定されている:この時間範囲ルールは、現在の時刻が終了日時よりも前である場合にアクティブになります。
-
開始日時も終了日時も指定されていない:この時間範囲ルールは常にアクティブです。
たとえば、新しいサブネットへのアクセスを許可するようにネットワークを設定する場合、そのサブネットをオンラインにする予定日の真夜中からアクセスを許可するような時間範囲を指定し、この時間範囲をそのサブネットに適用する ACL ルールに使用します。デバイスはこのルールを含む ACL を適用する場合、開始日時が過ぎると、この時間範囲を使用するルールの適用を自動的に開始します。
-
- 定期
-
毎週 1 回以上アクティブになるルール。たとえば、定期時間範囲を使用すると、平日の営業時間中だけ、研究室のサブネットにアクセスできるようにすることができます。デバイスは、そのルールを含む ACL が適用されていて、時間範囲がアクティブな場合にだけ、この時間範囲を使用する ACL ルールを自動的に適用します。
Note |
デバイスは、時間範囲内のルールの順序に関係なく、時間範囲がアクティブかどうかを判断します。Cisco NX-OS は、時間範囲を編集できるように時間範囲内にシーケンス番号を入れます。 |
時間範囲には備考を含めることもできます。備考を使用すると、時間範囲にコメントを挿入できます。備考は、最大 100 文字の英数字で指定します。
デバイスは次の方法で時間範囲がアクティブかどうかを判断します。
-
時間範囲に絶対ルールが 1 つまたは複数含まれている:現在の時刻が 1 つまたは複数の絶対ルールの範囲内であれば、その時間範囲はアクティブです。
-
時間範囲に定期ルールが 1 つまたは複数含まれている:現在の時刻が 1 つまたは複数の定期ルールの範囲内であれば、その時間範囲はアクティブです。
-
時間範囲に絶対ルールと定期ルールが両方含まれている:現在の時刻が 1 つまたは複数の絶対ルールと 1 つ以上の定期ルールの範囲内にある場合に、その時間範囲はアクティブです。
時間範囲に絶対ルールと定期ルールが両方含まれている場合、定期ルールがアクティブになるのは、最低 1 つの絶対ルールがアクティブな場合だけです。
ポリシーベース ACL
デバイスはポリシーベース ACL(PBACL)をサポートしています。PBACL を使用すると、オブジェクト グループ全体にアクセス コントロール ポリシーを適用できます。オブジェクト グループは、IP アドレスのグループまたは TCP ポートもしくは UDP ポートのグループです。ルール作成時に、IP アドレスやポートを指定するのではなく、オブジェクト グループを指定できます。
IPv4 または IPv6 の ACL の設定にオブジェクト グループを使用すると、ルールの送信元または宛先に対してアドレスまたはポートの追加や削除を行う場合に、ACL を簡単にアップデートできます。たとえば、3 つのルールが同じ IP アドレス グループ オブジェクトを参照している場合は、3 つのすべてのルールを変更しなくても、オブジェクトに IP アドレスを追加すれば済みます。
PBACL を使用しても、インターフェイスに ACL を適用する際にその ACL が必要とするリソースは減りません。PBACL の適用時、またはすでに適用されている PBACL のアップデート時には、デバイスはオブジェクト グループを参照する各ルールを展開し、グループ内の各オブジェクトと ACL エントリが 1 対 1 になるようにします。あるルールに、送信元と宛先が両方ともオブジェクト グループとして指定されている場合、この PBACL を適用する際に I/O モジュールに作成される ACL エントリの数は、送信元グループ内のオブジェクト数に宛先グループ内のオブジェクト数をかけた値になります。
ポート、ルータ、Policy-Based Routing(PBR)、 VLAN ACL には、次のオブジェクト グループ タイプが適用されます。
- IPv4 アドレス オブジェクト グループ
-
IPv4 ACL ルールで送信元または宛先アドレスの指定に使用できます。permit コマンドまたは deny コマンドを使用してルールを設定する際に、addrgroup キーワードを使用すると、送信元または宛先のオブジェクト グループを指定できます。
- IPv6 アドレス オブジェクト グループ
-
IPv6 ACL ルールで送信元または宛先アドレスの指定に使用できます。permit コマンドまたは deny コマンドを使用してルールを設定する際に、addrgroup キーワードを使用すると、送信元または宛先のオブジェクト グループを指定できます。
- プロトコル ポート オブジェクト グループ
-
IPv4 および IPv6 の TCP および UDP ルールで送信元または宛先のポートの指定に使用できます。permit または deny コマンドを使用してルールを設定する際に、portgroup キーワードを使用すると、送信元または宛先のオブジェクト グループを指定できます。
Note |
ポリシーベースルーティング(PBR)ACLは、ルールを設定するためのdenyアクセスコントロールエントリ(ACE)またはdenyコマンドをサポートしていません。 |
カーネル スタック ACL
カーネル スタック ACL は、インバンド コンポーネントとアウトバンド コンポーネントを管理するための ACL を構成するための一般的な CLI インフラストラクチャです。
カーネル スタック ACL は、NX-OS ACL CLI を使用して、管理およびフロント パネル ポート上の管理アプリケーションを保護します。単一の ACL を設定することで、NX-OS 上のすべての管理アプリケーションを保護できる必要があります。
カーネル スタック ACL は、ユーザーの手動介入を修正し、ACL が mgmt0 インターフェイスに適用されるときに iptable エントリを自動的にプログラムするコンポーネントです。
以下は、カーネル スタック ACL を構成する例です。
swtich# conf t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# ip access-list kacl1
switch(config-acl)# statistics per-entry
switch(config-acl)# 10 deny tcp any any eq 443
switch(config-acl)# 20 permit ip any any
switch(config-acl)# end
switch#
switch(config-if)# interface mgmt0
switch(config-if)# ip access-group acl1 in
switch(config-if)# ipv6 traffic-filter acl6 in
switch(config-if)#
switch# sh ip access-lists kacl1
IP access list kacl1
statistics per-entry
10 deny tcp any any eq 443 [match=136]
20 permit ip any any [match=44952]
switch(config)#
以下は、構成に基づいた iptables エントリのカーネル スタック フィルタリングです。
bash-4.4# ip netns exec management iptables -L -n -v --line-numbers
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 9 576 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
2 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
3 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
bash-4.4#
カーネル スタック ACL サポートの制限は次のとおりです。
-
この機能は、mgmt0 インターフェイスでのみサポートされ、他のインバンド インターフェイスではサポートされません。
-
ACL エントリの 5 つのタプル(protocol、source-ip、destination-ip、source-port、および destination-port)は、iptables にプログラムされています。ACL エントリで提供される残りのオプションは iptables でプログラムされておらず、そのような場合に警告の syslog をスローします。
たとえば、「警告: 一部の ACL オプションは kstack ではサポートされていません。部分的なルールのみがインストールされます。」
-
デバイス ユーザーがホスト bash アクセス権を持っている場合、ユーザーは手動で iptables を更新できます。この更新により、プログラムされている iptable ルールが破損する可能性があります。
-
検証される ACE の最大数は、IPv4 トラフィックの場合は 100、IPv6 トラフィックの場合は加えてさらに 100 です。このスケール以上を適用すると、スループットに影響を与える可能性があります。
統計情報と ACL
このデバイスは IPv4、IPv6、および MAC の ACL に設定した各ルールのグローバル統計を保持できます。1 つの ACL が複数のインターフェイスに適用される場合、ルール統計には、その ACL が適用されるすべてのインターフェイスと一致する(ヒットする)パケットの合計数が維持されます。
Note |
インターフェイスレベルの ACL 統計はサポートされていません。 |
設定する ACL ごとに、その ACL の統計情報をデバイスが維持するかどうかを指定できます。これにより、ACL によるトラフィック フィルタリングが必要かどうかに応じて ACL 統計のオン、オフを指定できます。また、ACL 設定のトラブルシューティングにも役立ちます。
デバイスには ACL の暗黙ルールの統計情報は維持されません。たとえば、すべての IPv4 ACL の末尾にある暗黙の deny ip any any ルールと一致するパケットのカウントはデバイスに維持されません。暗黙ルールの統計情報を維持する場合は、暗黙ルールと同じルールを指定した ACL を明示的に設定する必要があります。
Atomic ACL のアップデート
デフォルトでは、Cisco Nexus 9000 シリーズのデバイスのスーパーバイザ モジュールで、ACL の変更を I/O モジュールにアップデートする際には、Atomic ACL のアップデートを実行します。Atomic アップデートでは、アップデートされる ACL が適用されるトラフィックを中断させることがありません。しかし、Atomic アップデートでは、ACL のアップデートを受け取る I/O モジュールに、関係する ACL の既存のすべてのエントリに加えて、アップデートされた ACL エントリを保存するのに十分なリソースがあることが必要です。アップデートが行われた後、アップデートに使用されたリソースは開放されます。I/O モジュールに十分なリソースがない場合は、デバイスからエラー メッセージが出力され、この I/O モジュールに対する ACL のアップデートは失敗します。
I/O モジュールに Atomic アップデートに必要なリソースがない場合は、no hardware access-list update atomic コマンドを使用して Atomic アップデートをディセーブルにすることができますが、デバイスで既存の ACL を削除して、アップデートされた ACL を適用するには、多少の時間がかかります。ACL が適用されるトラフィックは、デフォルトでドロップされます。
ACL が適用されるすべてのトラフィックを許可し、同時に非 Atomic アップデートを受信するようにするには、hardware access-list update default-result permit コマンドを使用してください。
次の例では、ACL に対する Atomic アップデートをディセーブルにする方法を示します。
switch# config t
switch(config)# no hardware access-list update atomic
次の例では、非 Atomic ACL アップデートの際に、関連するトラフィックを許可する方法を示します。
switch# config t
switch(config)# hardware access-list update default-result permit
次の例では、Atomic アップデート方式に戻る方法を示します。
switch# config t
switch(config)# no hardware access-list update default-result permit
switch(config)# hardware access-list update atomic
IP ACL に対する Session Manager のサポート
Session Manager は IP ACL および MAC ACL の設定をサポートしています。この機能を使用すると、ACL の設定を調べて、その設定に必要とされるリソースが利用可能であるかどうかを、リソースを実行コンフィギュレーションにコミットする前に確認できます。
ACL TCAM リージョン
ハードウェアの ACL Ternary Content Addressable Memory(TCAM)リージョンのサイズを変更できます。
Cisco Nexus 9300 および 9500 シリーズ スイッチと Cisco Nexus 3164Q、31128PQ、3232C、および 3264Q スイッチでは、出力 TCAM サイズは 1K で、4 つの 256 エントリに分割されます。Cisco Nexus NFE2 対応デバイス(Cisco Nexus 3232C および 3264Q スイッチなど)では、入力 TCAM サイズは 6K で、12 個の 512 スライスに分割されます。3 つのスライスが 1 つのグループに含まれます。他の Cisco Nexus 9300 および 9500 シリーズ スイッチ、3164Q および 31128PQ スイッチでは、入力 TCAM サイズは 4K で、8 つの 256 スライスと 4 つの 512 スライスに分割されます。スライスは割り当ての単位です。1 つのスライスを割り当てることができるのは 1 つのリージョンだけです。たとえば、サイズが 512 のスライスを使用して、サイズがそれぞれ 256 の 2 つの機能を設定することはできません。同様に、256 サイズのスライスを使用して、サイズがそれぞれ 128 の 2 つの機能を設定することはできません。IPv4 TCAM リージョンはシングル幅です。IPv6、QoS、MAC、CoPP、およびシステム TCAM リージョンはダブル幅で、物理 TCAM エントリを 2 倍消費します。たとえば、サイズ 256 の論理リージョン エントリが実際に消費する物理 TCAM エントリは 512 です。
IPv6、ポート ACL、VLAN ACL、およびルータ ACLを作成でき、QoS の IPv6 と MAC アドレスを照合できます。ただし、Cisco NX-OS ではすべてを同時にサポートすることはできません。Ipv6、MAC、およびその他希望の TCAM リージョンを有効にするには、既存の TCAM リージョン(TCAM カービング)のサイズを削除または削減する必要があります。すべての TCAM リージョンの設定コマンドでは、新たな変更を TCAM に組み込むことができるかを評価します。できない場合は、エラーを報告し、コマンドは拒否されます。既存の TCAM リージョンのサイズを削除または削減して、新しい要件のためのスペースを確保する必要があります。
Cisco Nexus 9200 シリーズ スイッチでは、出力 TCAM サイズは 2K、入力 TCAM サイズは 4K です。TCAM スライスおよびシングル幅とダブル幅の領域の概念は、これらのスイッチには適用されません。たとえば、ing-ifacl リージョンは、IPv4、IPv6、または MAC タイプのエントリをホストできます。IPv4 および MAC タイプは 1 つの TCAM エントリを占有し、IPv6 タイプは 2 つの TCAM エントリを占有します。
N9K-X9636C-RX では、PACL が外部 TCAM リージョンを使用する場合、内部 TCAM は ifacl に 2K を使用する必要があり、入力 RACL-IPv4 は最大 2044 を使用できます。出力 PACL 外部 TCAM リージョンを使用する場合は、追加の 4 つのエントリが必要です。
ACL TCAM リージョン サイズには、次の注意事項と制約事項があります。
-
Cisco Nexus 9500 シリーズ スイッチでは、Cisco NX-OS リリース 6.1(2)I1(1) において、デフォルトの入力 TCAM リージョン設定に、1 つのフリーの 256 エントリのスライスがあります。このスライスは、Cisco NX-OS リリース 6.1(2)I2(1) において、SPAN のリージョンに割り当てられます。同様に、RACL リージョンは Cisco NX-OS リリース 6.1(2)I2(1) において 2000 から 1500 に削減され、512 エントリの vPC コンバージェンス領域用スペースを確保します。
-
既存の TCAM リージョンで RACL または PACL をイネーブル化するには、12,288 を超える TCAM リージョンを分割する必要があります。
-
Cisco Nexus 9300 シリーズ スイッチでは、X9536PQ、X9564PX、および X9564TX ライン カードを使用して、40G ポートに適用される QoS 分類ポリシーを適用します。ここでは、256 エントリの粒度でのカービングに使用できる 768 の TCAM エントリが利用可能です。これらのリージョン名にはプレフィックス「ns-」が付けられます。
-
X9536PQ、X9564PX、および X9564TX ライン カードの場合、IPv6 TCAM リージョンのみが倍幅のエントリを消費します。他の TCAM リージョンは、シングル幅のエントリを消費します。
-
VACL リージョンを設定する場合は、入力および出力方向の両方で同じサイズが設定されます。リージョン サイズがいずれかの方向に対応できない設定は拒否されます。
-
Cisco Nexus 9200 シリーズスイッチでは、ing-sup 領域の最小サイズは 512 エントリで、egr-sup リージョンの最小サイズは 256 エントリです。これらのリージョンを小さい値に設定することはできません。任意のリージョンサイズを、256の倍数のエントリの値だけで切り分けることができます(ただし、spanリージョンは512の倍数のエントリで切り分けることができます)。
-
RACL v6、CoPP、およびマルチキャストの TCAM サイズはデフォルト値です。以下の Cisco Nexus 9504 および Cisco Nexus 9508 ラインカードでは、リロード中にライン カード障害が発生しないように、これらの TCAM サイズをゼロ以外にする必要があります。
-
N9K-X96136YC-R
-
N9K-X9636C-RX
-
N9K-X9636Q-R
-
N9K-X9636C-R
-
-
出力 RACL が 4K を超える場合、TCAM カービング設定では、入力 RACL(RACL)+ 出力 RACL(e-racl)の合計を 20480 にする必要があります。次の TCAM カービングの例を参照してください。 hardware access-list tcam region ifacl 0 hardware access-list tcam region ipv6-ifacl 0 hardware access-list tcam region mac-ifacl 0 hardware access-list tcam region racl 0 hardware access-list tcam region ipv6-racl 0 hardware access-list tcam region span 0 hardware access-list tcam region redirect_v4 0 hardware access-list tcam region redirect_v6 0 hardware access-list tcam region e-racl 20480
-
IPv6 RACL は IPv6 IFCALで部分的に使用できます。これは、N9K-X96136YC-R、N9K-X9636C-R、N9K-X9636Q-R、およびN9K-X9636C-RX ライン カードを搭載した Cisco Nexus N9K-C9508 および N9K-C9504 に適用されます。
-
N9K-X9636C-R および N9K-X9636Q-R ライン カードは、最大 12K の TCAM リージョン サイズをサポートします。より大きな数を設定しても、TCAM リージョンは 12K に設定されます。
-
N9K-X96136YC-R および N9K-X9636C-R ライン カードは、2K の出力 RACL をサポートします。
-
N9K-X9636C-RX ライン カードは、12K を超える TCAM リージョン サイズをサポートします。RACL IPv4 TCAM リージョンを 100K に設定したときの TCAMリージョンのサイズは、N9K-X9636C-R および N9K-X9636Q-R ライン カードの場合は 12K に、N9K-X9636C-RX ライン カードの場合は 100K に設定されます(他のすべての TCAM リージョンは設定されており、N9K-X9636C-R および N9K-X9636Q-R ライン カード用に 12K に対応するだけのスペースがあることを条件とします)。
-
N9K-X9636C-RX ライン カードでは、内部 TCAM に加えて、128K の外部 TCAM を使用できます。
次の表に、特定の機能を動作させるために設定する必要があるリージョンをまとめます。リージョン サイズは、特定の機能のスケール要件に基づいて選択する必要があります。
機能名 |
リージョン名 |
||||
---|---|---|---|---|---|
ポート ACL |
ifacl:IPv4ポートACL用 ifacl-udf:IPv4ポート ACL の UDF 用(Cisco Nexus 3232C および 3264Q スイッチのみ) ing-ifacl:入力 IPv4、IPv6、および MAC ポート ACL 用(Cisco Nexus 9200、9300、および 9300-EX シリーズ スイッチのみ) ing-ifacl:入力 IPv4、IPv6、MAC ポート ACL、および MAC ポート ACL の UDF 用(Cisco Nexus 9200、9300、および 9300-EX シリーズ スイッチのみ) ipv6-ifacl:IPv6 ポート ACL 用 mac-ifacl:MAC ポート ACL 用 |
||||
ポート QoS(レイヤ 2 ポートまたはポート チャネルに適用される QoS 分類ポリシー) |
qos、qos-lite、rp-qos、rp-qos-lite、ns-qos、e-qos、または e-qos-lite:IPv4 パケット分類用 ing-l2-qos:入力レイヤ 2 パケットの分類用(Cisco Nexus 9200 シリーズ スイッチのみ) ipv6-qos、rp-ipv6-qos、ns-ipv6-qos、または e-ipv6-qos:IPv6 パケット分類用 mac-qos、rp-mac-qos、ns-mac-qos、または e-mac-qos:非 IP パケット分類用
|
||||
VACL |
vacl:IPv4 パケット用 ipv6-vacl:IPv6 パケット用 Mac-vacl:非 IP パケット用 |
||||
VLAN QoS(VLAN に適用される QoS 分類ポリシー) |
vqos または ns-vqos:IPv4 パケットの分類用 ipv6-vqos または ns-ipv6-vqos:IPv6 パケットの分類用 ing-l3-vlan-qos:入力レイヤ 3、VLAN、および SVI QoS パケットの分類用(Cisco Nexus 9200 シリーズ スイッチのみ) mac-vqos or ns-mac-vqos:非 IP パケットの分類用
|
||||
RACL |
egr-racl:出力 IPv4 および IPv6 RACL 用(Cisco Nexus 9200 シリーズ スイッチのみ) e-racl:出力 IPv4 RACL 用 e-ipv6-racl:出力 IPv6 RACL 用 igr-racl:入力 IPv4 および IPv6 RACL 用 racl:IPv4 RACL の場合 racl-lite:IPv4 RACL用(Cisco Nexus 3232C および 3264Q スイッチのみ) racl-udf:IPv4 RACL 上の UDF用(Cisco Nexus 3232C および 3264Q スイッチのみ) ipv6-racl:IPv6 RACL の場合 |
||||
レイヤ 3 QoS(レイヤ 3 ポートまたはポート チャネルに適用される QoS 分類ポリシー) |
L3qos、l3qos-lite、または ns-l3qos:IPv4 パケットの分類用 Ipv6-l3qos または ns-ipv6-l3qos:IPv6 パケットの分類用
|
||||
VLAN 送信元または VLAN フィルタ SPAN(Cisco Nexus 9500 または 9300 シリーズ スイッチ用) 40G ポートの Rx SPAN(Cisco Nexus 9300 シリーズ スイッチのみ) |
span |
||||
SPAN フィルタ |
Ifacl:レイヤ 2(スイッチ ポート)送信元インターフェイスでの IPv4 トラフィックのフィルタリング用。 ifacl-udf:IPv4 ポート ACL の UDF 用(Cisco Nexus 3232C および 3264Q スイッチのみ) Ipv6-ifacl:レイヤ 2(スイッチ ポート)送信元インターフェイスでの IPv6 トラフィックのフィルタリング用。 Mac-ifacl:レイヤ 2(スイッチ ポート)送信元インターフェイスでのレイヤ 2 トラフィックのフィルタリング用。 racl-udf:IPv4 RACL 上の UDF 用(Cisco Nexus 3232C および 3264Q スイッチのみ) vacl:VLAN 送信元の IPv4 トラフィックをフィルタリングします。 ipv6-vacl:VLAN 送信元の IPv6 トラフィックをフィルタリングします。 mac-vacl:VLAN 送信元のレイヤ 2 トラフィックをフィルタリングします。 Racl:レイヤ 3 インターフェイスでの IPv4 トラフィックのフィルタリング用。 Ipv6-racl:レイヤ 3 インターフェイスでの IPv6 トラフィックのフィルタリング用。 ing-l2-span-filter:入力レイヤ 2 SPAN トラフィックのフィルタリング用(Cisco Nexus 9200 シリーズ および 9300-EX シリーズ スイッチのみ) ing-l3-span-filter:入力レイヤ 3 および VLAN SPAN トラフィックのフィルタリング用(Cisco Nexus 9200 および 9300-EX シリーズ スイッチのみ) |
||||
SVI カウンタ
|
svi |
||||
BFD、DHCP リレー、または DHCPv6 リレー |
redirect
|
||||
CoPP |
copp
|
||||
システム管理ACL |
system
|
||||
vPC コンバージェンス
|
vPC コンバージェンス
|
||||
ファブリック エクステンダ(FEX) |
fex-ifacl、fex-ipv6-ifacl、fex-ipv6-qos、fex-mac-ifacl、fex-mac-qos、fex-qos、fex-qos-lite |
||||
ダイナミック ARP インスペクション(DAI) |
arp-ether |
||||
IP ソース ガード(IPSG) |
ipsg |
||||
マルチキャスト PIM Bidir |
mcast_bidir(Broadcom ベースの Cisco Nexus 9000 シリーズ スイッチのみ) |
||||
スタティック MPLS |
mpls |
||||
ネットワーク アドレス変換(NAT) |
nat |
||||
NetFlow |
ing-netflow |
||||
OpenFlow |
OpenFlow |
||||
sFlow |
sflow |
||||
スーパーバイザ モジュール |
egr-sup:出力スーパーバイザ(Cisco Nexus 9200 シリーズ スイッチのみ) ing-sup:入力スーパーバイザ |
ACL タイプでサポートされる最大ラベル サイズ
Cisco NX-OS スイッチは、対応する ACL タイプに対して次のラベル サイズをサポートします。
ACL タイプ |
方向(Direction) |
ラベル(Label) |
ラベル タイプ |
---|---|---|---|
RACL/PBR/VACL/ L3-VLAN QoS/L3-VLAN SPAN ACL |
受信側 |
62 |
BD |
PACL/L2 QoS/L2 SPAN ACL |
受信側 |
|
IF |
RACL/VACL/L3-VLAN QoS |
送信側 |
254 |
BD |
L2 QoS |
送信側 |
31 |
IF |
RACL |
入力 |
510 |
L3 |
hardware access-list tcam label ing-ifacl 6 コマンドを入力してスイッチをリロードすると、ラベル サイズを 62 に増やすことができます。Cisco NX-OS リリース 9.3(6)以降では、hardware access-list tcam label ing-ifacl 6 コマンドが導入され、Cisco Nexus 9300-FX プラットフォーム スイッチにのみ適用されます。